@intelligentgraphics/ig.gfx.packager 3.1.0-alpha.6 → 3.1.0-alpha.7

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 (30) hide show
  1. package/build/bin.mjs +1 -2
  2. package/build/bin.mjs.map +1 -1
  3. package/build/{cli-CRt1pnL8.mjs → cli-IlMWNOvf.mjs} +8 -13
  4. package/build/cli-IlMWNOvf.mjs.map +1 -0
  5. package/build/{dependencies-DzwnAMHr.mjs → dependencies-CPZzEh3z.mjs} +2 -2
  6. package/build/{dependencies-DzwnAMHr.mjs.map → dependencies-CPZzEh3z.mjs.map} +1 -1
  7. package/build/{generateIndex-1_US73VT.mjs → generateIndex-Cf7p2QcW.mjs} +4 -4
  8. package/build/{generateIndex-1_US73VT.mjs.map → generateIndex-Cf7p2QcW.mjs.map} +1 -1
  9. package/build/{generateParameterType-DSWCBqzV.mjs → generateParameterType-Cdp9a31q.mjs} +3 -3
  10. package/build/{generateParameterType-DSWCBqzV.mjs.map → generateParameterType-Cdp9a31q.mjs.map} +1 -1
  11. package/build/{index-BIqEoSQH.mjs → index-Dcu2jMcl.mjs} +7 -7
  12. package/build/{index-BIqEoSQH.mjs.map → index-Dcu2jMcl.mjs.map} +1 -1
  13. package/build/{index-Sj6AX2Pu.mjs → index-w4ax9Zlz.mjs} +44 -16
  14. package/build/index-w4ax9Zlz.mjs.map +1 -0
  15. package/build/{postinstall-DLxLg3tD.mjs → postinstall-Cb7g6gsR.mjs} +4 -4
  16. package/build/{postinstall-DLxLg3tD.mjs.map → postinstall-Cb7g6gsR.mjs.map} +1 -1
  17. package/build/{publishNpm-ByIPsGI3.mjs → publishNpm-29blnfYN.mjs} +6 -6
  18. package/build/{publishNpm-ByIPsGI3.mjs.map → publishNpm-29blnfYN.mjs.map} +1 -1
  19. package/build/{rollup-Dspsy6kv.mjs → rollup-DoDZFLyJ.mjs} +17 -119
  20. package/build/rollup-DoDZFLyJ.mjs.map +1 -0
  21. package/build/{scripts-BmQnbRem.mjs → scripts-B3noxiX3.mjs} +2 -2
  22. package/build/{scripts-BmQnbRem.mjs.map → scripts-B3noxiX3.mjs.map} +1 -1
  23. package/build/{versionFile-CK9FMt3L.mjs → versionFile-_S1eIMrS.mjs} +4 -4
  24. package/build/{versionFile-CK9FMt3L.mjs.map → versionFile-_S1eIMrS.mjs.map} +1 -1
  25. package/lib/lib.mjs +41 -14
  26. package/package.json +4 -5
  27. package/readme.md +6 -0
  28. package/build/cli-CRt1pnL8.mjs.map +0 -1
  29. package/build/index-Sj6AX2Pu.mjs.map +0 -1
  30. package/build/rollup-Dspsy6kv.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollup-DoDZFLyJ.mjs","sources":["../src/commands/build/rollup.ts"],"sourcesContent":["import * as path from \"path\";\nimport ts from \"typescript\";\nimport * as os from \"os\";\nimport resolve from \"resolve\";\nimport { rollup, watch, RollupOutput, RollupOptions } from \"rollup\";\nimport rollupPluginNodeResolve from \"@rollup/plugin-node-resolve\";\nimport rollupPluginTypescript from \"@rollup/plugin-typescript\";\nimport rollupPluginBabel from \"@rollup/plugin-babel\";\nimport rollupPluginCommonJs from \"@rollup/plugin-commonjs\";\nimport rollupPluginJson from \"@rollup/plugin-json\";\nimport rollupPluginAlias from \"@rollup/plugin-alias\";\nimport babelPresetEs5 from \"@intelligentgraphics/ig.gfx.packager-babel-preset-es5\";\n\nimport { bundleFromEntryFile } from \"@intelligentgraphics/declarationbundler\";\n\nimport { CreatorPackage, PackageLocation } from \"../../lib/package\";\nimport { BuildArtefacts, BuilderEnvironment, BuildParticipant } from \"./types\";\nimport { resolveScriptPackageEntryModule } from \"../../lib/scripts\";\n\nexport function createRollupBuildParticipant(\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n\toutDir: string,\n\tskipDeclarations: boolean,\n): BuildParticipant {\n\treturn (env: BuilderEnvironment) => {\n\t\tenv.onBuildStart();\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tconst rollupConfig = getRollupConfig(\n\t\t\t\t\tlocation,\n\t\t\t\t\tmanifest,\n\t\t\t\t\toutDir,\n\t\t\t\t\tskipDeclarations,\n\t\t\t\t\tenv,\n\t\t\t\t);\n\n\t\t\t\tconst build = await rollup(rollupConfig);\n\n\t\t\t\tconst output = await build.generate(rollupConfig.output);\n\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tartefacts: processRollupOutput(\n\t\t\t\t\t\toutput,\n\t\t\t\t\t\tlocation,\n\t\t\t\t\t\tmanifest,\n\t\t\t\t\t\trollupConfig.input,\n\t\t\t\t\t\tskipDeclarations,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tenv.onBuildEnd({ type: \"error\", error: err });\n\t\t\t}\n\t\t})();\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n}\n\nexport function createRollupWatchBuildParticipant(\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n\toutDir: string,\n\tskipDeclarations: boolean,\n): BuildParticipant {\n\treturn (env: BuilderEnvironment) => {\n\t\tenv.onBuildStart();\n\n\t\tconst rollupConfig = getRollupConfig(\n\t\t\tlocation,\n\t\t\tmanifest,\n\t\t\toutDir,\n\t\t\tskipDeclarations,\n\t\t\tenv,\n\t\t);\n\n\t\tconst watcher = watch({\n\t\t\t...rollupConfig,\n\t\t\twatch: {\n\t\t\t\tskipWrite: true,\n\t\t\t},\n\t\t});\n\n\t\twatcher.on(\"event\", async (event) => {\n\t\t\tswitch (event.code) {\n\t\t\t\tcase \"BUNDLE_START\":\n\t\t\t\t\tenv.onBuildStart();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"BUNDLE_END\":\n\t\t\t\t\tconst output = await event.result.generate(\n\t\t\t\t\t\trollupConfig.output!,\n\t\t\t\t\t);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\tartefacts: processRollupOutput(\n\t\t\t\t\t\t\t\toutput,\n\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\tmanifest,\n\t\t\t\t\t\t\t\trollupConfig.input,\n\t\t\t\t\t\t\t\tskipDeclarations,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\terror: err,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tevent.result.close();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ERROR\":\n\t\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\terror: Object.assign(\n\t\t\t\t\t\t\tnew Error(event.error.message),\n\t\t\t\t\t\t\tevent.error,\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tdestroy: () => watcher.close(),\n\t\t};\n\t};\n}\n\nfunction getRollupConfig(\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n\toutDir: string,\n\tskipDeclarations: boolean,\n\tenv: BuilderEnvironment,\n) {\n\tconst entryModule = resolveScriptPackageEntryModule(location, manifest);\n\n\tif (entryModule === undefined) {\n\t\tthrow new Error(`Could not find an entry module`);\n\t}\n\n\treturn {\n\t\tinput: entryModule,\n\t\tplugins: [\n\t\t\trollupPluginNodeResolve(),\n\t\t\trollupPluginCommonJs(),\n\t\t\trollupPluginJson(),\n\t\t\trollupPluginAlias({\n\t\t\t\tentries: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfind: /^core-js(.*)/,\n\t\t\t\t\t\treplacement: path.join(\n\t\t\t\t\t\t\tpath.dirname(\n\t\t\t\t\t\t\t\tresolve.sync(\"core-js\", {\n\t\t\t\t\t\t\t\t\tbasedir: import.meta.dirname,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\"/$1\",\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}),\n\t\t\trollupPluginTypescript({\n\t\t\t\tcompilerOptions: {\n\t\t\t\t\trootDir: skipDeclarations ? undefined : location.scriptsDir,\n\t\t\t\t\tdeclaration: !skipDeclarations,\n\t\t\t\t\tdeclarationDir: skipDeclarations ? undefined : outDir,\n\t\t\t\t\tmodule: \"esnext\",\n\t\t\t\t\ttarget: \"esnext\",\n\t\t\t\t},\n\t\t\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t\t\tremoveComments: false,\n\t\t\t\tfilterRoot: skipDeclarations ? false : undefined,\n\t\t\t\tincremental: false,\n\t\t\t\tnoEmitOnError: false,\n\t\t\t}),\n\t\t\trollupPluginBabel({\n\t\t\t\tpresets: [[babelPresetEs5, {}]],\n\t\t\t\ttargets: {\n\t\t\t\t\tie: \"11\",\n\t\t\t\t},\n\t\t\t\tbabelHelpers: \"bundled\",\n\t\t\t\textensions: [\".ts\", \".js\"],\n\t\t\t\tsourceMaps: true,\n\t\t\t\texclude: /core-js/,\n\t\t\t}),\n\t\t],\n\t\toutput: {\n\t\t\tformat: \"iife\",\n\t\t\tname: manifest.Scope ?? manifest.Package,\n\t\t\tdir: outDir,\n\t\t\tsourcemap: \"hidden\",\n\t\t},\n\t\tonLog: createLogger(env),\n\t} satisfies RollupOptions;\n}\n\nfunction createLogger(env: BuilderEnvironment): RollupOptions[\"onLog\"] {\n\treturn (level, log, _handler) => {\n\t\tenv.log(log.message);\n\t};\n}\n\nfunction processRollupOutput(\n\toutput: RollupOutput,\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n\tentryModulePath: string,\n\tskipDeclarations: boolean,\n): BuildArtefacts {\n\tconst [primaryChunk, ...otherOutputs] = output.output;\n\n\tconst assets = otherOutputs.filter((chunk) => chunk.type === \"asset\");\n\n\tconst sourceMap = assets.find((asset) =>\n\t\tasset.fileName.endsWith(\".js.map\"),\n\t);\n\n\tlet declarations: string | undefined;\n\n\tif (!skipDeclarations) {\n\t\tconst declarationFileMap = new Map(\n\t\t\tassets\n\t\t\t\t.filter((asset) => asset.fileName.endsWith(\".d.ts\"))\n\t\t\t\t.map((asset) => {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tpath\n\t\t\t\t\t\t\t.resolve(location.scriptsDir, asset.fileName)\n\t\t\t\t\t\t\t.replaceAll(\"\\\\\", \"/\"),\n\t\t\t\t\t\tasset.source as string,\n\t\t\t\t\t];\n\t\t\t\t}),\n\t\t);\n\n\t\tconst entryModulePathWithDts = path.join(\n\t\t\tpath.dirname(entryModulePath),\n\t\t\tpath.basename(entryModulePath, path.extname(entryModulePath)) +\n\t\t\t\t\".d.ts\",\n\t\t);\n\n\t\tdeclarations = bundleTSDeclarations(\n\t\t\tdeclarationFileMap,\n\t\t\tentryModulePathWithDts,\n\t\t\tmanifest.Scope ?? manifest.Package,\n\t\t);\n\t}\n\n\treturn {\n\t\tjs: primaryChunk.code,\n\t\tdeclarations,\n\t\tsourceMap: sourceMap?.source as string,\n\t};\n}\n\nconst referenceRegex = /(\\/\\/\\/ ?<reference .+\\/>$)/;\n\nfunction bundleTSDeclarations(\n\tfiles: Map<string, string>,\n\tentryFileName: string,\n\tnamespace: string,\n) {\n\tconst references: string[] = [];\n\n\tfor (const [_fileName, content] of files) {\n\t\tif (content.indexOf(\"reference\") === -1) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst lines = content.split(os.EOL);\n\n\t\tfor (let index = 0; index < lines.length; index++) {\n\t\t\tconst line = lines[index];\n\t\t\tconst match = line.match(referenceRegex);\n\n\t\t\tif (match === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!references.includes(match[1])) {\n\t\t\t\treferences.push(match[1]);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\tremoveComments: false,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions, true);\n\thost.fileExists = (fileName) => files.has(fileName);\n\thost.readFile = (fileName) => files.get(fileName);\n\n\tconst program = ts.createProgram({\n\t\thost,\n\t\toptions: compilerOptions,\n\t\trootNames: [entryFileName],\n\t});\n\n\tconst mainFile = program.getSourceFile(entryFileName);\n\n\tif (mainFile === undefined) {\n\t\tthrow new Error(\n\t\t\t`Unexpected: Failed to find compiled declaration entry module`,\n\t\t);\n\t}\n\n\tconst result = bundleFromEntryFile(\n\t\tnamespace,\n\t\tmainFile,\n\t\tprogram,\n\t\thost,\n\t\tcompilerOptions,\n\t);\n\treturn [...references, result].join(os.EOL);\n}\n"],"names":["createRollupBuildParticipant","location","manifest","outDir","skipDeclarations","env","onBuildStart","rollupConfig","getRollupConfig","build","rollup","output","generate","onBuildEnd","type","artefacts","processRollupOutput","input","err","error","destroy","createRollupWatchBuildParticipant","watcher","watch","skipWrite","on","event","code","result","close","Object","assign","Error","message","entryModule","resolveScriptPackageEntryModule","undefined","plugins","rollupPluginNodeResolve","rollupPluginCommonJs","rollupPluginJson","rollupPluginAlias","entries","find","replacement","path","join","dirname","resolve","sync","basedir","rollupPluginTypescript","compilerOptions","rootDir","scriptsDir","declaration","declarationDir","module","target","tsconfig","removeComments","filterRoot","incremental","noEmitOnError","rollupPluginBabel","presets","babelPresetEs5","targets","ie","babelHelpers","extensions","sourceMaps","exclude","format","name","Scope","Package","dir","sourcemap","onLog","createLogger","level","log","_handler","entryModulePath","primaryChunk","otherOutputs","assets","filter","chunk","sourceMap","asset","fileName","endsWith","declarations","declarationFileMap","Map","map","replaceAll","source","entryModulePathWithDts","basename","extname","bundleTSDeclarations","js","referenceRegex","files","entryFileName","namespace","references","_fileName","content","indexOf","lines","split","os","EOL","index","length","line","match","includes","push","host","ts","createCompilerHost","fileExists","has","readFile","get","program","createProgram","options","rootNames","mainFile","getSourceFile","bundleFromEntryFile"],"mappings":"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"}
