@intelligentgraphics/ig.gfx.packager 3.0.2 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/build/cli-5332deff.js +2486 -0
  2. package/build/cli-5332deff.js.map +1 -0
  3. package/build/{lib/dependencies.mjs → dependencies-227aca50.js} +62 -7
  4. package/build/dependencies-227aca50.js.map +1 -0
  5. package/build/{commands/generate.mjs → generate-a3a16031.js} +17 -3
  6. package/build/generate-a3a16031.js.map +1 -0
  7. package/build/{commands/publish/index.mjs → index-5d595f56.js} +199 -17
  8. package/build/index-5d595f56.js.map +1 -0
  9. package/build/{commands/build/index.mjs → index-92b6ba5c.js} +151 -8
  10. package/build/index-92b6ba5c.js.map +1 -0
  11. package/build/index.mjs +1 -1
  12. package/build/index.mjs.map +1 -1
  13. package/build/{commands/postinstall.mjs → postinstall-7e50da37.js} +19 -12
  14. package/build/postinstall-7e50da37.js.map +1 -0
  15. package/build/{commands/publishNpm.mjs → publishNpm-e2c8347f.js} +22 -10
  16. package/build/publishNpm-e2c8347f.js.map +1 -0
  17. package/build/versionFile-b3a65dc8.js +370 -0
  18. package/build/versionFile-b3a65dc8.js.map +1 -0
  19. package/package.json +8 -7
  20. package/readme.md +23 -3
  21. package/build/cli.mjs +0 -316
  22. package/build/cli.mjs.map +0 -1
  23. package/build/commands/build/docs.mjs +0 -34
  24. package/build/commands/build/docs.mjs.map +0 -1
  25. package/build/commands/build/index.mjs.map +0 -1
  26. package/build/commands/build/tsc.mjs +0 -84
  27. package/build/commands/build/tsc.mjs.map +0 -1
  28. package/build/commands/generate.mjs.map +0 -1
  29. package/build/commands/postinstall.mjs.map +0 -1
  30. package/build/commands/publish/index.mjs.map +0 -1
  31. package/build/commands/publish/zip.mjs +0 -168
  32. package/build/commands/publish/zip.mjs.map +0 -1
  33. package/build/commands/publishNpm.mjs.map +0 -1
  34. package/build/lib/assetService.mjs +0 -111
  35. package/build/lib/assetService.mjs.map +0 -1
  36. package/build/lib/banner.mjs +0 -20
  37. package/build/lib/banner.mjs.map +0 -1
  38. package/build/lib/dependencies.mjs.map +0 -1
  39. package/build/lib/error.mjs +0 -15
  40. package/build/lib/error.mjs.map +0 -1
  41. package/build/lib/fs.mjs +0 -19
  42. package/build/lib/fs.mjs.map +0 -1
  43. package/build/lib/git.mjs +0 -37
  44. package/build/lib/git.mjs.map +0 -1
  45. package/build/lib/log.mjs +0 -9
  46. package/build/lib/log.mjs.map +0 -1
  47. package/build/lib/npmPackage.mjs +0 -19
  48. package/build/lib/npmPackage.mjs.map +0 -1
  49. package/build/lib/package.mjs +0 -129
  50. package/build/lib/package.mjs.map +0 -1
  51. package/build/lib/packageVersion.mjs +0 -174
  52. package/build/lib/packageVersion.mjs.map +0 -1
  53. package/build/lib/parseVersion.mjs +0 -54
  54. package/build/lib/parseVersion.mjs.map +0 -1
  55. package/build/lib/prompter.mjs +0 -31
  56. package/build/lib/prompter.mjs.map +0 -1
  57. package/build/lib/publishedPackage.mjs +0 -66
  58. package/build/lib/publishedPackage.mjs.map +0 -1
  59. package/build/lib/scripts.mjs +0 -10
  60. package/build/lib/scripts.mjs.map +0 -1
  61. package/build/lib/stripUtf8Bom.mjs +0 -11
  62. package/build/lib/stripUtf8Bom.mjs.map +0 -1
  63. package/build/lib/toposort.mjs +0 -26
  64. package/build/lib/toposort.mjs.map +0 -1
  65. package/build/lib/versionFile.mjs +0 -78
  66. package/build/lib/versionFile.mjs.map +0 -1
  67. package/build/lib/workspace.mjs +0 -51
  68. package/build/lib/workspace.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionFile-b3a65dc8.js","sources":["../../tools.core/build/fs.mjs","../src/lib/git.ts","../src/lib/banner.ts","../src/lib/packageVersion.ts","../src/lib/parseVersion.ts","../src/lib/versionFile.ts"],"sourcesContent":["import * as fs from 'fs';\nimport { isErrorENOENT } from './error.mjs';\n\nconst readStringFromFile = filePath => fs.readFileSync(filePath, {\n encoding: \"utf8\"\n});\nconst readStringFromFileOrUndefined = filePath => {\n try {\n return readStringFromFile(filePath);\n } catch (err) {\n if (!isErrorENOENT(err)) {\n throw err;\n }\n return undefined;\n }\n};\n\nexport { readStringFromFile, readStringFromFileOrUndefined };\n//# sourceMappingURL=fs.mjs.map\n","import simpleGit from \"simple-git\";\nimport * as path from \"path\";\n\nimport { WorkspaceLocation } from \"./workspace\";\nimport { PackageLocation } from \"./package\";\n\nexport const getVersionInformationFromGit = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tpackageLocation: PackageLocation,\n) => {\n\ttry {\n\t\tconst git = simpleGit({\n\t\t\tbaseDir: workspaceLocation.path,\n\t\t});\n\n\t\t// check wether the files for a folder are changed\n\t\t// if so, mark as dirty\n\t\tconst diff = await git.diffSummary();\n\n\t\tconst dirty = diff.files.some((file) => {\n\t\t\tif (\n\t\t\t\tfile.file.toLowerCase().includes(\"releases\") ||\n\t\t\t\tfile.file.toLowerCase().endsWith(\"version.ts\") ||\n\t\t\t\tfile.file.toLowerCase().endsWith(\"package.json\")\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst fullPath = path.resolve(workspaceLocation.path, file.file);\n\t\t\tconst relativePath = path.relative(packageLocation.path, fullPath);\n\n\t\t\treturn !relativePath.startsWith(\"..\");\n\t\t});\n\n\t\tconst log = await git.log({ maxCount: 1 });\n\t\tconst commit = !log.latest?.hash\n\t\t\t? undefined\n\t\t\t: log.latest.hash.substring(0, 7);\n\n\t\treturn {\n\t\t\tcommit,\n\t\t\tdirty,\n\t\t\tcommitDate: log.latest?.date,\n\t\t};\n\t} catch (err) {\n\t\treturn {};\n\t}\n};\n","import { WorkspacePackageJSON } from \"./workspace\";\n\nexport const getWorkspaceBannerText = (manifest: WorkspacePackageJSON) => {\n\tlet bannerText = manifest?.packager?.banner;\n\n\tif (bannerText) {\n\t\tconst match = bannerText.match(/Copyright \\(C\\) (\\d+)( ?- ?(\\d+))?/);\n\n\t\tif (match !== null) {\n\t\t\tconst startYear = parseInt(match[1]);\n\t\t\tconst endYear = new Date().getFullYear();\n\n\t\t\tif (startYear !== endYear) {\n\t\t\t\tbannerText = bannerText.replace(\n\t\t\t\t\tmatch[0],\n\t\t\t\t\t`Copyright (C) ${startYear} - ${endYear}`,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tbannerText = bannerText.replace(\n\t\t\t\t\tmatch[0],\n\t\t\t\t\t`Copyright (C) ${startYear}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn bannerText;\n};\n","// Stolen from ig.tools.core\n\nexport interface PackageVersionToVersionStringParams {\n\tbuildNumber?: boolean;\n}\n\nexport class PackageVersion {\n\t// https://regex101.com/r/90PEY9/1\n\tpublic static fullTextMatcher =\n\t\t/(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?(-([^\\.]+)\\.(\\d+))?)?)?/;\n\tpublic static lineMatcher =\n\t\t/^(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?(-([^\\.]+)\\.(\\d+))?)?)?$/;\n\n\tpublic static extractFromText(input: string, description?: string) {\n\t\tif (input === undefined) {\n\t\t\tthrow new Error(`Can not parse version from undefined`);\n\t\t}\n\n\t\tconst match = input.match(PackageVersion.fullTextMatcher);\n\n\t\tif (!match) {\n\t\t\tthrow new Error(`Could not extract a version from input: ${input}`);\n\t\t}\n\n\t\treturn PackageVersion.fromMatch(match, description);\n\t}\n\n\tpublic static extractFromLine(input: string, description?: string) {\n\t\tif (input === undefined) {\n\t\t\tthrow new Error(`Can not parse version from undefined`);\n\t\t}\n\n\t\tconst match = input.match(PackageVersion.lineMatcher);\n\n\t\tif (!match) {\n\t\t\tthrow new Error(`Could not parse version from input: ${input}`);\n\t\t}\n\n\t\treturn PackageVersion.fromMatch(match, description);\n\t}\n\n\tpublic static equals(\n\t\ta: PackageVersion,\n\t\tb: PackageVersion,\n\t\tcheckPrerelease = false,\n\t) {\n\t\tif (a.major !== b.major || a.minor !== b.minor || a.patch !== b.patch) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (checkPrerelease === false) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (a.preRelease === b.preRelease) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (a.preRelease === undefined || b.preRelease === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (\n\t\t\ta.preRelease.type === b.preRelease.type &&\n\t\t\ta.preRelease.version === b.preRelease.version\n\t\t);\n\t}\n\n\tprivate static fromMatch(\n\t\t[\n\t\t\t,\n\t\t\tmajor,\n\t\t\t,\n\t\t\tminor = \"0\",\n\t\t\t,\n\t\t\tpatch = \"0\",\n\t\t\t,\n\t\t\tbuild,\n\t\t\t,\n\t\t\tpreReleaseType,\n\t\t\tpreReleaseNumber,\n\t\t]: RegExpMatchArray,\n\t\tdescription?: string,\n\t) {\n\t\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\n\t\tlet buildNumber = 100;\n\n\t\tif (preReleaseType && preReleaseNumber) {\n\t\t\tpreRelease = {\n\t\t\t\ttype: preReleaseType,\n\t\t\t\tversion: parseInt(preReleaseNumber),\n\t\t\t};\n\t\t}\n\n\t\tif (build) {\n\t\t\tbuildNumber = Number(build);\n\t\t} else if (description) {\n\t\t\tconst descriptionMatch = description.match(/(\\d+)\\)$/);\n\n\t\t\tif (descriptionMatch) {\n\t\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\n\t\t\t}\n\t\t}\n\n\t\treturn new PackageVersion(\n\t\t\tparseInt(major),\n\t\t\tparseInt(minor),\n\t\t\tparseInt(patch),\n\t\t\tpreRelease,\n\t\t\tbuildNumber,\n\t\t);\n\t}\n\n\tpublic static sort(\n\t\ta: PackageVersion,\n\t\tb: PackageVersion,\n\t\tascending: boolean = true,\n\t) {\n\t\tconst createSortResult = (a: number, b: number) =>\n\t\t\tascending ? a - b : b - a;\n\n\t\tif (a.major !== b.major) {\n\t\t\treturn createSortResult(a.major, b.major);\n\t\t}\n\n\t\tif (a.minor !== b.minor) {\n\t\t\treturn createSortResult(a.minor, b.minor);\n\t\t}\n\n\t\tif (a.patch !== b.patch) {\n\t\t\treturn createSortResult(a.patch, b.patch);\n\t\t}\n\n\t\treturn createSortResult(\n\t\t\ta.preRelease ? a.preRelease.version : 0,\n\t\t\tb.preRelease ? b.preRelease.version : 0,\n\t\t);\n\t}\n\n\tprivate static toNumber(version: PackageVersion) {\n\t\treturn (\n\t\t\t((version.major * 1000 + version.minor) * 1000 + version.patch) *\n\t\t\t\t1000 +\n\t\t\tversion.buildNumber\n\t\t);\n\t}\n\n\tconstructor(\n\t\tpublic major: number,\n\t\tpublic minor: number,\n\t\tpublic patch: number,\n\t\tpublic preRelease: { type: string; version: number } | undefined,\n\t\tpublic buildNumber: number,\n\t) {}\n\n\tpublic isPreRelease() {\n\t\treturn this.preRelease !== undefined;\n\t}\n\n\tpublic clone() {\n\t\treturn new PackageVersion(\n\t\t\tthis.major,\n\t\t\tthis.minor,\n\t\t\tthis.patch,\n\t\t\tthis.preRelease ? { ...this.preRelease } : undefined,\n\t\t\tthis.buildNumber,\n\t\t);\n\t}\n\n\tpublic incrementMajor() {\n\t\tthis.preRelease = undefined;\n\t\tthis.patch = 0;\n\t\tthis.minor = 0;\n\t\tthis.major++;\n\t}\n\n\tpublic incrementMinor() {\n\t\tthis.preRelease = undefined;\n\t\tthis.patch = 0;\n\t\tthis.minor++;\n\t}\n\n\tpublic incrementPatch() {\n\t\tthis.preRelease = undefined;\n\t\tthis.patch++;\n\t}\n\n\tpublic createPreRelease(type: string) {\n\t\tif (!this.preRelease) {\n\t\t\tthis.buildNumber = 1;\n\t\t} else {\n\t\t\tthis.buildNumber++;\n\t\t}\n\n\t\tif (this.preRelease && type === this.preRelease.type) {\n\t\t\tthis.preRelease.version++;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.preRelease = {\n\t\t\tversion: 0,\n\t\t\ttype,\n\t\t};\n\t}\n\n\tpublic createRelease() {\n\t\tthis.preRelease = undefined;\n\t\tthis.buildNumber = 100;\n\t}\n\n\tpublic toVersionString({\n\t\tbuildNumber,\n\t}: PackageVersionToVersionStringParams = {}) {\n\t\tlet version = [this.major, this.minor, this.patch].join(\".\");\n\n\t\tif (buildNumber) {\n\t\t\tversion += \".\" + this.buildNumber;\n\t\t}\n\n\t\tif (this.preRelease) {\n\t\t\tversion += `-${this.preRelease.type}.${this.preRelease.version}`;\n\t\t}\n\n\t\treturn version;\n\t}\n\n\tpublic toDescriptionString(packageName: string) {\n\t\tconst base = [this.major, this.minor, this.patch].join(\".\");\n\t\tconst parts: (number | string)[] = [packageName, base];\n\n\t\tif (this.preRelease) {\n\t\t\tparts.push(upperCaseFirst(this.preRelease.type));\n\t\t\tparts.push(this.preRelease.version);\n\t\t}\n\n\t\tparts.push(`(${base}.${this.buildNumber})`);\n\n\t\treturn parts.join(\" \");\n\t}\n\n\t/**\n\t * Determines wether the version is lesser than the input version\n\t *\n\t * @param {PackageVersion} version\n\t * @returns\n\t */\n\tpublic isLesserThan(version: PackageVersion) {\n\t\treturn PackageVersion.toNumber(this) < PackageVersion.toNumber(version);\n\t}\n\n\t/**\n\t * Determines wether the version is greater than the input version\n\t *\n\t * @param {PackageVersion} version\n\t * @returns\n\t */\n\tpublic isGreaterThan(version: PackageVersion) {\n\t\treturn PackageVersion.toNumber(this) > PackageVersion.toNumber(version);\n\t}\n}\n\nconst upperCaseFirst = (input: string) => {\n\treturn input.slice(0, 1).toUpperCase() + input.slice(1);\n};\n","import { PackageVersion } from \"./packageVersion\";\n\nexport const parseVersionFromString = (input: string) => {\n\tif (input === undefined) {\n\t\tthrow new Error(`Can not parse version from undefined`);\n\t}\n\n\tlet match: RegExpMatchArray | null;\n\n\tlet major!: string;\n\tlet minor!: string;\n\tlet patch!: string;\n\tlet build: string | undefined;\n\tlet preReleaseType: string | undefined;\n\tlet preReleaseNumber: string | undefined;\n\n\tif (\n\t\t// first try to find a full match with build number\n\t\t(match = input.match(\n\t\t\t/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/,\n\t\t)) !== null\n\t) {\n\t\t[, major, minor, patch, build, preReleaseType, preReleaseNumber] =\n\t\t\tmatch;\n\t} else if (\n\t\t(match = input.match(/(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/)) !== null\n\t) {\n\t\t[, major, minor, patch, , preReleaseType, preReleaseNumber] = match;\n\t}\n\n\tif (match === null) {\n\t\tthrow new Error(`Could not parse version from input: ${input}`);\n\t}\n\n\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\n\tlet buildNumber = 100;\n\n\tif (preReleaseType && preReleaseNumber) {\n\t\tpreRelease = {\n\t\t\ttype: preReleaseType,\n\t\t\tversion: parseInt(preReleaseNumber),\n\t\t};\n\t}\n\n\tif (build) {\n\t\tbuildNumber = Number(build);\n\t} else if (input) {\n\t\tconst descriptionMatch = input.match(/(\\d+)\\)$/);\n\n\t\tif (descriptionMatch) {\n\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\n\t\t}\n\t}\n\n\treturn new PackageVersion(\n\t\tparseInt(major),\n\t\tparseInt(minor),\n\t\tparseInt(patch),\n\t\tpreRelease,\n\t\tbuildNumber,\n\t);\n};\n\n// 1000001001 -> 1.0.1.1\n// 1002017001 -> 1.2.17.1\nexport const parseVersionFromNumericVersion = (\n\tversion: number,\n): PackageVersion => {\n\tconst major = Math.floor(version / 1000000000);\n\tconst minor = Math.floor((version % 1000000000) / 1000000);\n\tconst patch = Math.floor((version % 1000000) / 1000);\n\tconst buildNumber = version % 1000;\n\n\treturn new PackageVersion(major, minor, patch, undefined, buildNumber);\n};\n","import * as fs from \"fs\";\nimport * as path from \"path\";\n\nimport { isErrorENOENT } from \"./error\";\nimport { readStringFromFileOrUndefined } from \"./fs\";\nimport { PackageLocation } from \"./package\";\nimport { PackageVersion } from \"./packageVersion\";\n\n// https://regex101.com/r/LtGAu5/1\nconst logRegex =\n\t/console\\.log\\(\\s*\"([\\w\\s\\.\\(\\)]+)\\ *Copyright[\\w\\s\\(\\)\\.]+(\\d{4}|\\d{4} - \\d{4})([\\w\\s\\(\\)\\.]+)?\",?\\s*\\)/i;\nconst currentYear = new Date(Date.now()).getFullYear();\n\nexport const getVersionFileHandler = (location: PackageLocation) => {\n\tconst filePath = path.join(location.scriptsDir, \"Version.ts\");\n\n\tconst invalidVersionFile = (versionFile: string | undefined) => ({\n\t\tversion: undefined,\n\t\twrite: (name: string, newVersion: PackageVersion) => {\n\t\t\tconst scriptsContent = fs.readdirSync(location.scriptsDir);\n\t\t\tconst tsFiles = scriptsContent.filter((file) =>\n\t\t\t\tfile.endsWith(\".ts\"),\n\t\t\t);\n\n\t\t\tif (tsFiles.length > 0) {\n\t\t\t\treturn createVersionFileWriter([currentYear], \"\")(\n\t\t\t\t\tname,\n\t\t\t\t\tnewVersion,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\treset: () => {\n\t\t\tif (versionFile !== undefined) {\n\t\t\t\tfs.writeFileSync(filePath, versionFile, { encoding: \"utf8\" });\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tfs.rmSync(filePath);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n\n\ttype CopyrightRange = [number, number?];\n\n\tconst createVersionFileWriter =\n\t\t(\n\t\t\tcopyright: CopyrightRange = [currentYear],\n\t\t\tcopyrightStuff: string = \"\",\n\t\t) =>\n\t\t(name: string, newVersion: PackageVersion) => {\n\t\t\tconst descriptionText = newVersion.toDescriptionString(name);\n\t\t\tconst copyrightText = createYearString(copyright);\n\n\t\t\tconst result = `console.log(\"${descriptionText}. Copyright (C) ${copyrightText}${copyrightStuff}\");`;\n\n\t\t\tfs.writeFileSync(filePath, result, { encoding: \"utf-8\" });\n\t\t};\n\n\tlet rawVersionFile = readStringFromFileOrUndefined(filePath);\n\n\tif (rawVersionFile === undefined) {\n\t\treturn invalidVersionFile(rawVersionFile);\n\t}\n\n\tconst versionFile = rawVersionFile.replace(/\\n/g, \"\");\n\n\tconst match = versionFile.match(logRegex);\n\n\tif (!match) {\n\t\treturn invalidVersionFile(versionFile);\n\t}\n\n\tconst [_full, _description, copyright, copyrightStuff] = match as [\n\t\tstring,\n\t\tstring,\n\t\tstring,\n\t\tstring?,\n\t];\n\n\tconst copyrightYears = copyright.match(/^(\\d+)( ?- ?(\\d+))?$/);\n\n\tlet years: [number, number?];\n\n\tif (copyrightYears === null) {\n\t\tyears = [currentYear];\n\t} else {\n\t\tyears = [Number(copyrightYears[1]), currentYear];\n\t}\n\n\treturn {\n\t\twrite: createVersionFileWriter(years, copyrightStuff),\n\t\treset: () => {\n\t\t\tfs.writeFileSync(filePath, versionFile, { encoding: \"utf8\" });\n\t\t},\n\t};\n};\n\nconst createYearString = (years: [number, number?]) => {\n\tif (years[1] === undefined || years[0] === years[1]) {\n\t\treturn years[0].toString();\n\t}\n\n\treturn `${years[0]} - ${years[1]}`;\n};\n"],"names":["readStringFromFile","filePath","fs","readFileSync","encoding","readStringFromFileOrUndefined","err","isErrorENOENT","undefined","getVersionInformationFromGit","workspaceLocation","packageLocation","_log$latest","_log$latest2","git","simpleGit","baseDir","path","diff","diffSummary","dirty","files","some","file","toLowerCase","includes","endsWith","fullPath","resolve","relativePath","relative","startsWith","log","maxCount","commit","latest","hash","substring","commitDate","date","getWorkspaceBannerText","manifest","_manifest$packager","bannerText","packager","banner","match","startYear","parseInt","endYear","Date","getFullYear","replace","PackageVersion","fullTextMatcher","lineMatcher","extractFromText","input","description","Error","fromMatch","extractFromLine","equals","a","b","checkPrerelease","major","minor","patch","preRelease","type","version","build","preReleaseType","preReleaseNumber","buildNumber","Number","descriptionMatch","sort","ascending","createSortResult","toNumber","constructor","isPreRelease","clone","incrementMajor","incrementMinor","incrementPatch","createPreRelease","createRelease","toVersionString","join","toDescriptionString","packageName","base","parts","push","upperCaseFirst","isLesserThan","isGreaterThan","slice","toUpperCase","parseVersionFromString","parseVersionFromNumericVersion","Math","floor","logRegex","currentYear","now","getVersionFileHandler","location","scriptsDir","invalidVersionFile","versionFile","write","name","newVersion","scriptsContent","readdirSync","tsFiles","filter","length","createVersionFileWriter","reset","writeFileSync","rmSync","copyright","copyrightStuff","descriptionText","copyrightText","createYearString","result","rawVersionFile","_full","_description","copyrightYears","years","toString"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@intelligentgraphics/ig.gfx.packager",
3
- "version": "3.0.2",
4
- "description": "IG.GFX.Packager 3.0.2 (3.0.2.100)",
3
+ "version": "3.0.4",
4
+ "description": "IG.GFX.Packager 3.0.4 (3.0.4.100)",
5
5
  "author": "Michael Beier <mb@intelligentgraphics.biz>",
6
6
  "main": "build/index.mjs",
7
7
  "private": false,
@@ -29,7 +29,7 @@
29
29
  "ajv": "^8.12.0",
30
30
  "axios": "^1.2.5",
31
31
  "core-js": "^3.27.2",
32
- "glob": "^8.1.0",
32
+ "glob": "^9.3.0",
33
33
  "inquirer": "^9.1.4",
34
34
  "jszip": "^3.10.1",
35
35
  "lodash": "^4.17.21",
@@ -38,25 +38,26 @@
38
38
  "source-map-support": "^0.5.21",
39
39
  "terser": "^5.16.1",
40
40
  "typedoc": "~0.23.2",
41
- "typescript": "~4.9.4",
41
+ "typescript": "~5.0.2",
42
42
  "update-notifier": "^6.0.2",
43
43
  "v8-compile-cache": "^2.3.0",
44
44
  "write-pkg": "^5.1.0",
45
45
  "yargs": "^17.6.2"
46
46
  },
47
47
  "devDependencies": {
48
+ "@babel/core": "^7.21.3",
48
49
  "@babel/preset-env": "^7.18.9",
49
50
  "@babel/preset-typescript": "^7.18.6",
51
+ "@intelligentgraphics/ig.gfx.tools.core": "^1.0.0",
50
52
  "@rollup/plugin-babel": "^6.0.3",
51
53
  "@rollup/plugin-commonjs": "^24.0.0",
52
54
  "@rollup/plugin-json": "^6.0.0",
53
55
  "@rollup/plugin-node-resolve": "^15.0.1",
54
56
  "@types/glob": "^8.0.1",
55
57
  "@types/inquirer": "^9.0.3",
56
- "@types/node": "^16.4.11",
58
+ "@types/node": "^18.15.3",
57
59
  "@types/update-notifier": "^6.0.1",
58
60
  "@types/yargs": "^17.0.2",
59
- "rollup": "^3.10.0",
60
- "vitest": "^0.28.1"
61
+ "rollup": "^3.10.0"
61
62
  }
62
63
  }
