{"version":3,"sources":["config.tsx","SearchResults.tsx","App.tsx","DisplayPackage/Dependencies.tsx","DisplayPackage/InstallationInfo.tsx","DisplayPackage/Dependents.tsx","DisplayPackage/LicenseInfo.tsx","DisplayPackage/SourceRepository.tsx","DisplayPackage/Button.tsx","DisplayPackage/Versions.tsx","DisplayPackage/DisplayPackage.tsx","Upload.tsx","index.tsx","default-package-icon-256x256.png"],"names":["config","apiUrl","startsWith","endsWith","slice","SearchResults","props","resultsController","loadDefaultIcon","e","currentTarget","src","DefaultPackageIcon","onChangePackageType","option","_loadItems","input","state","includePrerelease","key","toString","targetFramework","onChangeFramework","packageType","onChangePrerelease","items","this","abort","className","Dropdown","defaultSelectedKey","dropdownWidth","onChange","options","text","itemType","SelectableOptionMenuItemType","Divider","Header","Checkbox","defaultChecked","label","boxSide","map","value","id","iconUrl","onError","alt","Link","to","authors","Icon","iconName","totalDownloads","toLocaleString","version","tags","length","join","description","query","AbortController","setState","url","buildUrl","fetch","signal","then","response","ok","json","resultsJson","results","data","catch","code","DOMException","ABORT_ERR","console","log","parameters","semVerLevel","q","prerelease","framework","queryString","Object","keys","k","encodeURIComponent","React","App","onRouteChange","location","action","renderSearch","handleChange","target","history","listen","_renderNavigationBar","_renderContent","role","NavLink","exact","type","autoComplete","placeholder","Route","path","render","children","withRouter","Dependencies","dependencyGroups","forEach","prettifyDependencyGroup","group","dependencies","prettifyTargetFramework","undefined","prettifyDepency","netFrameworkRegex","test","substring","prettyVersion","netCoreRegex","netStandardRegex","dependency","versionRangeRegex","range","semVerRegex","RegExp","PackageType","Tab","PackageDependencies","Dependents","controller","totalHits","packageId","dependent","InstallationInfo","handleSelect","selected","buildState","copyCommand","CopyText","content","Dependency","Dotnet","DotnetTool","DotnetTemplate","onSelect","PackageReference","Paket","PackageManager","prefix","onClick","data-tottle","data-placement","data-content","tab","InstallationInfoTab","title","href","LicenseInfo","SourceRepository","aria-hidden","Button","clickHandler","bind","Component","Versions","renderVersion","packageVersion","downloads","dateToString","date","iSCanDelete","msg","removeVersion","renderShowAllOrLessButton","versions","defaultVisible","showAll","showFewerVersions","showAllVersions","versionsToRender","reverse","getMonth","getDate","getFullYear","DisplayPackage","registrationController","readmeController","match","params","toLowerCase","coerce","initialState","previous","componentDidMount","a","prevState","loading","latestVersion","canDelete","entry","catalogEntry","listed","normalizedVersion","normalizeVersion","coercedVersion","isCurrent","eq","push","Date","published","currentItem","lastUpdate","isDotnetTool","packageTypes","indexOf","isDotnetTemplate","package","downloadUrl","packageContent","readme","hasReadme","readmeUrl","result","isCanDelete","method","window","reload","removePkg","expanded","source","releaseNotes","timeago","format","projectUrl","repositoryUrl","repositoryType","licenseUrl","buildMetadataStart","index","entryVersion","gt","ExpandableSection","collapse","expand","Upload","baseUrl","serviceIndexUrl","publishUrl","pathEnd","DotNet","NuGet","PowerShellGet","rel","documentationUrl","name","UploadTab","initializeIcons","ReactDOM","component","document","getElementById","module","exports"],"mappings":"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","file":"static/js/main.6d9c586c.chunk.js","sourcesContent":["let config = {\r\n apiUrl: \"__BAGET_PLACEHOLDER_API_URL__\"\r\n};\r\n\r\nif (config.apiUrl.startsWith(\"__BAGET_PLACEHOLDER_\")) {\r\n config.apiUrl = \"\";\r\n}\r\n\r\nif (config.apiUrl.endsWith('/')) {\r\n config.apiUrl = config.apiUrl.slice(0, -1);\r\n}\r\n\r\nexport { config };\r\n","import { config } from './config';\r\nimport { Icon } from 'office-ui-fabric-react/lib/Icon';\r\nimport { Checkbox, Dropdown, IDropdownOption, SelectableOptionMenuItemType } from 'office-ui-fabric-react/lib/index';\r\nimport * as React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport './SearchResults.css';\r\nimport DefaultPackageIcon from \"./default-package-icon-256x256.png\";\r\n\r\ninterface ISearchResultsProps {\r\n input: string;\r\n}\r\n\r\ninterface IPackage {\r\n id: string;\r\n authors: string;\r\n totalDownloads: number;\r\n version: string;\r\n tags: string[];\r\n description: string;\r\n iconUrl: string;\r\n}\r\n\r\ninterface ISearchResultsState {\r\n includePrerelease: boolean;\r\n packageType: string;\r\n targetFramework: string;\r\n items: IPackage[];\r\n}\r\n\r\ninterface ISearchResponse {\r\n data: IPackage[];\r\n}\r\n\r\nclass SearchResults extends React.Component {\r\n\r\n private resultsController?: AbortController;\r\n\r\n constructor(props: ISearchResultsProps) {\r\n super(props);\r\n\r\n this.state = {\r\n includePrerelease: true,\r\n items: [],\r\n packageType: 'any',\r\n targetFramework: 'any'\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n this._loadItems(\r\n this.props.input,\r\n this.state.includePrerelease,\r\n this.state.packageType,\r\n this.state.targetFramework);\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (this.resultsController) {\r\n this.resultsController.abort();\r\n }\r\n }\r\n\r\n public componentWillReceiveProps(props: Readonly) {\r\n if (props.input === this.props.input) {\r\n return;\r\n }\r\n\r\n this._loadItems(\r\n props.input,\r\n this.state.includePrerelease,\r\n this.state.packageType,\r\n this.state.targetFramework);\r\n }\r\n\r\n public render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {this.state.items.map(value => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {value.id}\r\n by: {value.authors}\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n {value.totalDownloads.toLocaleString()} total downloads\r\n \r\n
  • \r\n
  • \r\n \r\n \r\n Latest version: {value.version}\r\n \r\n
  • \r\n {value.tags.length > 0 &&\r\n
  • \r\n \r\n \r\n {value.tags.join(' ')}\r\n \r\n
  • \r\n }\r\n
\r\n
\r\n {value.description}\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n\r\n private _loadItems(query: string, includePrerelease: boolean, packageType: string, targetFramework: string): void {\r\n if (this.resultsController) {\r\n this.resultsController.abort();\r\n }\r\n\r\n this.resultsController = new AbortController();\r\n\r\n this.setState({\r\n includePrerelease,\r\n items: [],\r\n packageType,\r\n targetFramework,\r\n });\r\n\r\n const url = this.buildUrl(query, includePrerelease, packageType, targetFramework);\r\n\r\n fetch(url, {signal: this.resultsController.signal}).then(response => {\r\n return response.ok\r\n ? response.json()\r\n : null;\r\n }).then(resultsJson => {\r\n if (!resultsJson) {\r\n return;\r\n }\r\n\r\n const results = resultsJson as ISearchResponse;\r\n\r\n this.setState({\r\n includePrerelease,\r\n items: results.data,\r\n targetFramework,\r\n });\r\n })\r\n .catch((e) => {\r\n var ex = e as DOMException;\r\n if (!ex || ex.code !== DOMException.ABORT_ERR) {\r\n console.log(\"Unexpected error on search\", e);\r\n }\r\n });\r\n }\r\n\r\n private buildUrl(query: string, includePrerelease: boolean, packageType?: string, targetFramework?: string) {\r\n const parameters: { [parameter: string]: string } = {\r\n semVerLevel: \"2.0.0\"\r\n };\r\n\r\n if (query && query.length !== 0) {\r\n parameters.q = query;\r\n }\r\n\r\n if (includePrerelease) {\r\n parameters.prerelease = 'true';\r\n }\r\n\r\n if (packageType && packageType !== 'any') {\r\n parameters.packageType = packageType;\r\n }\r\n\r\n if (targetFramework && targetFramework !== 'any') {\r\n parameters.framework = targetFramework;\r\n }\r\n\r\n const queryString = Object.keys(parameters)\r\n .map(k => `${k}=${encodeURIComponent(parameters[k])}`)\r\n .join('&');\r\n\r\n return `${config.apiUrl}/v3/search?${queryString}`;\r\n }\r\n\r\n private loadDefaultIcon = (e: React.SyntheticEvent) => {\r\n e.currentTarget.src = DefaultPackageIcon;\r\n }\r\n\r\n private onChangePackageType = (e: React.FormEvent, option?: IDropdownOption) : void => {\r\n this._loadItems(\r\n this.props.input,\r\n this.state.includePrerelease,\r\n (option) ? option.key.toString() : 'any',\r\n this.state.targetFramework);\r\n }\r\n\r\n private onChangeFramework = (e: React.FormEvent, option?: IDropdownOption) : void => {\r\n this._loadItems(\r\n this.props.input,\r\n this.state.includePrerelease,\r\n this.state.packageType,\r\n option!.key.toString());\r\n }\r\n\r\n private onChangePrerelease = () : void => {\r\n this._loadItems(\r\n this.props.input,\r\n !this.state.includePrerelease,\r\n this.state.packageType,\r\n this.state.targetFramework);\r\n }\r\n}\r\n\r\nexport default SearchResults;\r\n","import * as React from 'react';\r\n\r\nimport { Action, Location } from 'history';\r\nimport { withRouter } from 'react-router';\r\nimport { NavLink, Route, RouteComponentProps } from 'react-router-dom';\r\n\r\nimport SearchResults from './SearchResults';\r\n\r\nimport './App.css';\r\n\r\ninterface IAppState {\r\n input: string;\r\n}\r\n\r\nclass App extends React.Component {\r\n\r\n constructor(props: RouteComponentProps) {\r\n super(props);\r\n\r\n this.state = { input: \"\" };\r\n\r\n this.props.history.listen(this.onRouteChange);\r\n }\r\n\r\n public render() {\r\n return (\r\n
\r\n {this._renderNavigationBar()}\r\n\r\n {this._renderContent()}\r\n
\r\n );\r\n }\r\n\r\n private onRouteChange = (location: Location, action: Action) =>\r\n this.setState({ input: \"\" });\r\n\r\n private _renderNavigationBar() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderContent() {\r\n if (this.state.input.length === 0) {\r\n return (\r\n
\r\n \r\n\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n else\r\n {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n }\r\n\r\n private renderSearch = (props: RouteComponentProps) => (\r\n \r\n );\r\n\r\n private handleChange = (input: React.ChangeEvent) =>\r\n this.setState({ input: input.target.value });\r\n}\r\n\r\nexport default withRouter(App);\r\n","import { Link } from 'react-router-dom';\r\nimport * as React from 'react';\r\nimport * as Registration from './Registration';\r\n\r\nimport './Dependencies.css';\r\n\r\ninterface IDependenciesProps {\r\n dependencyGroups: Registration.IDependencyGroup[];\r\n}\r\n\r\ninterface IPackageDependenciesProps {\r\n dependencies: Registration.IDependency[] | undefined;\r\n}\r\n\r\nclass Dependencies extends React.Component {\r\n\r\n static readonly netFrameworkRegex = /^net[0-9]{2,3}$/;\r\n static readonly netCoreRegex = /^netcoreapp[0-9].[0-9]$/;\r\n static readonly netStandardRegex = /^netstandard[0-9].[0-9]$/;\r\n static readonly semVerRegex = '(0|[1-9]\\\\d*)\\\\.(0|[1-9]\\\\d*)\\\\.(0|[1-9]\\\\d*)(?:-((?:0|[1-9]\\\\d*|\\\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\\\.(?:0|[1-9]\\\\d*|\\\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\\\+([0-9a-zA-Z-]+(?:\\\\.[0-9a-zA-Z-]+)*))?';\r\n\r\n static readonly versionRangeRegex : RegExp = new RegExp(`^\\\\[${Dependencies.semVerRegex}, \\\\)$`);\r\n\r\n constructor(props: IDependenciesProps) {\r\n super(props);\r\n\r\n props.dependencyGroups.forEach(Dependencies.prettifyDependencyGroup);\r\n }\r\n\r\n private static prettifyDependencyGroup(group: Registration.IDependencyGroup) {\r\n if (!group.dependencies) {\r\n group.dependencies = [];\r\n }\r\n\r\n Dependencies.prettifyTargetFramework(group);\r\n\r\n if (group.dependencies !== undefined) {\r\n group.dependencies.forEach(Dependencies.prettifyDepency);\r\n }\r\n }\r\n\r\n private static prettifyTargetFramework(group: Registration.IDependencyGroup) {\r\n // This uses heuristics and may produce incorrect results.\r\n // This ignores portable class libraries.\r\n if (Dependencies.netFrameworkRegex.test(group.targetFramework)) {\r\n const version = group.targetFramework.substring(\"net\".length);\r\n const prettyVersion = version.length === 2\r\n ? `${version[0]}.${version[1]}`\r\n : `${version[0]}.${version[1]}.${version[2]}`;\r\n\r\n group.targetFramework = `.NET Framework ${prettyVersion}`;\r\n return;\r\n }\r\n\r\n if (Dependencies.netCoreRegex.test(group.targetFramework)) {\r\n const version = group.targetFramework.substring(\"netcoreapp\".length);\r\n group.targetFramework = `.NET Core ${version}`;\r\n return;\r\n }\r\n\r\n if (Dependencies.netStandardRegex.test(group.targetFramework)) {\r\n const version = group.targetFramework.substring(\"netstandard\".length);\r\n group.targetFramework = `.NET Standard ${version}`;\r\n return;\r\n }\r\n }\r\n\r\n private static prettifyDepency(dependency: Registration.IDependency) {\r\n // This uses heuristics and may produce incorrect results.\r\n if (Dependencies.versionRangeRegex.test(dependency.range)) {\r\n dependency.range = `(>= ${dependency.range.slice(1, -3)})`;\r\n }\r\n }\r\n\r\n public render() {\r\n if (this.props.dependencyGroups.length === 0) {\r\n return (\r\n
This package has no dependencies.
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n {this.props.dependencyGroups.map(group => (\r\n
\r\n

\r\n {group.targetFramework}\r\n

\r\n\r\n \r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n\r\n// tslint:disable-next-line:max-classes-per-file\r\nclass PackageDependencies extends React.Component {\r\n\r\n public render() {\r\n if (!this.props.dependencies || this.props.dependencies.length === 0) {\r\n return
No dependencies.
\r\n }\r\n\r\n return (\r\n
    \r\n {this.props.dependencies.map(dependency => (\r\n
  • \r\n {dependency.id}\r\n\r\n {dependency.range}\r\n
  • \r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Dependencies;\r\n","import { Icon } from 'office-ui-fabric-react/lib/Icon';\r\nimport * as React from 'react';\r\nimport CopyText from 'copy-text-to-clipboard';\r\n\r\nimport './InstallationInfo.css';\r\n\r\nexport enum PackageType {\r\n Dependency,\r\n DotnetTool,\r\n DotnetTemplate\r\n}\r\n\r\ninterface IInstallationInfoProps {\r\n id: string;\r\n version: string;\r\n packageType: PackageType;\r\n}\r\n\r\ninterface IInstallationInfoState {\r\n selected: Tab;\r\n prefix: string;\r\n content: string;\r\n}\r\n\r\nenum Tab {\r\n Dotnet,\r\n DotnetTool,\r\n DotnetTemplate,\r\n PackageReference,\r\n Paket,\r\n PackageManager,\r\n}\r\n\r\nexport class InstallationInfo extends React.Component {\r\n\r\n constructor(props: IInstallationInfoProps) {\r\n super(props);\r\n\r\n switch (props.packageType) {\r\n case PackageType.Dependency:\r\n this.state = this.buildState(Tab.Dotnet);\r\n break;\r\n\r\n case PackageType.DotnetTool:\r\n this.state = this.buildState(Tab.DotnetTool);\r\n break;\r\n\r\n case PackageType.DotnetTemplate:\r\n this.state = this.buildState(Tab.DotnetTemplate);\r\n break;\r\n }\r\n }\r\n\r\n public render() {\r\n return (\r\n
\r\n
    \r\n {(() =>\r\n {\r\n switch (this.props.packageType) {\r\n case PackageType.Dependency:\r\n return (\r\n
      \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n case PackageType.DotnetTool:\r\n return (\r\n
      \r\n \r\n
    \r\n );\r\n\r\n case PackageType.DotnetTemplate:\r\n return (\r\n
      \r\n \r\n
    \r\n );\r\n }\r\n })()}\r\n
\r\n\r\n
\r\n
\r\n {this.state.prefix} {this.state.content}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private handleSelect = (selected: Tab) =>\r\n this.setState(this.buildState(selected));\r\n\r\n private copyCommand = () =>\r\n CopyText(this.state.content);\r\n\r\n private buildState(tab: Tab): IInstallationInfoState {\r\n let content: string;\r\n let prefix: string;\r\n\r\n switch (tab) {\r\n case Tab.Dotnet:\r\n content = `dotnet add package ${this.props.id} --version ${this.props.version}`;\r\n prefix = \">\";\r\n break;\r\n\r\n case Tab.DotnetTool:\r\n content = `dotnet tool install --global ${this.props.id} --version ${this.props.version}`;\r\n prefix = \">\";\r\n break;\r\n\r\n case Tab.DotnetTemplate:\r\n content = `dotnet new --install ${this.props.id}::${this.props.version}`;\r\n prefix = \">\";\r\n break;\r\n\r\n case Tab.PackageReference:\r\n content = ``;\r\n prefix = \"\";\r\n break;\r\n\r\n case Tab.Paket:\r\n content = `paket add ${this.props.id} --version ${this.props.version}`;\r\n prefix = \">\";\r\n break;\r\n\r\n default:\r\n case Tab.PackageManager:\r\n content = `Install-Package ${this.props.id} -Version ${this.props.version}`;\r\n prefix = \"PM>\";\r\n break;\r\n }\r\n\r\n return {\r\n content,\r\n prefix,\r\n selected: tab,\r\n };\r\n }\r\n}\r\n\r\ninterface IInstallationInfoTabProps {\r\n type: Tab;\r\n selected: Tab;\r\n onSelect(value: Tab): void;\r\n}\r\n\r\n// tslint:disable-next-line:max-classes-per-file\r\nclass InstallationInfoTab extends React.Component {\r\n\r\n private title: string;\r\n\r\n constructor(props: IInstallationInfoTabProps) {\r\n super(props);\r\n\r\n switch (props.type) {\r\n case Tab.Dotnet: this.title = \".NET CLI\"; break;\r\n case Tab.DotnetTool: this.title = \".NET CLI\"; break;\r\n case Tab.DotnetTemplate: this.title = \".NET CLI\"; break;\r\n case Tab.PackageReference: this.title = \"PackageReference\"; break;\r\n case Tab.Paket: this.title = \"Paket CLI\"; break;\r\n case Tab.PackageManager: this.title = \"Package Manager\"; break;\r\n default: this.title = \"Unknown\"; break;\r\n }\r\n }\r\n\r\n public render() {\r\n if (this.props.type === this.props.selected) {\r\n // eslint-disable-next-line\r\n return
  • {this.title}
  • \r\n }\r\n\r\n // eslint-disable-next-line\r\n return
  • {this.title}
  • \r\n }\r\n\r\n private onSelect = () => this.props.onSelect(this.props.type);\r\n}\r\n\r\nexport default InstallationInfo;\r\n","import { config } from '../config';\r\nimport * as React from 'react';\r\n\r\ninterface IDependentsProps {\r\n packageId: string;\r\n}\r\n\r\ninterface IDependentsState {\r\n totalHits: number | undefined;\r\n data: string[] | undefined;\r\n}\r\n\r\nclass Dependents extends React.Component {\r\n\r\n private controller: AbortController;\r\n\r\n constructor(props: IDependentsProps) {\r\n super(props);\r\n\r\n this.controller = new AbortController();\r\n\r\n this.state = {\r\n data: undefined,\r\n totalHits: undefined,\r\n };\r\n }\r\n\r\n public componentWillUnmount() {\r\n this.controller.abort();\r\n }\r\n\r\n public componentDidMount() {\r\n const url = `${config.apiUrl}/v3/dependents?packageId=${this.props.packageId}`;\r\n\r\n fetch(url, {signal: this.controller.signal}).then(response => {\r\n return response.json();\r\n }).then(json => {\r\n this.setState(json as IDependentsState);\r\n // tslint:disable-next-line:no-console\r\n }).catch((e) => console.log(\"Failed to load dependents.\", e));\r\n }\r\n\r\n public render() {\r\n if (!this.state.data) {\r\n return (\r\n
    ...
    \r\n );\r\n }\r\n\r\n if (this.state.totalHits === 0) {\r\n return (\r\n
    No packages depend on {this.props.packageId}.
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n

    {this.state.totalHits} {this.state.totalHits === 1 ? 'package depends' : 'packages depend' } on {this.props.packageId}:

    \r\n
    \r\n
      \r\n {this.state.data.map(dependent => (\r\n
    • {dependent}
    • \r\n ))}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Dependents;\r\n","import { Icon } from 'office-ui-fabric-react/lib/Icon';\r\nimport * as React from 'react';\r\n\r\ninterface ILicenseInfoProps {\r\n url: string;\r\n}\r\n\r\nclass LicenseInfo extends React.Component {\r\n\r\n public render() {\r\n if (!this.props.url) {\r\n return null;\r\n }\r\n\r\n return (\r\n
  • \r\n \r\n License\r\n
  • \r\n );\r\n }\r\n}\r\n\r\nexport default LicenseInfo;\r\n","import * as React from 'react';\r\nimport './SourceRepository.css';\r\n\r\ninterface ISourceRepositoryProps {\r\n url: string;\r\n type: string;\r\n}\r\n\r\nclass SourceRepository extends React.Component {\r\n\r\n public render() {\r\n if (!this.props.url) {\r\n return null;\r\n }\r\n\r\n // TODO: Add an icon URL base off the repository type.\r\n return (\r\n
  • \r\n \"GitHub\r\n Source code\r\n
  • \r\n );\r\n }\r\n}\r\n\r\nexport default SourceRepository;\r\n","import React, { MouseEvent } from 'react';\r\nimport './Button.css';\r\n\r\ninterface IButtonProps {\r\n label: string;\r\n id: string;\r\n onClick(msg: string): any;\r\n}\r\n\r\n\r\nclass Button extends React.Component {\r\n\r\n clickHandler (e: MouseEvent)\r\n {\r\n this.props.onClick(this.props.id)\r\n }\r\n\r\n render(): React.ReactNode {\r\n return \r\n }\r\n}\r\n\r\nexport default Button;\r\n","import * as React from 'react';\r\nimport { Icon } from 'office-ui-fabric-react/lib/Icon';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport './Versions.css';\r\nimport Button from \"./Button\";\r\n\r\nexport interface IPackageVersion {\r\n version: string;\r\n downloads: number;\r\n date: Date;\r\n selected: boolean;\r\n}\r\n\r\ninterface IVersionsProps {\r\n packageId: string;\r\n versions: IPackageVersion[];\r\n removeVersion(id:string, version:string): any;\r\n iSCanDelete: Boolean;\r\n}\r\n\r\ninterface IVersionsState {\r\n showAll: boolean;\r\n}\r\n\r\nexport class Versions extends React.Component {\r\n private static readonly defaultVisible = 5;\r\n\r\n constructor(props: IVersionsProps) {\r\n super(props);\r\n\r\n this.state = { showAll: false };\r\n }\r\n\r\n public render() {\r\n // Show the versions from greatest to smallest.\r\n // We clone the versions array to avoid modifying the props.\r\n // This assumes the versions are ordered by semver ascendingly.\r\n let versionsToRender = [...this.props.versions];\r\n versionsToRender.reverse();\r\n if (!this.state.showAll) {\r\n versionsToRender = versionsToRender.slice(0, Versions.defaultVisible);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {versionsToRender.map(this.renderVersion)}\r\n \r\n
    VersionDownloadsLast updated
    \r\n\r\n {this.renderShowAllOrLessButton()}\r\n
    \r\n );\r\n }\r\n\r\n private renderVersion = (packageVersion: IPackageVersion) => {\r\n const className = packageVersion.selected\r\n ? \"bg-info\"\r\n : \"\";\r\n\r\n return (\r\n \r\n {packageVersion.version}\r\n {packageVersion.downloads}\r\n {this.dateToString(packageVersion.date)}\r\n \r\n {!this.props.iSCanDelete ? null : \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n private showAllVersions = () => this.setState({ showAll: true });\r\n private showFewerVersions = () => this.setState({ showAll: false });\r\n\r\n private dateToString(date: Date): string {\r\n return `${date.getMonth()+1}/${date.getDate()}/${date.getFullYear()}`;\r\n }\r\n}\r\n","import { Icon } from 'office-ui-fabric-react/lib/Icon';\r\nimport * as React from 'react';\r\nimport ReactMarkdown from 'react-markdown';\r\nimport timeago from 'timeago.js';\r\nimport { coerce, eq, gt, SemVer } from 'semver';\r\n\r\nimport { config } from '../config';\r\nimport Dependencies from './Dependencies';\r\nimport Dependents from './Dependents';\r\nimport { PackageType, InstallationInfo } from './InstallationInfo';\r\nimport LicenseInfo from './LicenseInfo';\r\nimport * as Registration from './Registration';\r\nimport SourceRepository from './SourceRepository';\r\nimport { Versions, IPackageVersion } from './Versions';\r\n\r\nimport './DisplayPackage.css';\r\nimport DefaultPackageIcon from \"../default-package-icon-256x256.png\";\r\nimport Button from \"./Button\";\r\n\r\ninterface IDisplayPackageProps {\r\n match: {\r\n params: {\r\n id: string;\r\n version?: string;\r\n }\r\n }\r\n}\r\n\r\ninterface IPackage {\r\n id: string;\r\n hasReadme: boolean;\r\n description: string;\r\n readme: string;\r\n lastUpdate: Date;\r\n iconUrl: string;\r\n projectUrl: string;\r\n licenseUrl: string;\r\n downloadUrl: string;\r\n repositoryUrl: string;\r\n repositoryType: string;\r\n releaseNotes: string;\r\n totalDownloads: number;\r\n packageType: PackageType;\r\n downloads: number;\r\n authors: string;\r\n tags: string[];\r\n version: string;\r\n normalizedVersion: string;\r\n versions: IPackageVersion[];\r\n dependencyGroups: Registration.IDependencyGroup[];\r\n}\r\n\r\ninterface IDisplayPackageState {\r\n loading: boolean;\r\n package?: IPackage;\r\n iSCanDelete: Boolean;\r\n}\r\n\r\nclass DisplayPackage extends React.Component {\r\n\r\n private static readonly initialState: IDisplayPackageState = {\r\n loading: true,\r\n package: undefined,\r\n iSCanDelete: false,\r\n };\r\n\r\n private id: string;\r\n private version: SemVer | null;\r\n\r\n private registrationController: AbortController;\r\n private readmeController: AbortController;\r\n\r\n constructor(props: IDisplayPackageProps) {\r\n super(props);\r\n\r\n this.registrationController = new AbortController();\r\n this.readmeController = new AbortController();\r\n\r\n this.id = props.match.params.id.toLowerCase();\r\n this.version = coerce(props.match.params.version);\r\n this.state = DisplayPackage.initialState;\r\n }\r\n\r\n public componentWillUnmount() {\r\n this.registrationController.abort();\r\n this.readmeController.abort();\r\n }\r\n\r\n public componentDidUpdate(previous: IDisplayPackageProps) {\r\n // This is used to switch between versions of the same package.\r\n if (previous.match.params.id !== this.props.match.params.id ||\r\n previous.match.params.version !== this.props.match.params.version) {\r\n this.registrationController.abort();\r\n this.readmeController.abort();\r\n\r\n this.registrationController = new AbortController();\r\n this.readmeController = new AbortController();\r\n\r\n this.id = this.props.match.params.id.toLowerCase();\r\n this.version = coerce(this.props.match.params.version);\r\n this.setState(DisplayPackage.initialState);\r\n this.componentDidMount();\r\n }\r\n }\r\n\r\n public componentDidMount() {\r\n const url = `${config.apiUrl}/v3/registration/${this.id}/index.json`;\r\n\r\n fetch(url, {signal: this.registrationController.signal}).then(response => {\r\n return (response.ok) ? response.json() : null;\r\n }).then(async json => {\r\n if (!json) {\r\n this.setState(prevState => {\r\n return { ...prevState, loading: false };\r\n });\r\n\r\n return;\r\n }\r\n\r\n const results = json as Registration.IRegistrationIndex;\r\n\r\n let currentItem: Registration.IRegistrationPageItem | undefined;\r\n let lastUpdate: Date | undefined;\r\n\r\n const latestVersion = this.latestVersion(results);\r\n const versions: IPackageVersion[] = [];\r\n\r\n const iSCanDelete = await this.canDelete()\r\n\r\n for (const entry of results.items[0].items) {\r\n if (!entry.catalogEntry.listed) continue;\r\n\r\n const normalizedVersion = this.normalizeVersion(entry.catalogEntry.version);\r\n const coercedVersion = coerce(entry.catalogEntry.version);\r\n\r\n if (coercedVersion === null) continue;\r\n\r\n const isCurrent = latestVersion !== null && coercedVersion !== null\r\n ? eq(coercedVersion, !!this.version ? this.version : latestVersion)\r\n : false;\r\n\r\n versions.push({\r\n date: new Date(entry.catalogEntry.published),\r\n downloads: entry.catalogEntry.downloads,\r\n version: normalizedVersion,\r\n selected: isCurrent,\r\n });\r\n\r\n if (isCurrent) {\r\n currentItem = entry;\r\n }\r\n\r\n const published = new Date(entry.catalogEntry.published);\r\n if (!lastUpdate || lastUpdate < published) {\r\n lastUpdate = published;\r\n }\r\n }\r\n\r\n if (latestVersion && currentItem && lastUpdate) {\r\n let readme = \"\";\r\n\r\n const isDotnetTool = (currentItem.catalogEntry.packageTypes &&\r\n currentItem.catalogEntry.packageTypes.indexOf(\"DotnetTool\") !== -1);\r\n const isDotnetTemplate = (currentItem.catalogEntry.packageTypes &&\r\n currentItem.catalogEntry.packageTypes.indexOf(\"Template\") !== -1);\r\n const packageType = isDotnetTool\r\n ? PackageType.DotnetTool\r\n : isDotnetTemplate\r\n ? PackageType.DotnetTemplate\r\n : PackageType.Dependency;\r\n\r\n this.setState({\r\n loading: false,\r\n iSCanDelete: iSCanDelete,\r\n package: {\r\n ...currentItem.catalogEntry,\r\n downloadUrl: currentItem.packageContent,\r\n packageType,\r\n lastUpdate,\r\n normalizedVersion: this.normalizeVersion(currentItem.catalogEntry.version),\r\n readme,\r\n totalDownloads: results.totalDownloads,\r\n versions\r\n }\r\n });\r\n\r\n if (currentItem.catalogEntry.hasReadme) {\r\n const readmeUrl = `${config.apiUrl}/v3/package/${this.id}/${currentItem.catalogEntry.version}/readme`;\r\n\r\n fetch(readmeUrl, {signal: this.readmeController.signal}).then(response => {\r\n return response.text();\r\n }).then(result => {\r\n this.setState(prevState => {\r\n const state = {...prevState};\r\n\r\n state.package!.readme = result;\r\n\r\n return state;\r\n });\r\n });\r\n }\r\n }\r\n // tslint:disable-next-line:no-console\r\n }).catch((e) => console.log(\"Failed to load package.\", e));\r\n }\r\n\r\n private async canDelete()\r\n {\r\n let isCanDelete = false\r\n const readmeUrl = `${config.apiUrl}/mydelete/candelete`;\r\n await fetch(readmeUrl, {method: 'GET', signal: this.readmeController.signal}).then(response => {\r\n return response.json();\r\n }).then(result => {\r\n isCanDelete = result\r\n });\r\n\r\n return isCanDelete\r\n }\r\n\r\n private removePkg(id: string, version: string)\r\n {\r\n const readmeUrl = `${config.apiUrl}/mydelete/${id}/${version}`;\r\n fetch(readmeUrl, {method: 'DELETE', signal: this.readmeController.signal}).then(response => {\r\n return response.text();\r\n }).then(result => {\r\n if (version === '--')\r\n window.location.href = \"/\"\r\n else\r\n window.location.reload();\r\n });\r\n }\r\n\r\n public render() {\r\n if (this.state.loading) {\r\n return (\r\n
    ...
    \r\n );\r\n } else if (!this.state.package) {\r\n return (\r\n
    Could not find package '{this.id}'.
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n {this.state.package.id}\r\n {this.state.package.version}\r\n

    \r\n {!this.state.iSCanDelete ? null :
    \r\n\r\n \r\n\r\n {(() => {\r\n if (this.state.package.hasReadme) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n {this.state.package.description}\r\n
    \r\n );\r\n }\r\n })()}\r\n\r\n \r\n \r\n \r\n\r\n {this.state.package.releaseNotes &&\r\n \r\n
    {this.state.package.releaseNotes}
    \r\n
    \r\n }\r\n\r\n \r\n \r\n \r\n\r\n \r\n {this.removePkg(id, version)}} />\r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n }\r\n\r\n private loadDefaultIcon = (e: React.SyntheticEvent) => {\r\n e.currentTarget.src = DefaultPackageIcon;\r\n }\r\n\r\n private normalizeVersion(version: string): string {\r\n const buildMetadataStart = version.indexOf('+');\r\n return buildMetadataStart === -1\r\n ? version\r\n : version.substring(0, buildMetadataStart);\r\n }\r\n\r\n private latestVersion(index: Registration.IRegistrationIndex): SemVer | null {\r\n let latestVersion: SemVer | null = null;\r\n for (const entry of index.items[0].items) {\r\n if (!entry.catalogEntry.listed) continue;\r\n\r\n let entryVersion = coerce(entry.catalogEntry.version);\r\n if (!!entryVersion) {\r\n if (latestVersion === null || gt(entryVersion, latestVersion)) {\r\n latestVersion = entryVersion;\r\n }\r\n }\r\n }\r\n\r\n return latestVersion;\r\n }\r\n}\r\n\r\ninterface IExpandableSectionProps {\r\n title: string;\r\n expanded: boolean;\r\n}\r\n\r\ninterface IExpandableSectionState {\r\n expanded: boolean;\r\n}\r\n\r\nclass ExpandableSection extends React.Component {\r\n constructor(props: IExpandableSectionProps) {\r\n super(props);\r\n\r\n this.state = { ...props };\r\n }\r\n\r\n public render() {\r\n if (this.state.expanded) {\r\n return (\r\n
    \r\n

    \r\n \r\n

    \r\n\r\n {this.props.children}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n private collapse = () => this.setState({expanded: false});\r\n private expand = () => this.setState({expanded: true});\r\n}\r\n\r\nexport default DisplayPackage;\r\n","import { Icon } from 'office-ui-fabric-react/lib/Icon';\r\nimport * as React from 'react';\r\nimport CopyText from 'copy-text-to-clipboard';\r\n\r\nimport './Upload.css';\r\n\r\ninterface IUploadState {\r\n selected: Tab;\r\n content: string[];\r\n documentationUrl: string;\r\n name: string;\r\n}\r\n\r\nenum Tab {\r\n DotNet,\r\n NuGet,\r\n Paket,\r\n PowerShellGet\r\n}\r\n\r\nclass Upload extends React.Component<{}, IUploadState> {\r\n\r\n private baseUrl: string;\r\n private serviceIndexUrl: string;\r\n private publishUrl: string;\r\n\r\n constructor(props: {}) {\r\n super(props);\r\n\r\n const pathEnd = window.location.href.indexOf(\"/upload\");\r\n\r\n this.baseUrl = window.location.href.substring(0, pathEnd);\r\n this.serviceIndexUrl = this.baseUrl + \"/v3/index.json\";\r\n this.publishUrl = this.baseUrl + \"/api/v2/package\";\r\n this.state = this.buildState(Tab.DotNet);\r\n }\r\n\r\n public render() {\r\n return (\r\n
    \r\n

    Upload

    \r\n
    \r\n\r\n
    You can push packages using the service index {this.serviceIndexUrl}.
    \r\n\r\n
    \r\n
      \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.content.map(value => (\r\n
    \r\n > {value}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n For more information, please refer to {this.state.name}'s documentation.\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private handleSelect = (selected: Tab) =>\r\n this.setState(this.buildState(selected));\r\n\r\n private copyCommand = () =>\r\n CopyText(this.state.content.join(\"\\n\"));\r\n\r\n private buildState(tab: Tab): IUploadState {\r\n let name: string;\r\n let content: string[];\r\n let documentationUrl: string;\r\n\r\n switch (tab) {\r\n case Tab.DotNet:\r\n name = \".NET CLI\";\r\n content = [`dotnet nuget push -s ${this.serviceIndexUrl} package.nupkg`];\r\n documentationUrl = \"https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-nuget-push\";\r\n break;\r\n\r\n case Tab.NuGet:\r\n name = \"NuGet\";\r\n content = [`nuget push -Source ${this.serviceIndexUrl} package.nupkg`];\r\n documentationUrl = \"https://docs.microsoft.com/en-us/nuget/tools/cli-ref-push\";\r\n break;\r\n\r\n case Tab.Paket:\r\n name = \"Paket\";\r\n content = [`paket push --url ${this.baseUrl} package.nupkg`];\r\n documentationUrl = \"https://fsprojects.github.io/Paket/paket-push.html\";\r\n break;\r\n\r\n default:\r\n case Tab.PowerShellGet:\r\n name = \"PowerShellGet\";\r\n content = [\r\n `Register-PSRepository -Name \"BaGet\" -SourceLocation \"${this.serviceIndexUrl}\" -PublishLocation \"${this.publishUrl}\" -InstallationPolicy \"Trusted\"`,\r\n `Publish-Module -Name PS-Module -Repository BaGet`\r\n ];\r\n documentationUrl = \"https://docs.microsoft.com/en-us/powershell/module/powershellget/publish-module\";\r\n break;\r\n }\r\n\r\n return {\r\n content,\r\n documentationUrl,\r\n name,\r\n selected: tab,\r\n };\r\n }\r\n}\r\n\r\ninterface IUploadTabProps {\r\n type: Tab;\r\n selected: Tab;\r\n onSelect(value: Tab): void;\r\n}\r\n\r\n// tslint:disable-next-line:max-classes-per-file\r\nclass UploadTab extends React.Component {\r\n\r\n private title: string;\r\n\r\n constructor(props: IUploadTabProps) {\r\n super(props);\r\n\r\n switch (props.type) {\r\n case Tab.DotNet: this.title = \".NET CLI\"; break;\r\n case Tab.NuGet: this.title = \"NuGet CLI\"; break;\r\n case Tab.Paket: this.title = \"Paket CLI\"; break;\r\n case Tab.PowerShellGet: this.title = \"PowerShellGet\"; break;\r\n default: this.title = \"Unknown\"; break;\r\n }\r\n }\r\n\r\n public render() {\r\n if (this.props.type === this.props.selected) {\r\n // eslint-disable-next-line\r\n return
  • {this.title}
  • \r\n }\r\n\r\n // eslint-disable-next-line\r\n return
  • {this.title}
  • \r\n }\r\n\r\n private onSelect = (e: React.MouseEvent) => this.props.onSelect(this.props.type);\r\n}\r\n\r\nexport default Upload;\r\n","import { initializeIcons } from '@uifabric/icons';\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport { BrowserRouter as Router, Route } from 'react-router-dom';\r\n\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport App from './App';\r\n\r\nimport DisplayPackage from './DisplayPackage/DisplayPackage';\r\nimport Upload from './Upload';\r\n\r\nimport './index.css';\r\n\r\n// import registerServiceWorker from './registerServiceWorker';\r\n\r\ninitializeIcons();\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n\r\n \r\n \r\n ,\r\n document.getElementById('root') as HTMLElement\r\n);\r\n\r\n// registerServiceWorker();\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAAC/VBMVEUAAAAAAAAAgIAAVaoAQIAAM5kAVYAASZIAQIAAVY4ATYAARosAQIAATokASYAARIgAUIAAS4cAR4AAQ4YATYAASYYARoAAQ4UASoAAR4UARYAATIQASYAARoQARIAASoQASIAARoMAS4AASYMAR4AARYMASoAASIMARoAAS4MASYAAR4IARoAASoIASIAAR4IASoAASYIAR4AARoIASoAASIIAR4AASoIASYAASIIARoAASYIASIAAR4IASoAASYIASIAASYAASIEAR4AARoEASYAASIEAR4AASYEASIAAR4EARoAASYEASIAAR4EASYAASIEASIAAR4EASYAASIEAR4AASYEASIAASIEAR4AASYEASIAAR4EASYAASIEASIAAR4EASYAASIEAR4AASYEASYAASIEAR4AASYEASIAAR4EAR4AASYEASIAAR4EASYAASIEASIAAR4EASYAASIEAR4AASYEASIAASIEAR4AASYEASIAAR4EASYAASIEASIAAR4AASYAASIAAR4AASYAASIAASIAAR4AASYAASIAASIAASYAASIAASIAAR4AASYAASIAASIAASYAASIAASIAAR4AASYAASIAASIAAR4AASIAASIAAR4AASYAASIAASIAAR4AASIAASIAASIAASYAASIAASIAAR4AASIAASIAASIAASYAASIAASIAAR4AASIAASIAASIAASYAASIAASIAAR4AASIAASIAASIAASYAASIAASIAASIAASIAASIAASIAAR4AASIAASIAASIAASIAASIAASIAAR4AASIAASIAASIAASYAASIAASIAAR4AASIAASIAASIAASYAASIAASIAAR4AASIAASIAASIAASYAASIAASIAASIAASIAASIAASIAASYAASIAASIAASIAASIAASIAASIAASYAASIAASIAASIAASIAASIAASIAAR4AASIAASIAASIAASIAASIAASIAASIAASIAASIAASIAASIAASIAASIAASIAASIAASIAlxc+9AAAA/nRSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEJDREVGR0hJSktMTU5PUFFS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\""],"sourceRoot":""}