@@ -3,7 +3,7 @@ import * as fs from 'fs';
3
3
  import * as path from 'path';
4
4
  import ts from 'typescript';
5
5
  import 'resolve';
6
- import 'write-pkg';
6
+ import 'write-package';
7
7
  import 'axios';
8
8
 
9
9
  const getPackageTypescriptFiles = (location)=>glob.sync("**/*.ts", {
@@ -42,4 +42,4 @@ function isScriptPackageModules(options) {
42
42
  }
43
43
 
44
44
  export { resolveScriptPackageEntryModule as a, getPackageTypescriptFiles as g, isScriptPackageModules as i, readScriptPackageTSConfig as r };
45
- //# sourceMappingURL=scripts-BmQnbRem.mjs.map
45
+ //# sourceMappingURL=scripts-B3noxiX3.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts-BmQnbRem.mjs","sources":["../../tools.core/build/scripts.mjs","../src/lib/scripts.ts"],"sourcesContent":["import * as glob from 'glob';\n\nconst getPackageTypescriptFiles = (location)=>glob.sync(\"**/*.ts\", {\n absolute: true,\n cwd: location.scriptsDir,\n ignore: \"node_modules/**/*\"\n });\n\nexport { getPackageTypescriptFiles };\n//# sourceMappingURL=scripts.mjs.map\n","import * as fs from \"fs\";\nimport * as path from \"path\";\nimport ts from \"typescript\";\n\nimport {\n\tCreatorPackage,\n\tPackageLocation,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport { getPackageTypescriptFiles } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport function resolveScriptPackageEntryModule(\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n) {\n\tlet candidates = [\"index.ts\"];\n\n\tif (manifest.Type === \"Context\") {\n\t\tcandidates.push(\"Context.ts\");\n\t}\n\n\tfor (const candidate of candidates) {\n\t\tconst candidatePath = path.join(location.scriptsDir, candidate);\n\n\t\tif (fs.existsSync(candidatePath)) {\n\t\t\treturn candidatePath;\n\t\t}\n\t}\n}\n\nexport function readScriptPackageTSConfig(location: PackageLocation) {\n\tconst { config } = ts.readConfigFile(\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t(path) => {\n\t\t\ttry {\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t);\n\n\tconst parsedTsConfig = ts.parseJsonConfigFileContent(\n\t\tconfig,\n\t\tts.sys,\n\t\tlocation.scriptsDir,\n\t);\n\n\treturn parsedTsConfig;\n}\n\nexport function isScriptPackageModules(options: ts.CompilerOptions) {\n\treturn options.module === ts.ModuleKind.ES2015;\n}\n"],"names":["getPackageTypescriptFiles","location","glob","sync","absolute","cwd","scriptsDir","ignore","resolveScriptPackageEntryModule","manifest","candidates","Type","push","candidate","candidatePath","path","join","fs","existsSync","readScriptPackageTSConfig","config","ts","readConfigFile","readFileSync","undefined","parsedTsConfig","parseJsonConfigFileContent","sys","isScriptPackageModules","options","module","ModuleKind","ES2015"],"mappings":";;;;;;;;MAIaA,yBAAAA,GAA4B,CAACC,QAAAA,GACzCC,IAAAA,CAAKC,IAAI,CAAC,SAAA,EAAW;AACpBC,QAAAA,QAAAA,EAAU,IAAA;QACVC,GAAAA,EAAKJ,SAASK,UAAU;AACxBC,QAAAA,MAAAA,EAAQ;AACT,KAAA;;ACEM,SAASC,+BAAAA,CACfP,QAAyB,EACzBQ,QAAwB,EAAA;AAExB,IAAA,IAAIC,UAAAA,GAAa;AAAC,QAAA;AAAW,KAAA;IAE7B,IAAID,QAAAA,CAASE,IAAI,KAAK,SAAA,EAAW;AAChCD,QAAAA,UAAAA,CAAWE,IAAI,CAAC,YAAA,CAAA;AACjB,IAAA;IAEA,KAAK,MAAMC,aAAaH,UAAAA,CAAY;AACnC,QAAA,MAAMI,gBAAgBC,IAAAA,CAAKC,IAAI,CAACf,QAAAA,CAASK,UAAU,EAAEO,SAAAA,CAAAA;QAErD,IAAII,EAAAA,CAAGC,UAAU,CAACJ,aAAAA,CAAAA,EAAgB;YACjC,OAAOA,aAAAA;AACR,QAAA;AACD,IAAA;AACD;AAEO,SAASK,0BAA0BlB,QAAyB,EAAA;AAClE,IAAA,MAAM,EAAEmB,MAAM,EAAE,GAAGC,GAAGC,cAAc,CACnCP,IAAAA,CAAKC,IAAI,CAACf,QAAAA,CAASK,UAAU,EAAE,kBAC/B,CAACS,IAAAA,GAAAA;QACA,IAAI;YACH,OAAOE,EAAAA,CAAGM,YAAY,CAACR,IAAAA,EAAM,MAAA,CAAA;AAC9B,QAAA,CAAA,CAAE,OAAM;YACP,OAAOS,SAAAA;AACR,QAAA;AACD,IAAA,CAAA,CAAA;IAGD,MAAMC,cAAAA,GAAiBJ,GAAGK,0BAA0B,CACnDN,QACAC,EAAAA,CAAGM,GAAG,EACN1B,QAAAA,CAASK,UAAU,CAAA;IAGpB,OAAOmB,cAAAA;AACR;AAEO,SAASG,uBAAuBC,OAA2B,EAAA;AACjE,IAAA,OAAOA,QAAQC,MAAM,KAAKT,EAAAA,CAAGU,UAAU,CAACC,MAAM;AAC/C;;;;"}
1
+ {"version":3,"file":"scripts-B3noxiX3.mjs","sources":["../../tools.core/build/scripts.mjs","../src/lib/scripts.ts"],"sourcesContent":["import * as glob from 'glob';\n\nconst getPackageTypescriptFiles = (location)=>glob.sync(\"**/*.ts\", {\n absolute: true,\n cwd: location.scriptsDir,\n ignore: \"node_modules/**/*\"\n });\n\nexport { getPackageTypescriptFiles };\n//# sourceMappingURL=scripts.mjs.map\n","import * as fs from \"fs\";\nimport * as path from \"path\";\nimport ts from \"typescript\";\n\nimport {\n\tCreatorPackage,\n\tPackageLocation,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport { getPackageTypescriptFiles } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport function resolveScriptPackageEntryModule(\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n) {\n\tlet candidates = [\"index.ts\"];\n\n\tif (manifest.Type === \"Context\") {\n\t\tcandidates.push(\"Context.ts\");\n\t}\n\n\tfor (const candidate of candidates) {\n\t\tconst candidatePath = path.join(location.scriptsDir, candidate);\n\n\t\tif (fs.existsSync(candidatePath)) {\n\t\t\treturn candidatePath;\n\t\t}\n\t}\n}\n\nexport function readScriptPackageTSConfig(location: PackageLocation) {\n\tconst { config } = ts.readConfigFile(\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t(path) => {\n\t\t\ttry {\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t);\n\n\tconst parsedTsConfig = ts.parseJsonConfigFileContent(\n\t\tconfig,\n\t\tts.sys,\n\t\tlocation.scriptsDir,\n\t);\n\n\treturn parsedTsConfig;\n}\n\nexport function isScriptPackageModules(options: ts.CompilerOptions) {\n\treturn options.module === ts.ModuleKind.ES2015;\n}\n"],"names":["getPackageTypescriptFiles","location","glob","sync","absolute","cwd","scriptsDir","ignore","resolveScriptPackageEntryModule","manifest","candidates","Type","push","candidate","candidatePath","path","join","fs","existsSync","readScriptPackageTSConfig","config","ts","readConfigFile","readFileSync","undefined","parsedTsConfig","parseJsonConfigFileContent","sys","isScriptPackageModules","options","module","ModuleKind","ES2015"],"mappings":";;;;;;;;MAIaA,yBAAAA,GAA4B,CAACC,QAAAA,GACzCC,IAAAA,CAAKC,IAAI,CAAC,SAAA,EAAW;AACpBC,QAAAA,QAAAA,EAAU,IAAA;QACVC,GAAAA,EAAKJ,SAASK,UAAU;AACxBC,QAAAA,MAAAA,EAAQ;AACT,KAAA;;ACEM,SAASC,+BAAAA,CACfP,QAAyB,EACzBQ,QAAwB,EAAA;AAExB,IAAA,IAAIC,UAAAA,GAAa;AAAC,QAAA;AAAW,KAAA;IAE7B,IAAID,QAAAA,CAASE,IAAI,KAAK,SAAA,EAAW;AAChCD,QAAAA,UAAAA,CAAWE,IAAI,CAAC,YAAA,CAAA;AACjB,IAAA;IAEA,KAAK,MAAMC,aAAaH,UAAAA,CAAY;AACnC,QAAA,MAAMI,gBAAgBC,IAAAA,CAAKC,IAAI,CAACf,QAAAA,CAASK,UAAU,EAAEO,SAAAA,CAAAA;QAErD,IAAII,EAAAA,CAAGC,UAAU,CAACJ,aAAAA,CAAAA,EAAgB;YACjC,OAAOA,aAAAA;AACR,QAAA;AACD,IAAA;AACD;AAEO,SAASK,0BAA0BlB,QAAyB,EAAA;AAClE,IAAA,MAAM,EAAEmB,MAAM,EAAE,GAAGC,GAAGC,cAAc,CACnCP,IAAAA,CAAKC,IAAI,CAACf,QAAAA,CAASK,UAAU,EAAE,kBAC/B,CAACS,IAAAA,GAAAA;QACA,IAAI;YACH,OAAOE,EAAAA,CAAGM,YAAY,CAACR,IAAAA,EAAM,MAAA,CAAA;AAC9B,QAAA,CAAA,CAAE,OAAM;YACP,OAAOS,SAAAA;AACR,QAAA;AACD,IAAA,CAAA,CAAA;IAGD,MAAMC,cAAAA,GAAiBJ,GAAGK,0BAA0B,CACnDN,QACAC,EAAAA,CAAGM,GAAG,EACN1B,QAAAA,CAASK,UAAU,CAAA;IAGpB,OAAOmB,cAAAA;AACR;AAEO,SAASG,uBAAuBC,OAA2B,EAAA;AACjE,IAAA,OAAOA,QAAQC,MAAM,KAAKT,EAAAA,CAAGU,UAAU,CAACC,MAAM;AAC/C;;;;"}
@@ -1,10 +1,10 @@
1
1
  import simpleGit from 'simple-git';
2
2
  import * as path from 'path';
3
- import { P as PackageVersion } from './index-Sj6AX2Pu.mjs';
3
+ import { P as PackageVersion } from './index-w4ax9Zlz.mjs';
4
4
  import * as fs from 'fs';
5
5
  import 'resolve';
6
- import 'write-pkg';
7
- import { i as isErrorENOENT } from './cli-CRt1pnL8.mjs';
6
+ import 'write-package';
7
+ import { i as isErrorENOENT } from './cli-IlMWNOvf.mjs';
8
8
  import 'glob';
9
9
  import 'axios';
10
10
 
@@ -203,4 +203,4 @@ const createYearString = (years)=>{
203
203
  };
204
204
 
205
205
  export { parseVersionFromString as a, getVersionInformationFromGit as b, getWorkspaceBannerText as c, getVersionFileHandler as g, parseVersionFromNumericVersion as p };
206
- //# sourceMappingURL=versionFile-CK9FMt3L.mjs.map
206
+ //# sourceMappingURL=versionFile-_S1eIMrS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"versionFile-CK9FMt3L.mjs","sources":["../../tools.core/build/fs.mjs","../src/lib/git.ts","../src/lib/banner.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","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 function getVersionFileHandler(location: PackageLocation) {\n\tconst filePath = path.join(location.scriptsDir, \"Version.ts\");\n\n\tfunction invalidVersionFile(\n\t\tversionFile: string | undefined,\n\t\texists: boolean,\n\t) {\n\t\treturn {\n\t\t\texists,\n\t\t\twrite: (name: string, newVersion: PackageVersion) => {\n\t\t\t\tconst scriptsContent = fs.readdirSync(location.scriptsDir);\n\t\t\t\tconst tsFiles = scriptsContent.filter((file) =>\n\t\t\t\t\tfile.endsWith(\".ts\"),\n\t\t\t\t);\n\n\t\t\t\tif (tsFiles.length > 0) {\n\t\t\t\t\treturn createVersionFileWriter([currentYear], \"\")(\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tnewVersion,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\treset: () => {\n\t\t\t\tif (versionFile !== undefined) {\n\t\t\t\t\tfs.writeFileSync(filePath, versionFile, {\n\t\t\t\t\t\tencoding: \"utf8\",\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfs.rmSync(filePath);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\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\tfunction createVersionFileWriter(\n\t\tcopyright: CopyrightRange = [currentYear],\n\t\tcopyrightStuff: string = \"\",\n\t) {\n\t\treturn (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\t}\n\n\tlet rawVersionFile = readStringFromFileOrUndefined(filePath);\n\n\tif (rawVersionFile === undefined) {\n\t\treturn invalidVersionFile(rawVersionFile, false);\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, true);\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\texists: true,\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","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","bannerText","packager","banner","match","startYear","parseInt","endYear","Date","getFullYear","replace","parseVersionFromString","input","Error","major","minor","patch","build","preReleaseType","preReleaseNumber","preRelease","buildNumber","type","version","Number","descriptionMatch","PackageVersion","parseVersionFromNumericVersion","Math","floor","logRegex","currentYear","now","getVersionFileHandler","location","join","scriptsDir","invalidVersionFile","versionFile","exists","write","name","newVersion","scriptsContent","readdirSync","tsFiles","filter","length","createVersionFileWriter","reset","writeFileSync","rmSync","copyright","copyrightStuff","descriptionText","toDescriptionString","copyrightText","createYearString","result","rawVersionFile","_full","_description","copyrightYears","years","toString"],"mappings":"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"}
1
+ {"version":3,"file":"versionFile-_S1eIMrS.mjs","sources":["../../tools.core/build/fs.mjs","../src/lib/git.ts","../src/lib/banner.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","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 function getVersionFileHandler(location: PackageLocation) {\n\tconst filePath = path.join(location.scriptsDir, \"Version.ts\");\n\n\tfunction invalidVersionFile(\n\t\tversionFile: string | undefined,\n\t\texists: boolean,\n\t) {\n\t\treturn {\n\t\t\texists,\n\t\t\twrite: (name: string, newVersion: PackageVersion) => {\n\t\t\t\tconst scriptsContent = fs.readdirSync(location.scriptsDir);\n\t\t\t\tconst tsFiles = scriptsContent.filter((file) =>\n\t\t\t\t\tfile.endsWith(\".ts\"),\n\t\t\t\t);\n\n\t\t\t\tif (tsFiles.length > 0) {\n\t\t\t\t\treturn createVersionFileWriter([currentYear], \"\")(\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tnewVersion,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\treset: () => {\n\t\t\t\tif (versionFile !== undefined) {\n\t\t\t\t\tfs.writeFileSync(filePath, versionFile, {\n\t\t\t\t\t\tencoding: \"utf8\",\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfs.rmSync(filePath);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\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\tfunction createVersionFileWriter(\n\t\tcopyright: CopyrightRange = [currentYear],\n\t\tcopyrightStuff: string = \"\",\n\t) {\n\t\treturn (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\t}\n\n\tlet rawVersionFile = readStringFromFileOrUndefined(filePath);\n\n\tif (rawVersionFile === undefined) {\n\t\treturn invalidVersionFile(rawVersionFile, false);\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, true);\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\texists: true,\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","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","bannerText","packager","banner","match","startYear","parseInt","endYear","Date","getFullYear","replace","parseVersionFromString","input","Error","major","minor","patch","build","preReleaseType","preReleaseNumber","preRelease","buildNumber","type","version","Number","descriptionMatch","PackageVersion","parseVersionFromNumericVersion","Math","floor","logRegex","currentYear","now","getVersionFileHandler","location","join","scriptsDir","invalidVersionFile","versionFile","exists","write","name","newVersion","scriptsContent","readdirSync","tsFiles","filter","length","createVersionFileWriter","reset","writeFileSync","rmSync","copyright","copyrightStuff","descriptionText","toDescriptionString","copyrightText","createYearString","result","rawVersionFile","_full","_description","copyrightYears","years","toString"],"mappings":"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"}
package/lib/lib.mjs CHANGED
@@ -6,9 +6,8 @@ import ts from 'typescript';
6
6
  import * as fs from 'fs';
7
7
  import { createWriteStream, createReadStream } from 'fs';
8
8
  import resolve from 'resolve';
9
- import 'write-pkg';
9
+ import 'write-package';
10
10
  import * as glob from 'glob';
11
- import 'write-json-file';
12
11
  import axios, { AxiosError } from 'axios';
13
12
  import EventEmitter from 'events';
14
13
  import { SourceMapGenerator, SourceMapConsumer } from 'source-map-js';
@@ -530,6 +529,7 @@ const createTSCWatchBuildParticipant = (location, outputDir, skipDeclarations)=>
530
529
  }
531
530
  state.diagnostics.push(diagnostic);
532
531
  };