package/readme.md CHANGED
@@ -20,7 +20,7 @@ npm install -g @intelligentgraphics/ig.gfx.packager@latest
20
20
  "scripts": {
21
21
  "build": "packager build",
22
22
  "upload": "packager publish",
23
- "postinstall": "package postinstall"
23
+ "postinstall": "packager postinstall"
24
24
  }
25
25
  }
26
26
  ```
@@ -33,7 +33,7 @@ npm install -g @intelligentgraphics/ig.gfx.packager@latest
33
33
  "scripts": {
34
34
  "build": "packager build",
35
35
  "upload": "packager publish",
36
- "postinstall": "package postinstall"
36
+ "postinstall": "packager postinstall"
37
37
  },
38
38
  "packager": {
39
39
  "banner": "This belongs to a data repo"
@@ -51,7 +51,7 @@ npm install -g @intelligentgraphics/ig.gfx.packager@latest
51
51
  "scripts": {
52
52
  "build": "packager build",
53
53
  "upload": "packager publish",
54
- "postinstall": "package postinstall"
54
+ "postinstall": "packager postinstall"
55
55
  },
56
56
  "packager": {
57
57
  "banner": "This file is part of the IG.Graphics IGX Data Package. \n Copyright (C) 2015 - 2020 intelligentgraphics. All Rights Reserved."
@@ -324,8 +324,28 @@ The ts files have to adhere to a certain form to be processed.
324
324
  6. Parameter and Package name length need to be <=45
325
325
  7. Description is cut off after 99 characters
326
326
 
327
+ ## Troubleshoot
328
+
329
+ ### Definitions for ig libraries are not available even though they are registered as dependencies in the package.json
330
+
331
+ The definitions need to be installed by running `npm install` within the root folder of the git repository.
332
+ Afterwards you may need to reload your editor in order for the installed files to be picked up.
333
+
327
334
  ## History
328
335
 
336
+ **IG.GFX.Packager 3.0.4**
337
+
338
+ - start a troubleshoot section
339
+ - use platform line ending when writing definition files
340
+ - wrap errors that occur when loading existing packages
341
+
342
+ **IG.GFX.Packager 3.0.3**
343
+
344
+ - set explicit version for yargs
345
+ - correct check for packages being available in both target and basics subdomain
346
+ - prompt users to install 3d.ig.gfx.standard
347
+ - change workspace package.json to be non optional
348
+
329
349
  **IG.GFX.Packager 3.0.2**
330
350
 
331
351
  - handle folders in lib directory
package/build/cli.mjs DELETED
@@ -1,316 +0,0 @@
1
- import updateNotifier from 'update-notifier';
2
- import * as fs from 'fs';
3
- import * as path from 'path';
4
- import yargs from 'yargs/yargs';
5
- import { fileURLToPath } from 'url';
6
- import glob from 'glob';
7
- import { detectPackage } from './lib/package.mjs';
8
- import { detectWorkspace, readWorkspaceNpmManifest, writeWorkspaceNpmManifest } from './lib/workspace.mjs';
9
- import { createDefaultPrompter } from './lib/prompter.mjs';
10
- import { getPackageTypescriptFiles } from './lib/scripts.mjs';
11
-
12
- const __filename = fileURLToPath(import.meta.url);
13
- const __dirname = path.dirname(__filename);
14
- const pjson = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json"), "utf8"));
15
- const captureError = err => {
16
- console.log("");
17
- if (process.env.NODE_ENV !== "production") {
18
- console.error(err);
19
- } else {
20
- console.error("Stopped execution because of the following error: " + err.message);
21
- }
22
- };
23
- const buildOptions = {
24
- outDir: {
25
- description: "Output directory",
26
- type: "string",
27
- default: "bin",
28
- coerce: input => input === undefined || input === null ? undefined : path.resolve(process.cwd(), input)
29
- },
30
- minimize: {
31
- description: "Minify output",
32
- type: "boolean",
33
- default: true
34
- },
35
- cwd: {
36
- description: "Working directory",
37
- type: "string",
38
- default: process.cwd()
39
- },
40
- clean: {
41
- description: "Empty output dir before compiling",
42
- type: "boolean",
43
- default: false
44
- },
45
- docs: {
46
- type: "boolean",
47
- default: false
48
- }
49
- };
50
- const preCommandCheck = async workspaceLocation => {
51
- var _repositoryPackage, _repositoryPackage$de, _repositoryPackage2, _repositoryPackage2$d;
52
- const executedLocalPackager = path.relative(process.cwd(), __filename).indexOf("..") === -1;
53
- let repositoryPackage;
54
- try {
55
- repositoryPackage = readWorkspaceNpmManifest(workspaceLocation);
56
- } catch (err) {}
57
- if ((_repositoryPackage = repositoryPackage) !== null && _repositoryPackage !== void 0 && (_repositoryPackage$de = _repositoryPackage.dependencies) !== null && _repositoryPackage$de !== void 0 && _repositoryPackage$de["@intelligentgraphics/ig.gfx.packager"] || (_repositoryPackage2 = repositoryPackage) !== null && _repositoryPackage2 !== void 0 && (_repositoryPackage2$d = _repositoryPackage2.devDependencies) !== null && _repositoryPackage2$d !== void 0 && _repositoryPackage2$d["@intelligentgraphics/ig.gfx.packager"]) {
58
- const parts = ["Detected locally installed ig.gfx.packager."];
59
- if (executedLocalPackager) {
60
- parts.push('Run "npm install -g @intelligentgraphics/ig.gfx.packager@latest" to install the global version, if it is not yet installed.');
61
- }
62
- parts.push('Run "npm uninstall @intelligentgraphics/ig.gfx.packager" to remove the local version.');
63
- console.error(parts.join("\n"));
64
- process.exit(1);
65
- }
66
- if (executedLocalPackager) {
67
- console.error(`Detected locally installed ig.gfx.packager.
68
- Run "npm install -g @intelligentgraphics/ig.gfx.packager@latest" to install the global version, if it is not yet installed.
69
- Run "npm install" to get rid of the local packager version.`);
70
- process.exit(1);
71
- }
72
- const notifier = updateNotifier({
73
- pkg: pjson,
74
- shouldNotifyInNpmScript: true,
75
- updateCheckInterval: 1000 * 60
76
- });
77
- notifier.notify({
78
- isGlobal: true,
79
- defer: true
80
- });
81
- if (repositoryPackage === undefined) {
82
- throw new Error("Could not load package.json file in current directory");
83
- }
84
- repositoryPackage.scripts ??= {};
85
- repositoryPackage.scripts.postinstall = "packager postinstall";
86
- writeWorkspaceNpmManifest(workspaceLocation, repositoryPackage);
87
- };
88
- const yargsInstance = yargs(process.argv.slice(2));
89
- const resolvePackagesWithTypescriptFromMaybePatterns = (args = [], workspace) => {
90
- const folders = new Map();
91
- for (const arg of args) {
92
- glob.sync(arg, {
93
- cwd: workspace.path,
94
- absolute: true
95
- }).forEach(folder => {
96
- try {
97
- const location = detectPackage(workspace, folder);
98
- if (getPackageTypescriptFiles(location).length === 0) {
99
- return;
100
- }
101
- folders.set(folder, location);
102
- } catch (err) {}
103
- });
104
- }
105
- return Array.from(folders.values());
106
- };
107
- yargsInstance.command("build [directories...]", "Builds the specified directories", argv => argv.options(buildOptions), async ({
108
- directories = [],
109
- ...options
110
- }) => {
111
- const workspace = detectWorkspace(options.cwd);
112
- const folders = resolvePackagesWithTypescriptFromMaybePatterns(directories, workspace);
113
- await preCommandCheck(workspace);
114
- if (folders.length === 0) {
115
- return console.log("No build targets found. Please check wether a folder with the provided name exists and wether it has _Package.json.");
116
- }
117
- const {
118
- buildFolders
119
- } = await import('./commands/build/index.mjs');
120
- await buildFolders({
121
- ...options,
122
- packages: folders,
123
- workspace
124
- }).catch(captureError);
125
- });
126
- yargsInstance.command("publish [directory]", "Publishes the specified directory", argv => argv.options({
127
- ...buildOptions,
128
- noUpload: {
129
- type: "boolean",
130
- default: false,
131
- description: "Only zip built files and do not upload them"
132
- },
133
- domain: {
134
- type: "string",
135
- description: "Overwrite the publish domain. Defaults to the one in the _Package.json"
136
- },
137
- subdomain: {
138
- type: "string",
139
- description: "Overwrite the publish subdomain. Defaults to the one in the _Package.json"
140
- },
141
- newVersion: {
142
- type: "string",
143
- description: "The name of the new version",
144
- default: process.env.VERSION,
145
- required: true
146
- },
147
- address: {
148
- type: "string",
149
- description: "Address",
150
- default: "localhost"
151
- },
152
- service: {
153
- type: "string",
154
- description: "IG.Asset.Server url",
155
- default: process.env.IG_GFX_ASSET_SERVICE,
156
- required: true
157
- },
158
- user: {
159
- type: "string",
160
- description: "User",
161
- default: process.env.IG_GFX_USER
162
- },
163
- password: {
164
- type: "string",
165
- description: "Password",
166
- default: process.env.IG_GFX_PWD
167
- },
168
- docs: {
169
- type: "boolean",
170
- default: false,
171
- description: "Generate typedoc documentation"
172
- },
173
- pushOnly: {
174
- type: "boolean",
175
- default: false,
176
- description: "Try to upload an existing zip file without building and validating the version number"
177
- },
178
- license: {
179
- type: "string",
180
- description: "Path to a license file",
181
- default: process.env.IG_GFX_LICENSE
182
- }
183
- }), async ({
184
- directory,
185
- user,
186
- password,
187
- service,
188
- license,
189
- ...options
190
- }) => {
191
- const workspace = detectWorkspace(options.cwd);
192
- const folder = detectPackage(workspace, directory);
193
- await preCommandCheck(workspace);
194
- if (!options.noUpload) {
195
- if (!service) {
196
- captureError(new Error('The IG.Asset.Server url has to either be provided using the option --service or through the "IG_GFX_ASSET_SERVICE" environment variable'));
197
- return;
198
- }
199
- if (!license && (!user || !password)) {
200
- captureError(new Error(`Expected authentication to be provided through either of the following methods:
201
- - as a path to a license file using the --license option or the IG_GFX_LICENSE environment variable
202
- - as a username and password using the --user and --password options, or the IG_GFX_USER and IG_GFX_PWD environment variables`));
203
- return;
204
- }
205
- if (license && !license.endsWith(".iglic")) {
206
- captureError(new Error(`Expected the license path to end with the extension .iglic. Received the path "${license}". You may need to reload your environment variables by restarting the program you're using to execute the packager.`));
207
- return;
208
- }
209
- }
210
- let authentication;
211
- if (license) {
212
- const fullLicensePath = path.resolve(process.cwd(), license);
213
- try {
214
- const content = fs.readFileSync(fullLicensePath);
215
- authentication = {
216
- type: "license",
217
- license: content.toString("base64")
218
- };
219
- } catch (err) {
220
- if ((err === null || err === void 0 ? void 0 : err.code) === "ENOENT") {
221
- captureError(new Error(`Expected to find a license file at path: ${fullLicensePath}`));
222
- return;
223
- }
224
- captureError(new Error(`Failed to read license file at path: ${fullLicensePath}`));
225
- return;
226
- }
227
- } else if (user && password) {
228
- console.log(`Detected usage of username and password authentication. Please migrate to the new license file based authentication.`);
229
- authentication = {
230
- type: "credentials",
231
- username: user,
232
- password
233
- };
234
- }
235
- const {
236
- releaseFolder
237
- } = await import('./commands/publish/index.mjs');
238
- const prompter = createDefaultPrompter();
239
- const fullOptions = {
240
- ...options,
241
- authentication,
242
- service: service,
243
- directory: folder,
244
- banner: true,
245
- prompter,
246
- newVersion: options.newVersion,
247
- workspace
248
- };
249
- await releaseFolder(fullOptions).catch(captureError);
250
- });
251
- yargsInstance.command({
252
- command: "generateIndex [directory]",
253
- builder: argv => {
254
- return argv.option("ignore", {
255
- type: "array",
256
- default: [],
257
- description: "Files to ignore while generating index"
258
- });
259
- },
260
- handler: async ({
261
- directory,
262
- ignore
263
- }) => {
264
- const workspace = detectWorkspace(process.cwd());
265
- await preCommandCheck(workspace);
266
- const {
267
- extract
268
- } = await import('./commands/generate.mjs');
269
- const location = detectPackage(workspace, directory);
270
- extract(location, ignore);
271
- }
272
- });
273
- yargsInstance.command({
274
- command: "postinstall",
275
- builder: argv => argv,
276
- handler: async () => {
277
- const {
278
- executePostInstall
279
- } = await import('./commands/postinstall.mjs');
280
- executePostInstall(detectWorkspace(process.cwd()));
281
- },
282
- describe: "Runs postinstall tasks"
283
- });
284
- yargsInstance.command({
285
- command: "publishNpm [directory]",
286
- builder: argv => argv.options({
287
- newVersion: {
288
- type: "string",
289
- description: "Name of the new version",
290
- default: process.env.VERSION,
291
- required: true
292
- },
293
- dryRun: {
294
- type: "boolean"
295
- }
296
- }),
297
- handler: async ({
298
- directory,
299
- newVersion,
300
- dryRun
301
- }) => {
302
- const workspace = detectWorkspace(process.cwd());
303
- const {
304
- publishToNpm
305
- } = await import('./commands/publishNpm.mjs');
306
- await publishToNpm({
307
- workspace,
308
- location: detectPackage(workspace, directory),
309
- version: newVersion,
310
- dryRun
311
- }).catch(captureError);
312
- },
313
- describe: "Publishes the package to npm"
314
- });
315
- yargsInstance.demandCommand().pkgConf("packager").showHelpOnFail(false).version().argv;
316
- //# sourceMappingURL=cli.mjs.map
package/build/cli.mjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.mjs","sources":["../src/cli.ts"],"sourcesContent":["import updateNotifier from \"update-notifier\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport yargs from \"yargs/yargs\";\nimport { fileURLToPath } from \"url\";\nimport glob from \"glob\";\n\nimport { Authentication } from \"./lib/authentication\";\nimport { detectPackage, PackageLocation } from \"./lib/package\";\nimport {\n\tdetectWorkspace,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n\twriteWorkspaceNpmManifest,\n} from \"./lib/workspace\";\nimport type { ReleaseFolderOptions } from \"./commands/publish\";\nimport { createDefaultPrompter } from \"./lib/prompter\";\nimport { PackageJSON } from \"./lib/packageJSON\";\nimport { getPackageTypescriptFiles } from \"./lib/scripts\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst pjson: PackageJSON = JSON.parse(\n\tfs.readFileSync(path.join(__dirname, \"..\", \"package.json\"), \"utf8\"),\n);\n\nconst captureError = (err: Error) => {\n\tconsole.log(\"\");\n\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconsole.error(err);\n\t} else {\n\t\tconsole.error(\n\t\t\t\"Stopped execution because of the following error: \" + err.message,\n\t\t);\n\t}\n};\n\nconst buildOptions = {\n\toutDir: {\n\t\tdescription: \"Output directory\",\n\t\ttype: \"string\",\n\t\tdefault: \"bin\",\n\t\tcoerce: (input: string | undefined | null) =>\n\t\t\tinput === undefined || input === null\n\t\t\t\t? undefined\n\t\t\t\t: path.resolve(process.cwd(), input),\n\t},\n\tminimize: {\n\t\tdescription: \"Minify output\",\n\t\ttype: \"boolean\",\n\t\tdefault: true,\n\t},\n\tcwd: {\n\t\tdescription: \"Working directory\",\n\t\ttype: \"string\",\n\t\tdefault: process.cwd(),\n\t},\n\tclean: {\n\t\tdescription: \"Empty output dir before compiling\",\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n\tdocs: {\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n} as const;\n\nconst preCommandCheck = async (workspaceLocation: WorkspaceLocation) => {\n\tconst executedLocalPackager =\n\t\tpath.relative(process.cwd(), __filename).indexOf(\"..\") === -1;\n\n\tlet repositoryPackage: PackageJSON | undefined;\n\n\ttry {\n\t\trepositoryPackage = readWorkspaceNpmManifest(workspaceLocation);\n\t} catch (err) {}\n\n\tif (\n\t\trepositoryPackage?.dependencies?.[\n\t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t\t] ||\n\t\trepositoryPackage?.devDependencies?.[\n\t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t\t]\n\t) {\n\t\tconst parts = [\"Detected locally installed ig.gfx.packager.\"];\n\n\t\tif (executedLocalPackager) {\n\t\t\tparts.push(\n\t\t\t\t'Run \"npm install -g @intelligentgraphics/ig.gfx.packager@latest\" to install the global version, if it is not yet installed.',\n\t\t\t);\n\t\t}\n\t\tparts.push(\n\t\t\t'Run \"npm uninstall @intelligentgraphics/ig.gfx.packager\" to remove the local version.',\n\t\t);\n\n\t\tconsole.error(parts.join(\"\\n\"));\n\t\tprocess.exit(1);\n\t}\n\n\tif (executedLocalPackager) {\n\t\tconsole.error(`Detected locally installed ig.gfx.packager.\nRun \"npm install -g @intelligentgraphics/ig.gfx.packager@latest\" to install the global version, if it is not yet installed.\nRun \"npm install\" to get rid of the local packager version.`);\n\t\tprocess.exit(1);\n\t}\n\n\tconst notifier = updateNotifier({\n\t\tpkg: pjson,\n\t\tshouldNotifyInNpmScript: true,\n\t\tupdateCheckInterval: 1000 * 60,\n\t});\n\n\tnotifier.notify({\n\t\tisGlobal: true,\n\t\tdefer: true,\n\t});\n\n\tif (repositoryPackage === undefined) {\n\t\tthrow new Error(\n\t\t\t\"Could not load package.json file in current directory\",\n\t\t);\n\t}\n\n\trepositoryPackage.scripts ??= {};\n\trepositoryPackage.scripts.postinstall = \"packager postinstall\";\n\n\twriteWorkspaceNpmManifest(workspaceLocation, repositoryPackage);\n};\n\nconst yargsInstance = yargs(process.argv.slice(2));\n\nconst resolvePackagesWithTypescriptFromMaybePatterns = (\n\targs: string[] = [],\n\tworkspace: WorkspaceLocation,\n) => {\n\tconst folders = new Map<string, PackageLocation>();\n\n\tfor (const arg of args) {\n\t\tglob.sync(arg, { cwd: workspace.path, absolute: true }).forEach(\n\t\t\t(folder) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst location = detectPackage(workspace, folder);\n\n\t\t\t\t\tif (getPackageTypescriptFiles(location).length === 0) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tfolders.set(folder, location);\n\t\t\t\t} catch (err) {}\n\t\t\t},\n\t\t);\n\t}\n\n\treturn Array.from(folders.values());\n};\n\nyargsInstance.command(\n\t\"build [directories...]\",\n\t\"Builds the specified directories\",\n\t(argv) => argv.options(buildOptions),\n\tasync ({ directories = [], ...options }) => {\n\t\tconst workspace = detectWorkspace(options.cwd);\n\t\tconst folders = resolvePackagesWithTypescriptFromMaybePatterns(\n\t\t\tdirectories as string[],\n\t\t\tworkspace,\n\t\t);\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tif (folders.length === 0) {\n\t\t\treturn console.log(\n\t\t\t\t\"No build targets found. Please check wether a folder with the provided name exists and wether it has _Package.json.\",\n\t\t\t);\n\t\t}\n\n\t\tconst { buildFolders } = await import(\"./commands/build\");\n\n\t\tawait buildFolders({\n\t\t\t...options,\n\t\t\tpackages: folders,\n\t\t\tworkspace,\n\t\t}).catch(captureError);\n\t},\n);\n\nyargsInstance.command(\n\t\"publish [directory]\",\n\t\"Publishes the specified directory\",\n\t(argv) =>\n\t\targv.options({\n\t\t\t...buildOptions,\n\t\t\tnoUpload: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: \"Only zip built files and do not upload them\",\n\t\t\t},\n\t\t\tdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Overwrite the publish domain. Defaults to the one in the _Package.json\",\n\t\t\t},\n\t\t\tsubdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Overwrite the publish subdomain. Defaults to the one in the _Package.json\",\n\t\t\t},\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"The name of the new version\",\n\t\t\t\tdefault: process.env.VERSION,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\taddress: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Address\",\n\t\t\t\tdefault: \"localhost\",\n\t\t\t},\n\t\t\tservice: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"IG.Asset.Server url\",\n\t\t\t\tdefault: process.env.IG_GFX_ASSET_SERVICE,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"User\",\n\t\t\t\tdefault: process.env.IG_GFX_USER,\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Password\",\n\t\t\t\tdefault: process.env.IG_GFX_PWD,\n\t\t\t},\n\t\t\tdocs: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: \"Generate typedoc documentation\",\n\t\t\t},\n\t\t\tpushOnly: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription:\n\t\t\t\t\t\"Try to upload an existing zip file without building and validating the version number\",\n\t\t\t},\n\t\t\tlicense: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Path to a license file\",\n\t\t\t\tdefault: process.env.IG_GFX_LICENSE,\n\t\t\t},\n\t\t}),\n\tasync ({ directory, user, password, service, license, ...options }) => {\n\t\tconst workspace = detectWorkspace(options.cwd);\n\t\tconst folder = detectPackage(workspace, directory as string);\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!service) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t'The IG.Asset.Server url has to either be provided using the option --service or through the \"IG_GFX_ASSET_SERVICE\" environment variable',\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!license && (!user || !password)) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected authentication to be provided through either of the following methods:\n\t - as a path to a license file using the --license option or the IG_GFX_LICENSE environment variable\n\t - as a username and password using the --user and --password options, or the IG_GFX_USER and IG_GFX_PWD environment variables`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (license && !license.endsWith(\".iglic\")) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected the license path to end with the extension .iglic. Received the path \"${license}\". You may need to reload your environment variables by restarting the program you're using to execute the packager.`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tlet authentication: Authentication | undefined;\n\n\t\tif (license) {\n\t\t\tconst fullLicensePath = path.resolve(process.cwd(), license);\n\t\t\ttry {\n\t\t\t\tconst content = fs.readFileSync(fullLicensePath);\n\t\t\t\tauthentication = {\n\t\t\t\t\ttype: \"license\",\n\t\t\t\t\tlicense: content.toString(\"base64\"),\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tif (err?.code === \"ENOENT\") {\n\t\t\t\t\tcaptureError(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Expected to find a license file at path: ${fullLicensePath}`,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Failed to read license file at path: ${fullLicensePath}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (user && password) {\n\t\t\tconsole.log(\n\t\t\t\t`Detected usage of username and password authentication. Please migrate to the new license file based authentication.`,\n\t\t\t);\n\t\t\tauthentication = {\n\t\t\t\ttype: \"credentials\",\n\t\t\t\tusername: user,\n\t\t\t\tpassword,\n\t\t\t};\n\t\t}\n\n\t\tconst { releaseFolder } = await import(\"./commands/publish\");\n\n\t\tconst prompter = createDefaultPrompter();\n\n\t\tconst fullOptions: ReleaseFolderOptions = {\n\t\t\t...options,\n\t\t\tauthentication,\n\t\t\tservice: service!,\n\t\t\tdirectory: folder,\n\t\t\tbanner: true,\n\t\t\tprompter,\n\t\t\tnewVersion: options.newVersion!,\n\t\t\tworkspace,\n\t\t};\n\n\t\tawait releaseFolder(fullOptions).catch(captureError);\n\t},\n);\n\nyargsInstance.command({\n\tcommand: \"generateIndex [directory]\",\n\tbuilder: (argv) => {\n\t\treturn argv.option(\"ignore\", {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\tdescription: \"Files to ignore while generating index\",\n\t\t});\n\t},\n\thandler: async ({ directory, ignore }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tconst { extract } = await import(\"./commands/generate\");\n\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\textract(location, ignore as string[]);\n\t},\n});\n\nyargsInstance.command({\n\tcommand: \"postinstall\",\n\tbuilder: (argv) => argv,\n\thandler: async () => {\n\t\tconst { executePostInstall } = await import(\"./commands/postinstall\");\n\n\t\texecutePostInstall(detectWorkspace(process.cwd()));\n\t},\n\tdescribe: \"Runs postinstall tasks\",\n});\n\nyargsInstance.command({\n\tcommand: \"publishNpm [directory]\",\n\tbuilder: (argv) =>\n\t\targv.options({\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Name of the new version\",\n\t\t\t\tdefault: process.env.VERSION,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tdryRun: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t}),\n\thandler: async ({ directory, newVersion, dryRun }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tconst { publishToNpm } = await import(\"./commands/publishNpm\");\n\n\t\tawait publishToNpm({\n\t\t\tworkspace,\n\t\t\tlocation: detectPackage(workspace, directory as string),\n\t\t\tversion: newVersion,\n\t\t\tdryRun,\n\t\t}).catch(captureError);\n\t},\n\tdescribe: \"Publishes the package to npm\",\n});\n\nyargsInstance\n\t.demandCommand()\n\t.pkgConf(\"packager\")\n\t.showHelpOnFail(false)\n\t.version().argv;\n"],"names":["__filename","fileURLToPath","import","meta","url","__dirname","path","dirname","pjson","JSON","parse","fs","readFileSync","join","captureError","err","console","log","process","env","NODE_ENV","error","message","buildOptions","outDir","description","type","default","coerce","input","undefined","resolve","cwd","minimize","clean","docs","preCommandCheck","workspaceLocation","executedLocalPackager","relative","indexOf","repositoryPackage","readWorkspaceNpmManifest","dependencies","devDependencies","parts","push","exit","notifier","updateNotifier","pkg","shouldNotifyInNpmScript","updateCheckInterval","notify","isGlobal","defer","Error","scripts","postinstall","writeWorkspaceNpmManifest","yargsInstance","yargs","argv","slice","resolvePackagesWithTypescriptFromMaybePatterns","args","workspace","folders","Map","arg","glob","sync","absolute","forEach","folder","location","detectPackage","getPackageTypescriptFiles","length","set","Array","from","values","command","options","directories","detectWorkspace","buildFolders","packages","catch","noUpload","domain","subdomain","newVersion","VERSION","required","address","service","IG_GFX_ASSET_SERVICE","user","IG_GFX_USER","password","IG_GFX_PWD","pushOnly","license","IG_GFX_LICENSE","directory","endsWith","authentication","fullLicensePath","content","toString","code","username","releaseFolder","prompter","createDefaultPrompter","fullOptions","banner","builder","option","handler","ignore","extract","executePostInstall","describe","dryRun","publishToNpm","version","demandCommand","pkgConf","showHelpOnFail"],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import typedoc from 'typedoc';
2
- import glob from 'glob';
3
- import ts from 'typescript';
4
- import * as path from 'path';
5
-
6
- const generateDocs = async (location, declarationFile, outFolder, name) => {
7
- const app = new typedoc.Application();
8
- const mediaDir = path.join(location.manifestDir, "Media");
9
- app.bootstrap({
10
- entryPoints: [declarationFile],
11
- media: mediaDir,
12
- out: outFolder,
13
- tsconfig: path.join(location.scriptsDir, "tsconfig.json"),
14
- skipErrorChecking: true
15
- });
16
- app.options.setCompilerOptions([declarationFile], {
17
- target: ts.ScriptTarget.ES5
18
- }, undefined);
19
- app.options.setValue("name", name);
20
- const [readmePath] = glob.sync("**/readme.md", {
21
- absolute: true,
22
- cwd: location.manifestDir
23
- });
24
- if (readmePath) {
25
- app.options.setValue("readme", readmePath);
26
- }
27
- const project = app.convert();
28
- if (project) {
29
- await app.generateDocs(project, outFolder);
30
- }
31
- };
32
-
33
- export { generateDocs };
34
- //# sourceMappingURL=docs.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docs.mjs","sources":["../../../src/commands/build/docs.ts"],"sourcesContent":["import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\nimport { PackageLocation } from \"../../lib/package\";\n\nexport const generateDocs = async (\n\tlocation: PackageLocation,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\tskipErrorChecking: true,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: location.manifestDir,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n"],"names":["generateDocs","location","declarationFile","outFolder","name","app","typedoc","Application","mediaDir","path","join","manifestDir","bootstrap","entryPoints","media","out","tsconfig","scriptsDir","skipErrorChecking","options","setCompilerOptions","target","ts","ScriptTarget","ES5","undefined","setValue","readmePath","glob","sync","absolute","cwd","project","convert"],"mappings":";;;;;AAMO,MAAMA,YAAY,GAAG,OAC3BC,QAAyB,EACzBC,eAAuB,EACvBC,SAAiB,EACjBC,IAAY,KACR;AACJ,EAAA,MAAMC,GAAG,GAAG,IAAIC,OAAO,CAACC,WAAW,EAAE,CAAA;EAErC,MAAMC,QAAQ,GAAGC,IAAI,CAACC,IAAI,CAACT,QAAQ,CAACU,WAAW,EAAE,OAAO,CAAC,CAAA;EAEzDN,GAAG,CAACO,SAAS,CAAC;IACbC,WAAW,EAAE,CAACX,eAAe,CAAC;AAC9BY,IAAAA,KAAK,EAAEN,QAAQ;AACfO,IAAAA,GAAG,EAAEZ,SAAS;IACda,QAAQ,EAAEP,IAAI,CAACC,IAAI,CAACT,QAAQ,CAACgB,UAAU,EAAE,eAAe,CAAC;AACzDC,IAAAA,iBAAiB,EAAE,IAAA;AACpB,GAAC,CAAC,CAAA;EAEFb,GAAG,CAACc,OAAO,CAACC,kBAAkB,CAC7B,CAAClB,eAAe,CAAC,EACjB;AACCmB,IAAAA,MAAM,EAAEC,EAAE,CAACC,YAAY,CAACC,GAAAA;GACxB,EACDC,SAAS,CACT,CAAA;EAEDpB,GAAG,CAACc,OAAO,CAACO,QAAQ,CAAC,MAAM,EAAEtB,IAAI,CAAC,CAAA;EAElC,MAAM,CAACuB,UAAU,CAAC,GAAGC,IAAI,CAACC,IAAI,CAAC,cAAc,EAAE;AAC9CC,IAAAA,QAAQ,EAAE,IAAI;IACdC,GAAG,EAAE9B,QAAQ,CAACU,WAAAA;AACf,GAAC,CAAC,CAAA;AAEF,EAAA,IAAIgB,UAAU,EAAE;IACftB,GAAG,CAACc,OAAO,CAACO,QAAQ,CAAC,QAAQ,EAAEC,UAAU,CAAC,CAAA;AAC3C,GAAA;AAEA,EAAA,MAAMK,OAAO,GAAG3B,GAAG,CAAC4B,OAAO,EAAE,CAAA;AAE7B,EAAA,IAAID,OAAO,EAAE;AACZ,IAAA,MAAM3B,GAAG,CAACL,YAAY,CAACgC,OAAO,EAAE7B,SAAS,CAAC,CAAA;AAC3C,GAAA;AACD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/commands/build/index.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as terser from \"terser\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport { build as tscBuild } from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tPackageLocation,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { WorkspaceLocation } from \"../../lib/workspace\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tworkspace: WorkspaceLocation;\n\tpackages: PackageLocation[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n\tskipPackagesWithoutTsFiles?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tfs.rmSync(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = options.workspace;\n\tconst folders = options.packages;\n\n\tconst sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tlet index = 1;\n\n\tfor (const location of sortedPackages) {\n\t\tif (\n\t\t\toptions.skipPackagesWithoutTsFiles &&\n\t\t\tgetPackageTypescriptFiles(location).length === 0\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tensureTsConfig(location);\n\n\t\tconst data = readPackageCreatorManifest(location);\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(data.Package, step, index, folders.length);\n\n\t\tlogStep(\"Compiling typescript to javascript\");\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\n\n\t\tconst buildResult = await tscBuild(location, outputDirectory);\n\t\tconst banner = options.banner\n\t\t\t? createBannerComment(options.banner)\n\t\t\t: undefined;\n\n\t\tif (banner) {\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\n\t\t\tbuildResult.definitions = banner + \"\\n\" + buildResult.definitions;\n\t\t}\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\n\t\t\tbuildResult.js,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\tbuildResult.definitions,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\n\t\tif (options.minimize) {\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\n\t\t\t\tecma: 5,\n\t\t\t});\n\n\t\t\tconst minifiedPath = path.join(\n\t\t\t\toutputDirectory,\n\t\t\t\t`${data.Package}.min.js`,\n\t\t\t);\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t});\n\t\t}\n\n\t\tif (location.path.includes(\"Basics\")) {\n\t\t\tfs.mkdirSync(path.join(workspace.path, \"lib\"), {\n\t\t\t\trecursive: true,\n\t\t\t});\n\n\t\t\tlogStep(\"Copying basics definition file to the lib folder\");\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(workspace.path, \"lib\", `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.docs) {\n\t\t\tlogStep(\"Generating typedoc documentation\");\n\t\t\tawait generateDocs(\n\t\t\t\tlocation,\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\t\tpath.join(workspace.path, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\tindex++;\n\t}\n};\n\nconst ensureTsConfig = (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\tif (!fs.existsSync(tsconfigPath)) {\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} else {\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst sortPackagesByBuildOrder = (\n\tfolders: PackageLocation[],\n): PackageLocation[] => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result: PackageLocation[] = [];\n\n\tfor (const packageName of sortedPackages) {\n\t\tconst location = packages[packageName].location;\n\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\n\t\t\tresult.unshift(location);\n\t\t} else {\n\t\t\tresult.push(location);\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["buildFolders","options","outDir","undefined","clean","fs","rmSync","recursive","workspace","folders","packages","sortedPackages","sortPackagesByBuildOrder","index","location","skipPackagesWithoutTsFiles","getPackageTypescriptFiles","length","ensureTsConfig","data","readPackageCreatorManifest","logStep","step","logPackageMessage","Package","outputDirectory","scriptsDir","mkdirSync","buildResult","tscBuild","banner","createBannerComment","js","definitions","writeFileSync","path","join","encoding","minimize","minifyResult","terser","minify","ecma","minifiedPath","code","includes","docs","generateDocs","tsconfigPath","existsSync","content","applyTsConfigOption","JSON","stringify","parse","readFileSync","compilerOptions","target","lib","Array","from","reduce","acc","readPackageNpmManifest","name","packageDependencies","Object","getOwnPropertyNames","packageName","packageData","devDependencies","dependencies","peerDependencies","filter","toposort","result","endsWith","unshift","push","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","map","line","bannerText"],"mappings":"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"}