532
+ let currentProgram;
533
533
  const reportWatchStatusChanged = (diagnostic)=>{
534
534
  switch(diagnostic.code){
535
535
  // regular watch mode - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L4567
@@ -559,7 +559,7 @@ const createTSCWatchBuildParticipant = (location, outputDir, skipDeclarations)=>
559
559
  });
560
560
  return;
561
561
  }
562
- if (emitState.js === undefined || emitState.definitions === undefined) {
562
+ if (emitState.js === undefined) {
563
563
  onBuildEnd({
564
564
  type: "success",
565
565
  artefacts: {
@@ -568,11 +568,14 @@ const createTSCWatchBuildParticipant = (location, outputDir, skipDeclarations)=>
568
568
  });
569
569
  return;
570
570
  }
571
+ if (!currentProgram) {
572
+ throw new Error(`Expected a program to exist`);
573
+ }
571
574
  onBuildEnd({
572
575
  type: "success",
573
576
  artefacts: {
574
577
  js: emitState.js.replace(`//# sourceMappingURL=out.js.map`, ""),
575
- declarations: getDeclarationFileReferences(location, watchProgram.getProgram(), outputDir) + emitState.definitions,
578
+ declarations: emitState.definitions ? getDeclarationFileReferences(location, currentProgram, outputDir) + emitState.definitions : undefined,
576
579
  sourceMap: emitState.sourceMap
577
580
  }
578
581
  });
@@ -580,6 +583,11 @@ const createTSCWatchBuildParticipant = (location, outputDir, skipDeclarations)=>
580
583
  }
581
584
  };
582
585
  const host = ts.createWatchCompilerHost(path.join(location.scriptsDir, "tsconfig.json"), getCompilerOptions(location, outputDir, skipDeclarations), customSys, ts.createSemanticDiagnosticsBuilderProgram, registerDiagnostic, reportWatchStatusChanged);
586
+ const originalAfterProgramCreate = host.afterProgramCreate;
587
+ host.afterProgramCreate = (program)=>{
588
+ currentProgram = program;
589
+ originalAfterProgramCreate == null ? void 0 : originalAfterProgramCreate(program);
590
+ };
583
591
  const formattingHost = {
584
592
  getCanonicalFileName: (path)=>path,
585
593
  getCurrentDirectory: host.getCurrentDirectory,
@@ -660,7 +668,7 @@ const toposort = (packages)=>{
660
668
 
661
669
  class BuildManager extends EventEmitter {
662
670
  constructor(manifest, writer, reporter){
663
- super(), this.manifest = manifest, this.writer = writer, this.reporter = reporter, this.participants = new Map(), this.states = new Map();
671
+ super(), this.manifest = manifest, this.writer = writer, this.reporter = reporter, this.participants = new Map(), this.states = new Map(), this.participantInstances = [];
664
672
  }
665
673
  addParticipant(name, participant) {
666
674
  this.participants.set(name, participant);
@@ -673,7 +681,7 @@ class BuildManager extends EventEmitter {
673
681
  }
674
682
  this.emit("start");
675
683
  for (const [name, participant] of this.participants){
676
- participant({
684
+ const instance = participant({
677
685
  onBuildStart: ()=>{
678
686
  let alreadyBusy = false;
679
687
  for (const [name, state] of this.states){
@@ -695,6 +703,12 @@ class BuildManager extends EventEmitter {
695
703
  },
696
704
  log: (message)=>this.reporter.log(message)
697
705
  });
706
+ this.participantInstances.push(instance);
707
+ }
708
+ }
709
+ destroy() {
710
+ for (const instance of this.participantInstances){
711
+ instance.destroy();
698
712
  }
699
713
  }
700
714
  maybeEmit() {
@@ -1429,10 +1443,12 @@ async function buildFolders(options) {
1429
1443
  }
1430
1444
  if (typescriptFiles.length > 0) {
1431
1445
  if (isScriptPackageModules(tsConfig.options)) {
1432
- const { createRollupBuildParticipant } = await import('./rollup-CpLu1Yc3.mjs');
1433
- manager.addParticipant("rollup", createRollupBuildParticipant(location, data, outputDirectory, options.skipDeclarations ?? false));
1446
+ const { createRollupBuildParticipant } = await import('./rollup-Brsu5W5I.mjs');
1447
+ manager.addParticipant("rollup", createRollupBuildParticipant(location, data, outputDirectory, !tsConfig.options.declaration));
1434
1448
  } else {
1435
- manager.addParticipant("tsc", createTSCBuildParticipant(location, outputDirectory, options.skipDeclarations ?? false));
1449
+ manager.addParticipant("tsc", createTSCBuildParticipant(location, outputDirectory, // in the past we always created declaration files,
1450
+ // so we'll use it as the default for legacy modules
1451
+ tsConfig.options.declaration === false));
1436
1452
  }
1437
1453
  }
1438
1454
  manager.addParticipant("animation", createAnimationBuildParticipant(location, data));
@@ -1467,6 +1483,7 @@ async function buildFoldersWatch(options) {
1467
1483
  }
1468
1484
  const workspace = options.workspace;
1469
1485
  const folders = options.packages;
1486
+ options.reporter ?? consoleReporter;
1470
1487
  let sortedPackages = sortPackagesByBuildOrder(folders);
1471
1488
  let index = 1;
1472
1489
  const manifests = new Map(sortedPackages.map((location)=>[
@@ -1474,11 +1491,12 @@ async function buildFoldersWatch(options) {
1474
1491
  readPackageCreatorManifest(location)
1475
1492
  ]));
1476
1493
  const maxNameLength = Array.from(manifests.values(), (manifest)=>manifest.Package.length).reduce((acc, length)=>Math.max(acc, length), 0);
1494
+ const managers = [];
1477
1495
  for (const location of sortedPackages){
1478
1496
  const tsConfig = await ensureTsConfig(location);
1479
1497
  const baseReporter = options.reporter ?? consoleReporter;
1480
1498
  const data = manifests.get(location);
1481
- const reporter = createPackageScopedReporter(baseReporter, data.Package, index, folders.length, maxNameLength);
1499
+ const reporter = options.preparedReporter ?? createPackageScopedReporter(baseReporter, data.Package, index, folders.length, maxNameLength);
1482
1500
  const outputDirectory = options.outDir || location.scriptsDir;
1483
1501
  await fs$1.mkdir(outputDirectory, {
1484
1502
  recursive: true
@@ -1493,10 +1511,12 @@ async function buildFoldersWatch(options) {
1493
1511
  }
1494
1512
  if (typescriptFiles.length > 0) {
1495
1513
  if (isScriptPackageModules(tsConfig.options)) {
1496
- const { createRollupWatchBuildParticipant } = await import('./rollup-CpLu1Yc3.mjs');
1497
- manager.addParticipant("rollup", createRollupWatchBuildParticipant(location, data, outputDirectory, options.skipDeclarations ?? false));
1514
+ const { createRollupWatchBuildParticipant } = await import('./rollup-Brsu5W5I.mjs');
1515
+ manager.addParticipant("rollup", createRollupWatchBuildParticipant(location, data, outputDirectory, !tsConfig.options.declaration));
1498
1516
  } else {
1499
- manager.addParticipant("tsc", createTSCWatchBuildParticipant(location, outputDirectory, options.skipDeclarations ?? false));
1517
+ manager.addParticipant("tsc", createTSCWatchBuildParticipant(location, outputDirectory, // in the past we always created declaration files,
1518
+ // so we'll use it as the default for legacy modules
1519
+ tsConfig.options.declaration === false));
1500
1520
  }
1501
1521
  }
1502
1522
  manager.addParticipant("animation", createAnimationWatchBuildParticipant(location, data));
@@ -1514,9 +1534,16 @@ async function buildFoldersWatch(options) {
1514
1534
  });
1515
1535
  manager.run();
1516
1536
  });
1537
+ managers.push(manager);
1517
1538
  index++;
1518
1539
  }
1519
- await new Promise(()=>{});
1540
+ return {
1541
+ destroy: ()=>{
1542
+ for (const manager of managers){
1543
+ manager.destroy();
1544
+ }
1545
+ }
1546
+ };
1520
1547
  }
1521
1548
  async function writeBuildResult(buildResult, manifest, location, workspace, outputDirectory, minimize, reporter) {
1522
1549
  let js = buildResult.js;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@intelligentgraphics/ig.gfx.packager",
3
- "version": "3.1.0-alpha.6",
4
- "description": "IG.GFX.Packager 3.1.0 Alpha 6 (3.1.0.5)",
3
+ "version": "3.1.0-alpha.7",
4
+ "description": "IG.GFX.Packager 3.1.0 Alpha 7 (3.1.0.6)",
5
5
  "author": "Michael Beier <mb@intelligentgraphics.biz>",
6
6
  "main": "lib/lib.mjs",
7
7
  "types": "lib/lib.d.ts",
@@ -31,6 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@intelligentgraphics/declarationbundler": "^0.4.4",
34
+ "@intelligentgraphics/ig.gfx.packager-babel-preset-es5": "^3.1.0-alpha.8",
34
35
  "@rollup/plugin-alias": "^6.0.0",
35
36
  "@rollup/plugin-babel": "^6.1.0",
36
37
  "@rollup/plugin-commonjs": "^29.0.0",
@@ -53,12 +54,10 @@
53
54
  "typedoc": "^0.28.14",
54
55
  "typescript": "~5.9.3",
55
56
  "update-notifier": "^7.3.1",
56
- "v8-compile-cache": "^2.3.0",
57
- "write-pkg": "^7.0.0",
57
+ "write-package": "^7.0.0",
58
58
  "yargs": "^18.0.0"
59
59
  },
60
60
  "devDependencies": {
61
- "@intelligentgraphics/ig.gfx.packager-babel-preset-es5": "^3.1.0-alpha.7",
62
61
  "@intelligentgraphics/ig.gfx.tools.core": "^1.0.0",
63
62
  "@rollup/plugin-swc": "^0.4.0",
64
63
  "@swc/core": "^1.4.6",
package/readme.md CHANGED
@@ -556,6 +556,12 @@ Afterwards you may need to reload your editor in order for the installed files t
556
556
 
557
557
  ## History
558
558
 
559
+ **IG.GFX.Packager 3.1.0-alpha.7**
560
+
561
+ - use write-package rather dependencies write-pkg
562
+ - drop skipDeclarations options, instead use tsconfig declarations field
563
+ - drop v8-compile-cache
564
+
559
565
  **IG.GFX.Packager 3.1.0-alpha.6**
560
566
 
561
567
  - update typescript
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-CRt1pnL8.mjs","sources":["../../tools.core/build/stripUtf8Bom.mjs","../../tools.core/build/npmPackage.mjs","../../tools.core/build/error.mjs","../../tools.core/build/package.mjs","../../tools.core/build/workspace.mjs","../../tools.core/build/assetService.mjs","../src/lib/prompter.ts","../src/cli.ts"],"sourcesContent":["const stripUtf8Bom = (text)=>{\n // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string\n // conversion translates it to FEFF (UTF-16 BOM).\n if (text.charCodeAt(0) === 0xfeff) {\n return text.slice(1);\n }\n return text;\n};\n\nexport { stripUtf8Bom };\n//# sourceMappingURL=stripUtf8Bom.mjs.map\n","import * as fs from 'fs';\nimport * as path from 'path';\nimport { writePackageSync } from 'write-pkg';\nimport { stripUtf8Bom } from './stripUtf8Bom.mjs';\n\nconst readNpmManifest = (directory)=>{\n const packageJsonPath = path.join(directory, \"package.json\");\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(packageJson);\n};\nconst writeNpmManifest = (directory, packageJson)=>{\n const packageJsonPath = path.join(directory, \"package.json\");\n writePackageSync(packageJsonPath, packageJson);\n};\n\nexport { readNpmManifest, writeNpmManifest };\n//# sourceMappingURL=npmPackage.mjs.map\n","const getNodeErrorCode = (error)=>{\n if (error !== null && typeof error === \"object\" && error.code !== undefined) {\n return error.code;\n }\n};\n/**\n * Permission denied: An attempt was made to access a file in a way forbidden by its file access permissions.\n *\n * @param {unknown} error\n */ const isErrorEACCES = (error)=>getNodeErrorCode(error) === \"EACCES\";\n/**\n * No such file or directory: Commonly raised by fs operations to indicate that a component of the specified pathname does not exist. No entity (file or directory) could be found by the given path.\n *\n * @param {unknown} error\n */ const isErrorENOENT = (error)=>getNodeErrorCode(error) === \"ENOENT\";\nconst isErrorEPERM = (error)=>getNodeErrorCode(error) === \"EPERM\";\n\nexport { getNodeErrorCode, isErrorEACCES, isErrorENOENT, isErrorEPERM };\n//# sourceMappingURL=error.mjs.map\n","import * as path from 'path';\nimport * as fs from 'fs';\nimport { isErrorENOENT } from './error.mjs';\nimport { readNpmManifest, writeNpmManifest } from './npmPackage.mjs';\nimport { stripUtf8Bom } from './stripUtf8Bom.mjs';\n\n// Functionality related to working with a single package.\nconst PACKAGE_FILE = \"_Package.json\";\nconst INDEX_FILE = \"_Index.json\";\nconst ANIMATION_FILE_SUFFIX = \".animation.json\";\nconst getCreatorIndexParameterPrimaryJSType = (type)=>{\n switch(type){\n case \"LengthM\":\n case \"ArcDEG\":\n case \"Integer\":\n case \"Int\":\n case \"Float\":\n return \"number\";\n case \"Boolean\":\n case \"Bool\":\n return \"boolean\";\n case \"String\":\n case \"Material\":\n case \"Geometry\":\n case \"Animation\":\n case \"Interactor\":\n case \"Evaluator\":\n default:\n return \"string\";\n }\n};\nfunction parseCreatorPackageName(manifest) {\n const [domain, subdomain] = manifest.Package.split(\".\");\n if (subdomain === undefined) {\n throw new Error(`Expected \"Package\" field of the _Package.json file to contain a value in the form of Domain.SubDomain`);\n }\n return {\n domain,\n subdomain\n };\n}\n/**\n * Detects the package at the given directory.\n *\n * @param {string} directory\n * @returns {PackageLocation}\n */ const detectPackage = (workspace, directory)=>{\n directory = path.resolve(workspace.path, directory);\n const scriptsPath = path.join(directory, \"Scripts\");\n const tsPath = path.join(directory, \"ts\");\n let location;\n if (fs.existsSync(scriptsPath)) {\n location = {\n _kind: \"PackageLocation\",\n path: directory,\n scriptsDir: scriptsPath,\n manifestDir: scriptsPath\n };\n } else if (fs.existsSync(tsPath)) {\n location = {\n _kind: \"PackageLocation\",\n path: directory,\n scriptsDir: tsPath,\n manifestDir: directory\n };\n } else {\n location = {\n _kind: \"PackageLocation\",\n path: directory,\n scriptsDir: directory,\n manifestDir: directory\n };\n }\n try {\n readPackageCreatorManifest(location);\n } catch (err) {\n if (isErrorENOENT(err)) {\n throw new Error(`No _Package.json found in ${location.manifestDir}`);\n }\n throw err;\n }\n return location;\n};\nconst detectPackageLocationFromCreatorWorkspaceLocation = (location)=>{\n const packageLocation = {\n _kind: \"PackageLocation\",\n path: location.path,\n scriptsDir: path.join(location.path, \"Scripts\"),\n manifestDir: path.join(location.path, \"Scripts\")\n };\n try {\n readPackageCreatorManifest(packageLocation);\n } catch (err) {\n if (isErrorENOENT(err)) {\n throw new Error(`No _Package.json found in ${packageLocation.manifestDir}`);\n }\n throw err;\n }\n return packageLocation;\n};\nconst detectPackageAsParentDirectory = (directory)=>{\n let directoryToCheck = directory;\n while(directoryToCheck !== path.dirname(directoryToCheck)){\n if (fs.existsSync(path.join(directoryToCheck, \"Scripts\"))) {\n return {\n _kind: \"PackageLocation\",\n path: directoryToCheck,\n scriptsDir: path.join(directoryToCheck, \"Scripts\"),\n manifestDir: path.join(directoryToCheck, \"Scripts\")\n };\n }\n directoryToCheck = path.dirname(directoryToCheck);\n }\n return undefined;\n};\nconst readPackageCreatorManifest = (location)=>{\n const packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(packageJson);\n};\nconst writePackageCreatorManifest = (location, creatorPackage)=>{\n const packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n fs.writeFileSync(packageJsonPath, JSON.stringify(creatorPackage, null, \"\\t\") + \"\\n\");\n};\nconst getPackageCreatorIndexPath = (location)=>path.join(location.manifestDir, INDEX_FILE);\nconst readPackageCreatorIndex = (location)=>{\n try {\n const indexPath = getPackageCreatorIndexPath(location);\n const index = stripUtf8Bom(fs.readFileSync(indexPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(index);\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\nconst writePackageCreatorIndex = (location, index)=>{\n const indexPath = getPackageCreatorIndexPath(location);\n fs.writeFileSync(indexPath, JSON.stringify(index, null, \"\\t\") + \"\\n\");\n};\nconst readPackageNpmManifest = (location)=>{\n try {\n return readNpmManifest(location.manifestDir);\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\nconst writePackageNpmManifest = (location, packageJson)=>{\n writeNpmManifest(location.manifestDir, packageJson);\n};\nconst readPackageAnimationList = (location)=>{\n const directoryContent = fs.readdirSync(location.manifestDir);\n const animationPathList = [];\n for (const entry of directoryContent){\n if (entry.endsWith(ANIMATION_FILE_SUFFIX)) {\n const animationPath = path.join(location.manifestDir, entry);\n animationPathList.push(animationPath);\n }\n }\n return animationPathList;\n};\nconst getPackageReleasesDirectory = (location)=>path.join(location.path, \"Releases\");\nconst arePackageLocationsEqual = (a, b)=>a.path === b.path;\n\nexport { INDEX_FILE, PACKAGE_FILE, arePackageLocationsEqual, detectPackage, detectPackageAsParentDirectory, detectPackageLocationFromCreatorWorkspaceLocation, getCreatorIndexParameterPrimaryJSType, getPackageCreatorIndexPath, getPackageReleasesDirectory, parseCreatorPackageName, readPackageAnimationList, readPackageCreatorIndex, readPackageCreatorManifest, readPackageNpmManifest, writePackageCreatorIndex, writePackageCreatorManifest, writePackageNpmManifest };\n//# sourceMappingURL=package.mjs.map\n","import * as path from 'path';\nimport * as fs from 'fs';\nimport { isErrorENOENT } from './error.mjs';\nimport { writeNpmManifest, readNpmManifest } from './npmPackage.mjs';\nimport { detectPackage } from './package.mjs';\nimport { detectCreatorWorkspaceAsParentDirectory } from './creatorWorkspace.mjs';\n\n// Functionality related to working with a workspace consisting of multiple packages.\nconst detectWorkspace = (directory)=>{\n directory = path.resolve(process.cwd(), directory);\n return {\n _kind: \"WorkspaceLocation\",\n path: directory\n };\n};\nconst detectWorkspaceByPackageJsonLocation = (directory)=>{\n while(directory !== path.dirname(directory)){\n if (fs.existsSync(path.join(directory, \"package.json\"))) {\n return detectWorkspace(directory);\n }\n directory = path.dirname(directory);\n }\n return undefined;\n};\nconst readWorkspaceNpmManifest = (workspace)=>{\n try {\n return readNpmManifest(workspace.path);\n } catch (err) {\n if (isErrorENOENT(err)) {\n throw new Error(`Expected a package.json file to exist in ${workspace.path}. See packager readme for instructions on how to create the package.json.`);\n }\n throw err;\n }\n};\nconst writeWorkspaceNpmManifest = (workspace, packageJson)=>writeNpmManifest(workspace.path, packageJson);\nconst getWorkspaceOutputPath = (workspace)=>path.join(workspace.path, \"bin\");\nconst getWorkspaceLibPath = (workspace)=>path.join(workspace.path, \"lib\");\nfunction* iterateWorkspacePackages(workspace) {\n const entries = fs.readdirSync(workspace.path, {\n withFileTypes: true\n });\n for (const entry of entries){\n if (!entry.isDirectory()) {\n continue;\n }\n try {\n yield detectPackage(workspace, entry.name);\n } catch {}\n }\n}\nfunction* iterateWorkspaceCreatorWorkspaces(workspace) {\n const entries = fs.readdirSync(workspace.path, {\n withFileTypes: true\n });\n for (const entry of entries){\n if (!entry.isDirectory()) {\n continue;\n }\n const detected = detectCreatorWorkspaceAsParentDirectory(path.join(workspace.path, entry.name));\n if (detected !== undefined) {\n yield detected;\n }\n }\n}\n\nexport { detectWorkspace, detectWorkspaceByPackageJsonLocation, getWorkspaceLibPath, getWorkspaceOutputPath, iterateWorkspaceCreatorWorkspaces, iterateWorkspacePackages, readWorkspaceNpmManifest, writeWorkspaceNpmManifest };\n//# sourceMappingURL=workspace.mjs.map\n","import axios, { AxiosError } from 'axios';\n\nconst PLUGIN_ID = \"0feba3a0-b6d1-11e6-9598-0800200c9a66\";\n/**\n * Starts an IG.Asset.Server session and returns the sessionId\n *\n * @param {SessionStartParams} params\n * @returns\n */ const startSession = async ({ url, authentication, ...params })=>{\n const payload = {\n ...params,\n user: undefined,\n password: undefined,\n license: undefined,\n plugin: PLUGIN_ID\n };\n if (authentication.type === \"credentials\") {\n payload.user = authentication.username;\n payload.password = authentication.password;\n } else if (authentication.type === \"license\") {\n payload.license = authentication.license;\n }\n const { data: { session: sessionId, state, response } } = await axios.post(`Session/Start2`, JSON.stringify(payload), {\n baseURL: url\n });\n if (state !== \"SUCCESS\") {\n let message = `Could not start session. IG.Asset.Server responded with ${state}`;\n if (response) {\n message += `: ${response}`;\n }\n throw new Error(message);\n }\n return {\n _kind: \"AssetService\",\n url,\n sessionId,\n domain: params.domain,\n subDomain: params.subDomain\n };\n};\nconst closeSession = async (session)=>{\n await axios.get(`Session/Close/${session.sessionId}`, {\n baseURL: session.url\n });\n};\nconst uploadPackageFromBuffer = async (session, { name, version }, buffer)=>{\n try {\n await uploadPackageToUrl(session.url, `UploadPackage/${session.sessionId}/${name}_${version}`, buffer);\n } catch (err) {\n if (err instanceof AxiosError) {\n var _err_response;\n if (((_err_response = err.response) == null ? void 0 : _err_response.status) === 404) {\n await uploadPackageToUrl(session.url, `UploadPackage/${session.sessionId}/${name}_${version}/`, buffer);\n return;\n }\n throw new Error(`Failed to upload package: ${err.message}`);\n }\n throw err;\n }\n};\nconst uploadPackageToUrl = async (url, path, buffer)=>{\n const { data, status } = await axios.post(path, buffer, {\n baseURL: url\n });\n let objectBody;\n if (typeof data === \"string\") {\n try {\n objectBody = JSON.parse(data);\n } catch (err) {}\n } else if (typeof data === \"object\") {\n objectBody = data;\n }\n if (objectBody !== undefined) {\n if (\"state\" in objectBody && objectBody.state !== \"SUCCESS\") {\n throw new Error(objectBody.response ?? objectBody.state);\n }\n }\n if (status >= 400) {\n if (objectBody !== undefined) {\n let text_1 = \"\";\n for(const key in objectBody){\n text_1 += key + \": \\n\";\n if (typeof objectBody[key] === \"object\") {\n text_1 += JSON.stringify(objectBody[key], undefined, 2);\n } else {\n text_1 += objectBody[key];\n }\n text_1 += \"\\n\\n\";\n }\n throw new Error(text_1);\n }\n throw new Error(data);\n }\n return data;\n};\nconst getExistingPackages = async (session)=>{\n const { data } = await axios.get(`Script/GetInformation/${session.sessionId}`, {\n baseURL: session.url,\n validateStatus: (status)=>status === 404 || status === 200\n }).catch((err)=>{\n throw new Error(`Failed to get existing packages: ${err.message}`);\n });\n return data;\n};\nconst getMaterials = async (session)=>{\n const response = await axios.get(`Material/Get/${session.sessionId}`, {\n baseURL: session.url\n });\n const data = response.data;\n return data.materials;\n};\nconst getGeometries = async (session)=>{\n const response = await axios.get(`Geometry/Get/${session.sessionId}`, {\n baseURL: session.url\n });\n const data = response.data;\n return data.geometries;\n};\n\nexport { closeSession, getExistingPackages, getGeometries, getMaterials, startSession, uploadPackageFromBuffer };\n//# sourceMappingURL=assetService.mjs.map\n","import inquirer from \"inquirer\";\n\nexport interface PrompterOption {\n\tname: string;\n\tvalue: string;\n}\n\nexport interface PrompterQuestion {\n\tmessage: string;\n\toptions: PrompterOption[];\n\tdefault?: string;\n}\n\nexport interface Prompter {\n\tconfirm(message: string): Promise<boolean>;\n\n\task(question: PrompterQuestion): Promise<string>;\n}\n\nexport const createDefaultPrompter = (): Prompter => {\n\treturn {\n\t\tconfirm: async (message) => {\n\t\t\tconst { confirm } = await inquirer.prompt([\n\t\t\t\t{\n\t\t\t\t\ttype: \"confirm\",\n\t\t\t\t\tmessage,\n\t\t\t\t\tname: \"confirm\",\n\t\t\t\t},\n\t\t\t]);\n\t\t\treturn confirm as boolean;\n\t\t},\n\n\t\task: async (question) => {\n\t\t\tconst { answer } = await inquirer.prompt([\n\t\t\t\t{\n\t\t\t\t\ttype: \"list\",\n\t\t\t\t\tmessage: question.message,\n\t\t\t\t\tname: \"answer\",\n\t\t\t\t\tchoices: question.options,\n\t\t\t\t\tdefault: question.default,\n\t\t\t\t},\n\t\t\t]);\n\t\t\treturn answer as string;\n\t\t},\n\t};\n};\n","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 * as glob from \"glob\";\n\nimport { AssetService } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport {\n\tdetectPackage,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageCreatorManifest,\n} 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 { BuildFolderOptions } from \"./lib\";\n\nconst docsHandler: BuildFolderOptions[\"docsHandler\"] = async (\n\tlocation,\n\tdeclarationFile,\n\toutFolder,\n\tname,\n) => {\n\tconst { generateDocs } = await import(\"./lib/docs\");\n\treturn await generateDocs(location, declarationFile, outFolder, name);\n};\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\tprocess.exit(1);\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\tskipDeclarations: {\n\t\tdescription: \"Skips the creation of typescript declaration files\",\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n} as const;\n\nconst preCommandCheck = async (workspaceLocation: WorkspaceLocation) => {\n\tconst executedLocalPackager = __filename.startsWith(workspaceLocation.path);\n\tconst repositoryPackage = readWorkspaceNpmManifest(workspaceLocation);\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 resolvePackagesFromMaybePatterns = (\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\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) =>\n\t\targv.options({\n\t\t\t...buildOptions,\n\t\t\twatch: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t}),\n\tasync ({ directories = [], watch, ...options }) => {\n\t\tconst workspace = detectWorkspace(options.cwd);\n\t\tconst folders = resolvePackagesFromMaybePatterns(\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, buildFoldersWatch } =\n\t\t\tawait import(\"./commands/build\");\n\n\t\tif (watch) {\n\t\t\tawait buildFoldersWatch({\n\t\t\t\t...options,\n\t\t\t\tpackages: folders,\n\t\t\t\tworkspace,\n\t\t\t\tdocsHandler,\n\t\t\t}).catch(captureError);\n\t\t\treturn;\n\t\t}\n\n\t\tawait buildFolders({\n\t\t\t...options,\n\t\t\tpackages: folders,\n\t\t\tworkspace,\n\t\t\tdocsHandler,\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\tskipDependencies: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: \"Skip dependency checks\",\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: AssetService.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\tdocsHandler,\n\t\t};\n\n\t\tawait releaseFolder(fullOptions).catch(captureError);\n\t},\n);\n\nyargsInstance.command(\n\t\"testConnection [directory]\",\n\t\"Tests connection to asset service\",\n\t(argv) =>\n\t\targv.options({\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\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\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 ({\n\t\tuser,\n\t\tpassword,\n\t\tservice,\n\t\tlicense,\n\t\tsubdomain,\n\t\tdomain,\n\t\taddress,\n\t\tdirectory,\n\t}) => {\n\t\tif (!service) {\n\t\t\tcaptureError(\n\t\t\t\tnew Error(\n\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),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!license && (!user || !password)) {\n\t\t\tcaptureError(\n\t\t\t\tnew Error(\n\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),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (license && !license.endsWith(\".iglic\")) {\n\t\t\tcaptureError(\n\t\t\t\tnew Error(\n\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),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tlet authentication: AssetService.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\tif (authentication === undefined) {\n\t\t\tthrow new Error(`Expected authentication to be available`);\n\t\t}\n\n\t\tif (typeof directory === \"string\") {\n\t\t\tconst workspace = detectWorkspace(process.cwd());\n\t\t\tconst folder = detectPackage(workspace, directory as string);\n\t\t\tconst manifest = readPackageCreatorManifest(folder);\n\t\t\tconst parsedName = parseCreatorPackageName(manifest);\n\n\t\t\tif (domain === undefined) {\n\t\t\t\tdomain = parsedName.domain;\n\t\t\t}\n\t\t\tif (subdomain === undefined) {\n\t\t\t\tsubdomain = parsedName.subdomain;\n\t\t\t}\n\t\t}\n\n\t\tif (domain === undefined || subdomain === undefined) {\n\t\t\tthrow new Error(\n\t\t\t\t`Expected either domain and subdomain to be provided through options or to be executed for a specific package directory`,\n\t\t\t);\n\t\t}\n\n\t\tconst session = await AssetService.startSession({\n\t\t\turl: service,\n\t\t\taddress,\n\t\t\tdomain,\n\t\t\tsubDomain: subdomain,\n\t\t\tauthentication,\n\t\t});\n\n\t\tawait AssetService.closeSession(session);\n\n\t\tconsole.log(`Asset service session successfully started and closed`);\n\t},\n);\n\nyargsInstance.command({\n\tcommand: \"generateIndex [directory]\",\n\tbuilder: (argv) =>\n\t\targv\n\t\t\t.option(\"ignore\", {\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: [],\n\t\t\t\tdescription: \"Files to ignore while generating index\",\n\t\t\t})\n\t\t\t.option(\"strictOptional\", {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription:\n\t\t\t\t\t\"Marks non optional parameter object properties as required\",\n\t\t\t}),\n\thandler: async ({ directory, ignore, strictOptional }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tconst { generateIndex } = await import(\"./commands/generateIndex\");\n\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\tgenerateIndex({\n\t\t\tlocation,\n\t\t\tignore: ignore as string[],\n\t\t\tstrictOptional,\n\t\t});\n\t},\n\tdescribe: \"Generates an index file for a package based on typescript types\",\n});\n\nyargsInstance.command({\n\tcommand: \"generateParameterType [directory] [name]\",\n\thandler: async ({ directory, name }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tconst { generateParameterType } =\n\t\t\tawait import(\"./commands/generateParameterType\");\n\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\tgenerateParameterType({\n\t\t\tlocation,\n\t\t\tname,\n\t\t});\n\t},\n\tdescribe: \"Generates a parameter type for an interactor or evaluator\",\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(pjson.version).argv;\n"],"names":["stripUtf8Bom","text","charCodeAt","slice","readNpmManifest","directory","packageJsonPath","path","join","packageJson","fs","readFileSync","encoding","JSON","parse","writeNpmManifest","writePackageSync","getNodeErrorCode","error","code","undefined","isErrorEACCES","isErrorENOENT","isErrorEPERM","PACKAGE_FILE","INDEX_FILE","ANIMATION_FILE_SUFFIX","getCreatorIndexParameterPrimaryJSType","type","parseCreatorPackageName","manifest","domain","subdomain","Package","split","Error","detectPackage","workspace","resolve","scriptsPath","tsPath","location","existsSync","_kind","scriptsDir","manifestDir","readPackageCreatorManifest","err","writePackageCreatorManifest","creatorPackage","writeFileSync","stringify","getPackageCreatorIndexPath","readPackageCreatorIndex","indexPath","index","writePackageCreatorIndex","readPackageNpmManifest","writePackageNpmManifest","readPackageAnimationList","directoryContent","readdirSync","animationPathList","entry","endsWith","animationPath","push","getPackageReleasesDirectory","detectWorkspace","process","cwd","readWorkspaceNpmManifest","writeWorkspaceNpmManifest","getWorkspaceOutputPath","getWorkspaceLibPath","iterateWorkspacePackages","entries","withFileTypes","isDirectory","name","PLUGIN_ID","startSession","url","authentication","params","payload","user","password","license","plugin","username","data","session","sessionId","state","response","axios","post","baseURL","message","subDomain","closeSession","get","uploadPackageFromBuffer","version","buffer","uploadPackageToUrl","AxiosError","status","objectBody","text_1","key","getExistingPackages","validateStatus","catch","createDefaultPrompter","confirm","inquirer","prompt","ask","question","answer","choices","options","default","docsHandler","declarationFile","outFolder","generateDocs","__filename","fileURLToPath","__dirname","dirname","pjson","captureError","console","log","env","NODE_ENV","exit","buildOptions","outDir","description","coerce","input","minimize","clean","docs","skipDeclarations","preCommandCheck","workspaceLocation","executedLocalPackager","startsWith","repositoryPackage","dependencies","devDependencies","parts","notifier","updateNotifier","pkg","shouldNotifyInNpmScript","updateCheckInterval","notify","isGlobal","defer","scripts","postinstall","yargsInstance","yargs","argv","resolvePackagesFromMaybePatterns","args","folders","Map","arg","glob","sync","absolute","forEach","folder","set","Array","from","values","command","watch","directories","length","buildFolders","buildFoldersWatch","packages","noUpload","newVersion","VERSION","required","address","service","IG_GFX_ASSET_SERVICE","IG_GFX_USER","IG_GFX_PWD","pushOnly","IG_GFX_LICENSE","skipDependencies","fullLicensePath","content","toString","releaseFolder","prompter","fullOptions","banner","parsedName","AssetService","builder","option","handler","ignore","strictOptional","generateIndex","describe","generateParameterType","executePostInstall","dryRun","publishToNpm","demandCommand","pkgConf","showHelpOnFail"],"mappings":"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"}