@intelligentgraphics/ig.gfx.packager 3.0.0-alpha.7 → 3.0.0-alpha.9

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.mjs","sources":["../src/commands/generate.ts"],"sourcesContent":["import ts from \"typescript\";\r\n\r\nimport {\r\n\tPackageLocation,\r\n\twritePackageCreatorIndex,\r\n\treadPackageCreatorIndex,\r\n} from \"../lib/package\";\r\nimport { getPackageTypescriptFiles } from \"../lib/scripts\";\r\nimport {\r\n\tCreatorIndexEntry,\r\n\tCreatorIndexParameter,\r\n\tCreatorIndexParameterType,\r\n} from \"../lib/package\";\r\n\r\nfunction findTsNode<T extends ts.Node>(\r\n\tnode: ts.Node,\r\n\tcallback: (node: ts.Node) => node is T,\r\n): T | undefined;\r\nfunction findTsNode(\r\n\tnode: ts.Node,\r\n\tcallback: (node: ts.Node) => boolean,\r\n): ts.Node | undefined;\r\nfunction findTsNode(\r\n\tnode: ts.Node,\r\n\tcallback: (node: ts.Node) => boolean,\r\n): ts.Node | undefined {\r\n\tlet result: ts.Node | undefined;\r\n\r\n\tts.forEachChild(node, (child) => {\r\n\t\tif (callback(child)) {\r\n\t\t\tresult = child;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t});\r\n\r\n\treturn result;\r\n}\r\n\r\nfunction capitalizeFirstLetter(string) {\r\n\treturn string?.charAt(0).toUpperCase() + string?.slice(1);\r\n}\r\n\r\nfunction parseDefault(value: string, type: string) {\r\n\tconst uType: CreatorIndexParameterType = capitalizeFirstLetter(type);\r\n\tif (value === \"null\") return null;\r\n\tswitch (uType) {\r\n\t\tcase \"LengthM\":\r\n\t\tcase \"ArcDEG\":\r\n\t\tcase \"Float\":\r\n\t\t\treturn parseFloat(value);\r\n\t\tcase \"Integer\":\r\n\t\tcase \"Int\":\r\n\t\t\treturn parseInt(value);\r\n\t\tcase \"Boolean\":\r\n\t\tcase \"Bool\":\r\n\t\t\treturn value === \"true\";\r\n\t\tcase \"Material\":\r\n\t\tcase \"String\":\r\n\t\tdefault:\r\n\t\t\treturn value.replace(/^\"/, \"\").replace(/\"$/, \"\");\r\n\t}\r\n}\r\n\r\nfunction findEvaluatorNode(node: ts.Node): ts.ClassDeclaration | undefined {\r\n\tif (\r\n\t\tts.isModuleDeclaration(node) &&\r\n\t\tnode.body &&\r\n\t\tts.isModuleDeclaration(node.body) &&\r\n\t\tnode.body.body\r\n\t) {\r\n\t\tconst classDeclaration = findTsNode(\r\n\t\t\tnode.body.body,\r\n\t\t\t(child): child is ts.ClassDeclaration => {\r\n\t\t\t\tif (!ts.isClassDeclaration(child)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst isEvaluator = child.heritageClauses?.some((clause) => {\r\n\t\t\t\t\tif (clause.token !== ts.SyntaxKind.ExtendsKeyword) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn clause.types.some((type) =>\r\n\t\t\t\t\t\ttype.getText().includes(\"Evaluator\"),\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn isEvaluator ?? false;\r\n\t\t\t},\r\n\t\t);\r\n\r\n\t\treturn classDeclaration;\r\n\t}\r\n}\r\n\r\nfunction getParameter(evaluatorNode: ts.ClassDeclaration) {\r\n\tlet memb = evaluatorNode.members?.find(\r\n\t\t(member) => member?.name?.getText().toLowerCase() == \"create\",\r\n\t);\r\n\tif (ts.isMethodDeclaration(memb!)) {\r\n\t\treturn memb.parameters.find(\r\n\t\t\t(para) => para.name.getText().toLowerCase() == \"parameters\",\r\n\t\t);\r\n\t}\r\n}\r\n\r\nfunction findParametersInterface(\r\n\tnode: ts.Node,\r\n\tinterfaceName: string,\r\n): ts.InterfaceDeclaration | undefined {\r\n\tif (\r\n\t\tts.isModuleDeclaration(node) &&\r\n\t\tnode.body &&\r\n\t\tts.isModuleDeclaration(node.body) &&\r\n\t\tnode.body.body\r\n\t) {\r\n\t\tconst interfaceDeclaration = findTsNode(\r\n\t\t\tnode.body.body,\r\n\t\t\t(child): child is ts.InterfaceDeclaration =>\r\n\t\t\t\tts.isInterfaceDeclaration(child) &&\r\n\t\t\t\tchild.name.getText() == interfaceName,\r\n\t\t);\r\n\r\n\t\treturn interfaceDeclaration;\r\n\t}\r\n\r\n\treturn undefined;\r\n}\r\n\r\nfunction getModuleName(sourceFile: ts.Node): string {\r\n\tlet fullName = \"\";\r\n\tif (ts.isModuleDeclaration(sourceFile)) {\r\n\t\tfullName += sourceFile.name.getText();\r\n\r\n\t\tlet packageB = sourceFile.body!;\r\n\t\tif (ts.isModuleDeclaration(packageB)) {\r\n\t\t\tfullName += \".\" + packageB.name.getText();\r\n\t\t}\r\n\t}\r\n\treturn fullName;\r\n}\r\n\r\nfunction genParameters(\r\n\tinterfac: ts.InterfaceDeclaration,\r\n): CreatorIndexParameter[] {\r\n\treturn interfac.members.map((member, i) => {\r\n\t\tlet para = {} as CreatorIndexParameter;\r\n\r\n\t\tpara.Name = member.name!.getText();\r\n\t\tif (para.Name.length > 45)\r\n\t\t\tthrow new Error(`Parameter name length >45 '${para.Name}'`);\r\n\r\n\t\tlet rawDocTags = ts.getJSDocTags(member);\r\n\t\tif (rawDocTags.length) {\r\n\t\t\tlet dict = getTagDict(rawDocTags);\r\n\t\t\tif (dict.summary) para.Description = dict.summary;\r\n\t\t\tif (dict.creatorType)\r\n\t\t\t\tpara.Type = dict.creatorType as CreatorIndexParameterType;\r\n\t\t\tif (dict.default && dict.creatorType)\r\n\t\t\t\tpara.Default = parseDefault(dict.default, dict.creatorType);\r\n\t\t\tpara.DisplayIndex = i + 1;\r\n\t\t}\r\n\t\treturn para;\r\n\t});\r\n}\r\n\r\ninterface IDocTags {\r\n\tdefault?: string;\r\n\tcreatorType?: string;\r\n\tsummary?: string;\r\n}\r\n\r\nfunction getTagDict(tags: any): IDocTags {\r\n\tlet dict = {};\r\n\ttags.forEach((tag) => {\r\n\t\tdict[tag.tagName.text] = tag.comment;\r\n\t});\r\n\treturn dict;\r\n}\r\n\r\nfunction findParametersInterfaceInFiles(\r\n\tprogram: ts.Program,\r\n\tfileList: string[],\r\n\tname: string,\r\n): ts.InterfaceDeclaration | undefined {\r\n\tfor (const file of fileList) {\r\n\t\tconst sourceFile = program.getSourceFile(file);\r\n\r\n\t\tif (sourceFile === undefined) {\r\n\t\t\tthrow new Error(\r\n\t\t\t\t`Expected a source file to exist for file name \"${file}\"`,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tlet interfaceDeclaration: ts.InterfaceDeclaration | undefined;\r\n\r\n\t\tts.forEachChild(sourceFile, (node) => {\r\n\t\t\tinterfaceDeclaration = findParametersInterface(node, name);\r\n\r\n\t\t\treturn interfaceDeclaration !== undefined;\r\n\t\t});\r\n\r\n\t\tif (interfaceDeclaration !== undefined) {\r\n\t\t\treturn interfaceDeclaration;\r\n\t\t}\r\n\t}\r\n\r\n\treturn undefined;\r\n}\r\n\r\n/**\r\n * Extracts and returns script array for _Index.json from a src folder\r\n *\r\n * @param folderPath path to a src folder\r\n */\r\nexport function extract(location: PackageLocation, ignore: string[] = []) {\r\n\tconst files = getPackageTypescriptFiles(location);\r\n\tconst filtered = files.filter((path) => {\r\n\t\treturn !ignore.some((suffix) => path.endsWith(suffix));\r\n\t});\r\n\tlet arr = new Array<CreatorIndexEntry>();\r\n\r\n\tlet program = ts.createProgram(filtered, { allowJs: true });\r\n\tprogram.getTypeChecker();\r\n\tfiltered.forEach((file) => {\r\n\t\t// Create a Program to represent the project, then pull out the\r\n\t\t// source file to parse its AST.\r\n\t\tconst sourceFile = program.getSourceFile(file);\r\n\r\n\t\t// Loop through the root AST nodes of the file\r\n\t\tts.forEachChild(sourceFile!, (node) => {\r\n\t\t\tconst evalNode = findEvaluatorNode(node);\r\n\r\n\t\t\tif (evalNode === undefined) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlet moduleName = getModuleName(node);\r\n\r\n\t\t\tif (evalNode.name === undefined) {\r\n\t\t\t\tthrow new Error(`Expected evaluator class to have a name`);\r\n\t\t\t}\r\n\r\n\t\t\tconst name = moduleName + \".\" + evalNode.name.getText();\r\n\r\n\t\t\tif (name.length > 45)\r\n\t\t\t\tthrow new Error(`Package name length >45 '${name}'`);\r\n\r\n\t\t\tlet para = getParameter(evalNode);\r\n\t\t\tlet paraName = (para?.type as any).typeName.getText();\r\n\t\t\tlet interfac = findParametersInterfaceInFiles(\r\n\t\t\t\tprogram,\r\n\t\t\t\tfiltered,\r\n\t\t\t\tparaName,\r\n\t\t\t);\r\n\r\n\t\t\tif (interfac === undefined) {\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`Failed to find parameters type declaration for evaluator ${evalNode.name.getText()}`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tconst obj: CreatorIndexEntry = {\r\n\t\t\t\tName: name,\r\n\t\t\t\tParameters: [],\r\n\t\t\t\tType: \"Evaluator\",\r\n\t\t\t};\r\n\r\n\t\t\tlet rawDocTags = ts.getJSDocTags(evalNode);\r\n\t\t\tif (rawDocTags.length) {\r\n\t\t\t\tlet dict = getTagDict(rawDocTags);\r\n\t\t\t\tif (dict.summary) obj.Description = dict.summary;\r\n\t\t\t\tif (dict.creatorType)\r\n\t\t\t\t\tobj.Type = dict.creatorType as \"Interactor\" | \"Evaluator\";\r\n\t\t\t}\r\n\r\n\t\t\tobj.Parameters = genParameters(interfac);\r\n\r\n\t\t\tarr.push(obj);\r\n\t\t});\r\n\t});\r\n\r\n\twritePackageCreatorIndex(location, arr);\r\n}\r\n"],"names":["findTsNode","node","callback","result","ts","forEachChild","child","capitalizeFirstLetter","string","charAt","toUpperCase","slice","parseDefault","value","type","uType","parseFloat","parseInt","replace","findEvaluatorNode","isModuleDeclaration","body","classDeclaration","isClassDeclaration","isEvaluator","heritageClauses","some","clause","token","SyntaxKind","ExtendsKeyword","types","getText","includes","getParameter","evaluatorNode","memb","members","find","member","name","toLowerCase","isMethodDeclaration","parameters","para","findParametersInterface","interfaceName","interfaceDeclaration","isInterfaceDeclaration","undefined","getModuleName","sourceFile","fullName","packageB","genParameters","interfac","map","i","Name","length","Error","rawDocTags","getJSDocTags","dict","getTagDict","summary","Description","creatorType","Type","default","Default","DisplayIndex","tags","forEach","tag","tagName","text","comment","findParametersInterfaceInFiles","program","fileList","file","getSourceFile","extract","location","ignore","files","getPackageTypescriptFiles","filtered","filter","path","suffix","endsWith","arr","Array","createProgram","allowJs","getTypeChecker","evalNode","moduleName","paraName","typeName","obj","Parameters","push","writePackageCreatorIndex"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import \"source-map-support/register.js\";\nimport \"v8-compile-cache\";\n\nimport(\"./cli\");\n"],"names":[],"mappings":";;;;AAGA,OAAO,WAAO,oCAAC"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import \"source-map-support/register.js\";\r\nimport \"v8-compile-cache\";\r\n\r\nimport(\"./cli\");\r\n"],"names":[],"mappings":";;;;AAGA,OAAO,WAAO,oCAAC"}
@@ -3,9 +3,9 @@ import * as path from 'path';
3
3
  import * as fs from 'fs';
4
4
  import glob from 'glob';
5
5
  import * as terser from 'terser';
6
- import { d as detectWorkspace, t as translate, r as readPackageCreatorManifest, a as detectPackage, b as readPackageNpmManifest } from '../cli.mjs';
6
+ import { d as detectWorkspace, t as translate, r as readPackageCreatorManifest, a as detectPackage, b as readPackageNpmManifest } from './cli.mjs';
7
7
  import ts from 'typescript';
8
- import { g as getPackageTypescriptFiles } from '../scripts.mjs';
8
+ import { g as getPackageTypescriptFiles } from './scripts.mjs';
9
9
  import typedoc from 'typedoc';
10
10
 
11
11
  const logPackageMessage = (name, step, index, total) => {
@@ -27,7 +27,7 @@ const tryReadTsConfig = location => {
27
27
  });
28
28
  return config;
29
29
  };
30
- const build = async location => {
30
+ const build = async (location, outputDir) => {
31
31
  const config = tryReadTsConfig(location);
32
32
  config.compilerOptions.lib = ["es5", "dom"];
33
33
  const result = ts.convertCompilerOptionsFromJson(config.compilerOptions, location.scriptsDir);
@@ -36,7 +36,9 @@ const build = async location => {
36
36
  removeComments: false,
37
37
  declaration: true,
38
38
  sourceMap: false,
39
- outFile: "out.js",
39
+ // We don't use tsc to actually emit the files, but we still need to set the correct
40
+ // output directory so the compiler can rewrite the `reference path` directives.
41
+ outFile: path.join(outputDir, "out.js"),
40
42
  target: ts.ScriptTarget.ES5,
41
43
  noEmitOnError: true
42
44
  };
@@ -90,13 +92,15 @@ const createErrorMessage = diagnostic => {
90
92
  return `${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`;
91
93
  };
92
94
 
93
- const generateDocs = async (folderPath, declarationFile, outFolder, name) => {
95
+ const generateDocs = async (location, declarationFile, outFolder, name) => {
94
96
  const app = new typedoc.Application();
95
- const mediaDir = path.join(folderPath, "Media");
97
+ const mediaDir = path.join(location.manifestDir, "Media");
96
98
  app.bootstrap({
97
99
  entryPoints: [declarationFile],
98
100
  media: mediaDir,
99
- out: outFolder
101
+ out: outFolder,
102
+ tsconfig: path.join(location.scriptsDir, "tsconfig.json"),
103
+ skipErrorChecking: true
100
104
  });
101
105
  app.options.setCompilerOptions([declarationFile], {
102
106
  target: ts.ScriptTarget.ES5
@@ -104,7 +108,7 @@ const generateDocs = async (folderPath, declarationFile, outFolder, name) => {
104
108
  app.options.setValue("name", name);
105
109
  const [readmePath] = glob.sync("**/readme.md", {
106
110
  absolute: true,
107
- cwd: folderPath
111
+ cwd: location.manifestDir
108
112
  });
109
113
  if (readmePath) {
110
114
  app.options.setValue("readme", readmePath);
@@ -150,28 +154,26 @@ const buildFolders = async options => {
150
154
  if (folders.length === 0) {
151
155
  return console.log(translate("messages.buildSkipEmpty"));
152
156
  }
153
- const sortedPackages = buildSortedPackageMap(folders);
157
+ const sortedPackages = sortPackagesByBuildOrder(folders);
154
158
  let index = 1;
155
- for (const [, {
156
- location
157
- }] of sortedPackages) {
159
+ for (const location of sortedPackages) {
158
160
  if (options.skipPackagesWithoutTsFiles && getPackageTypescriptFiles(location).length === 0) {
159
161
  continue;
160
162
  }
161
163
  ensureTsConfig(location);
162
164
  const data = readPackageCreatorManifest(location);
163
- const logStep = step => logPackageMessage(data.Package, step, index, sortedPackages.size);
165
+ const logStep = step => logPackageMessage(data.Package, step, index, folders.length);
164
166
  logStep(translate("messages.building"));
165
- const buildResult = await build(location);
167
+ const outputDirectory = options.outDir || location.scriptsDir;
168
+ fs.mkdirSync(outputDirectory, {
169
+ recursive: true
170
+ });
171
+ const buildResult = await build(location, outputDirectory);
166
172
  const banner = options.banner ? createBannerComment(options.banner) : undefined;
167
173
  if (banner) {
168
174
  buildResult.js = banner + "\n" + buildResult.js;
169
175
  buildResult.definitions = banner + "\n" + buildResult.definitions;
170
176
  }
171
- const outputDirectory = options.outDir || location.scriptsDir;
172
- fs.mkdirSync(outputDirectory, {
173
- recursive: true
174
- });
175
177
  fs.writeFileSync(path.join(outputDirectory, `${data.Package}.js`), buildResult.js, {
176
178
  encoding: "utf8"
177
179
  });
@@ -198,7 +200,7 @@ const buildFolders = async options => {
198
200
  }
199
201
  if (options.docs) {
200
202
  logStep(translate("messages.docsGeneration"));
201
- await generateDocs(location.scriptsDir, path.join(options.outDir || location.scriptsDir, `${data.Package}.d.ts`), path.join(options.cwd, "docs", data.Package), data.Package);
203
+ await generateDocs(location, path.join(outputDirectory, `${data.Package}.d.ts`), path.join(options.cwd, "docs", data.Package), data.Package);
202
204
  }
203
205
 
204
206
  // logStep(translate("messages.built"));
@@ -238,7 +240,7 @@ const applyTsConfigOption = data => {
238
240
  data.compilerOptions.target = "es5";
239
241
  data.compilerOptions.lib = ["es5", "dom"];
240
242
  };
241
- const buildSortedPackageMap = folders => {
243
+ const sortPackagesByBuildOrder = folders => {
242
244
  const packages = Array.from(folders).reduce((acc, location) => {
243
245
  const data = readPackageNpmManifest(location);
244
246
  if (data !== undefined) {
@@ -268,9 +270,14 @@ const buildSortedPackageMap = folders => {
268
270
  return acc;
269
271
  }, {});
270
272
  const sortedPackages = toposort(packageDependencies);
271
- const result = new Map();
273
+ const result = [];
272
274
  for (const packageName of sortedPackages) {
273
- result.set(packageName, packages[packageName]);
275
+ const location = packages[packageName].location;
276
+ if (readPackageCreatorManifest(location).Package.endsWith(".Basics")) {
277
+ result.unshift(location);
278
+ } else {
279
+ result.push(location);
280
+ }
274
281
  }
275
282
  return result;
276
283
  };
@@ -316,4 +323,4 @@ var index = /*#__PURE__*/Object.freeze({
316
323
  });
317
324
 
318
325
  export { buildFolders as b, index as i, logPackageMessage as l };
319
- //# sourceMappingURL=build.mjs.map
326
+ //# sourceMappingURL=index2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.mjs","sources":["../src/lib/log.ts","../src/commands/build/tsc.ts","../src/commands/build/docs.ts","../src/lib/toposort.ts","../src/commands/build/index.ts"],"sourcesContent":["export const logPackageMessage = (\r\n\tname: string,\r\n\tstep: string,\r\n\tindex?: number,\r\n\ttotal?: number,\r\n) => {\r\n\tconst numLength = total === undefined ? undefined : total.toString().length;\r\n\r\n\tconst indexString =\r\n\t\ttotal === undefined || total < 2\r\n\t\t\t? \"\"\r\n\t\t\t: `${index!.toString().padStart(numLength!, \"0\")}/${total} `;\r\n\r\n\tconst identifierString = `${indexString}${name.padEnd(15)}`;\r\n\r\n\tconsole.log(`${identifierString} >> ${step}`);\r\n};\r\n","import ts from \"typescript\";\r\nimport * as path from \"path\";\r\nimport * as fs from \"fs\";\r\n\r\nimport { PackageLocation } from \"../../lib/package\";\r\n\r\nimport { FolderBuilder } from \".\";\r\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\r\n\r\nexport const tryReadTsConfig = (location: PackageLocation) => {\r\n\tconst { config } = ts.readConfigFile(\r\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\r\n\t\t(path) => {\r\n\t\t\ttry {\r\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\r\n\t\t\t} catch {\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\t\t},\r\n\t);\r\n\r\n\treturn config as {\r\n\t\tcompilerOptions: ts.CompilerOptions;\r\n\t};\r\n};\r\n\r\nexport const build: FolderBuilder = async (\r\n\tlocation: PackageLocation,\r\n\toutputDir: string,\r\n) => {\r\n\tconst config = tryReadTsConfig(location);\r\n\r\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\r\n\r\n\tconst result = ts.convertCompilerOptionsFromJson(\r\n\t\tconfig.compilerOptions,\r\n\t\tlocation.scriptsDir,\r\n\t);\r\n\r\n\tconst compilerOptions: ts.CompilerOptions = {\r\n\t\t...result.options,\r\n\t\tremoveComments: false,\r\n\t\tdeclaration: true,\r\n\t\tsourceMap: false,\r\n\t\t// We don't use tsc to actually emit the files, but we still need to set the correct\r\n\t\t// output directory so the compiler can rewrite the `reference path` directives.\r\n\t\toutFile: path.join(outputDir, \"out.js\"),\r\n\t\ttarget: ts.ScriptTarget.ES5,\r\n\t\tnoEmitOnError: true,\r\n\t};\r\n\r\n\tconst host = ts.createCompilerHost(compilerOptions);\r\n\thost.getCurrentDirectory = () => location.scriptsDir;\r\n\r\n\tlet js: string | undefined;\r\n\tlet definitions: string | undefined;\r\n\r\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\r\n\t\tif (fileName.endsWith(\".js\")) {\r\n\t\t\tjs = data;\r\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\r\n\t\t\tdefinitions = data;\r\n\t\t}\r\n\t};\r\n\r\n\tconst files = getPackageTypescriptFiles(location);\r\n\r\n\tif (files.length === 0) {\r\n\t\tthrow new Error(\r\n\t\t\t`Expected typescript files to exist when building a package. Packages only consisting of animation jsons do not need to be built.`,\r\n\t\t);\r\n\t}\r\n\r\n\tconst programOptions: ts.CreateProgramOptions = {\r\n\t\trootNames: files,\r\n\t\toptions: compilerOptions,\r\n\t\thost,\r\n\t};\r\n\r\n\tconst program = ts.createProgram(programOptions);\r\n\tconst emitResult = program.emit();\r\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\r\n\r\n\tif (!emitResult.emitSkipped) {\r\n\t\tif (allDiagnostics.length > 0) {\r\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\r\n\t\t}\r\n\r\n\t\tif (js === undefined || definitions === undefined) {\r\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\r\n\t\t}\r\n\r\n\t\treturn { js, definitions };\r\n\t}\r\n\r\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\r\n\r\n\tthrow new Error(error);\r\n};\r\n\r\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\r\n\tif (!diagnostic.file) {\r\n\t\treturn `${ts.flattenDiagnosticMessageText(\r\n\t\t\tdiagnostic.messageText,\r\n\t\t\t\"\\n\",\r\n\t\t)}`;\r\n\t}\r\n\r\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\r\n\t\tdiagnostic.start!,\r\n\t);\r\n\r\n\tconst message = ts.flattenDiagnosticMessageText(\r\n\t\tdiagnostic.messageText,\r\n\t\t\"\\n\",\r\n\t);\r\n\r\n\treturn `${diagnostic.file.fileName} (${line + 1},${\r\n\t\tcharacter + 1\r\n\t}): ${message}`;\r\n};\r\n","import typedoc from \"typedoc\";\r\nimport glob from \"glob\";\r\nimport ts from \"typescript\";\r\nimport * as path from \"path\";\r\nimport { PackageLocation } from \"../../lib/package\";\r\n\r\nexport const generateDocs = async (\r\n\tlocation: PackageLocation,\r\n\tdeclarationFile: string,\r\n\toutFolder: string,\r\n\tname: string,\r\n) => {\r\n\tconst app = new typedoc.Application();\r\n\r\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\r\n\r\n\tapp.bootstrap({\r\n\t\tentryPoints: [declarationFile],\r\n\t\tmedia: mediaDir,\r\n\t\tout: outFolder,\r\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\r\n\t\tskipErrorChecking: true,\r\n\t});\r\n\r\n\tapp.options.setCompilerOptions(\r\n\t\t[declarationFile],\r\n\t\t{\r\n\t\t\ttarget: ts.ScriptTarget.ES5,\r\n\t\t},\r\n\t\tundefined,\r\n\t);\r\n\r\n\tapp.options.setValue(\"name\", name);\r\n\r\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\r\n\t\tabsolute: true,\r\n\t\tcwd: location.manifestDir,\r\n\t});\r\n\r\n\tif (readmePath) {\r\n\t\tapp.options.setValue(\"readme\", readmePath);\r\n\t}\r\n\r\n\tconst project = app.convert();\r\n\r\n\tif (project) {\r\n\t\tawait app.generateDocs(project, outFolder);\r\n\t}\r\n};\r\n","// Stolen from ig.tools.core\r\n\r\nexport const toposort = (packages: Record<string, string[]>) => {\r\n\tconst queue = Object.getOwnPropertyNames(packages);\r\n\tconst result: string[] = [];\r\n\r\n\tlet index = 0;\r\n\r\n\twhile (queue.length > 0) {\r\n\t\tif (index >= queue.length) {\r\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\r\n\t\t}\r\n\r\n\t\tconst queueEntry = queue[index];\r\n\r\n\t\tconst dependencies = packages[queueEntry];\r\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\r\n\t\t\tqueue.includes(dependency),\r\n\t\t);\r\n\r\n\t\tif (dependencyQueued) {\r\n\t\t\tindex++;\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tqueue.splice(index, 1);\r\n\t\tindex = 0;\r\n\t\tresult.push(queueEntry);\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n","import * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport glob from \"glob\";\r\nimport * as terser from \"terser\";\r\n\r\nimport { logPackageMessage } from \"../../lib/log\";\r\nimport { translate } from \"../../lib/localization\";\r\nimport { build as tscBuild } from \"./tsc\";\r\nimport { generateDocs } from \"./docs\";\r\nimport {\r\n\tdetectPackage,\r\n\tPackageLocation,\r\n\treadPackageCreatorManifest,\r\n\treadPackageNpmManifest,\r\n} from \"../../lib/package\";\r\nimport { detectWorkspace, WorkspaceLocation } from \"../../lib/workspace\";\r\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\r\nimport { toposort } from \"../../lib/toposort\";\r\nimport { PackageJSON } from \"../../lib/packageJSON\";\r\n\r\nexport interface BannerOptions {\r\n\ttext: string | undefined;\r\n\tversion: string | undefined;\r\n\tcommit: string | undefined;\r\n\tcommitDirty: boolean | undefined;\r\n\tdate: Date | undefined;\r\n}\r\n\r\nexport interface BuildFoldersOptions {\r\n\tcwd: string;\r\n\tdirectories: string[];\r\n\toutDir?: string;\r\n\tminimize: boolean;\r\n\tbanner?: BannerOptions;\r\n\tclean?: boolean;\r\n\tdocs?: boolean;\r\n\tskipPackagesWithoutTsFiles?: boolean;\r\n}\r\n\r\nexport interface BuildFolderOptions extends BuildFoldersOptions {\r\n\toutFile: string;\r\n}\r\n\r\nexport interface FolderBuilderResult {\r\n\tjs: string;\r\n\tdefinitions: string;\r\n}\r\n\r\nexport type FolderBuilder = (\r\n\tlocation: PackageLocation,\r\n\toutputDir: string,\r\n) => Promise<FolderBuilderResult>;\r\n\r\ntype FolderData = {\r\n\tlocation: PackageLocation;\r\n\tdata?: PackageJSON;\r\n};\r\n\r\nexport const buildFolders = async (options: BuildFoldersOptions) => {\r\n\tif (options.outDir !== undefined && options.clean) {\r\n\t\tfs.rmSync(options.outDir, { recursive: true });\r\n\t}\r\n\r\n\tconst workspace = detectWorkspace(options.cwd);\r\n\tconst folders = resolvePackagesFromArgs(options.directories, workspace);\r\n\r\n\tif (folders.length === 0) {\r\n\t\treturn console.log(translate(\"messages.buildSkipEmpty\"));\r\n\t}\r\n\r\n\tconst sortedPackages = sortPackagesByBuildOrder(folders);\r\n\r\n\tlet index = 1;\r\n\r\n\tfor (const location of sortedPackages) {\r\n\t\tif (\r\n\t\t\toptions.skipPackagesWithoutTsFiles &&\r\n\t\t\tgetPackageTypescriptFiles(location).length === 0\r\n\t\t) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tensureTsConfig(location);\r\n\r\n\t\tconst data = readPackageCreatorManifest(location);\r\n\r\n\t\tconst logStep = (step: string) =>\r\n\t\t\tlogPackageMessage(data.Package, step, index, folders.length);\r\n\r\n\t\tlogStep(translate(\"messages.building\"));\r\n\r\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\r\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\r\n\r\n\t\tconst buildResult = await tscBuild(location, outputDirectory);\r\n\t\tconst banner = options.banner\r\n\t\t\t? createBannerComment(options.banner)\r\n\t\t\t: undefined;\r\n\r\n\t\tif (banner) {\r\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\r\n\t\t\tbuildResult.definitions = banner + \"\\n\" + buildResult.definitions;\r\n\t\t}\r\n\r\n\t\tfs.writeFileSync(\r\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\r\n\t\t\tbuildResult.js,\r\n\t\t\t{ encoding: \"utf8\" },\r\n\t\t);\r\n\t\tfs.writeFileSync(\r\n\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\r\n\t\t\tbuildResult.definitions,\r\n\t\t\t{ encoding: \"utf8\" },\r\n\t\t);\r\n\r\n\t\tif (options.minimize) {\r\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\r\n\t\t\t\tecma: 5,\r\n\t\t\t});\r\n\r\n\t\t\tconst minifiedPath = path.join(\r\n\t\t\t\toutputDirectory,\r\n\t\t\t\t`${data.Package}.min.js`,\r\n\t\t\t);\r\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\r\n\t\t\t\tencoding: \"utf8\",\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (location.path.includes(\"Basics\")) {\r\n\t\t\tfs.mkdirSync(path.join(options.cwd, \"lib\"), {\r\n\t\t\t\trecursive: true,\r\n\t\t\t});\r\n\r\n\t\t\tlogStep(translate(\"messages.basicsCopy\"));\r\n\t\t\tfs.writeFileSync(\r\n\t\t\t\tpath.join(options.cwd, \"lib\", `${data.Package}.d.ts`),\r\n\t\t\t\tbuildResult.definitions,\r\n\t\t\t\t{ encoding: \"utf8\" },\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (options.docs) {\r\n\t\t\tlogStep(translate(\"messages.docsGeneration\"));\r\n\t\t\tawait generateDocs(\r\n\t\t\t\tlocation,\r\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\r\n\t\t\t\tpath.join(options.cwd, \"docs\", data.Package),\r\n\t\t\t\tdata.Package,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\t// logStep(translate(\"messages.built\"));\r\n\r\n\t\tindex++;\r\n\t}\r\n};\r\n\r\nconst resolvePackagesFromArgs = (\r\n\targs: string[] = [],\r\n\tworkspace: WorkspaceLocation,\r\n) => {\r\n\tconst folders = new Map<string, PackageLocation>();\r\n\r\n\tfor (const arg of args) {\r\n\t\tglob.sync(arg, { cwd: workspace.path, absolute: true }).forEach(\r\n\t\t\t(folder) => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst location = detectPackage(workspace, folder);\r\n\t\t\t\t\tfolders.set(folder, location);\r\n\t\t\t\t} catch (err) {}\r\n\t\t\t},\r\n\t\t);\r\n\t}\r\n\r\n\treturn Array.from(folders.values());\r\n};\r\n\r\nconst ensureTsConfig = (location: PackageLocation) => {\r\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\r\n\r\n\tif (!fs.existsSync(tsconfigPath)) {\r\n\t\tconst content = {};\r\n\t\tapplyTsConfigOption(content);\r\n\r\n\t\tfs.writeFileSync(\r\n\t\t\ttsconfigPath,\r\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\r\n\t\t\t\"utf8\",\r\n\t\t);\r\n\t} else {\r\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\r\n\t\tapplyTsConfigOption(content);\r\n\t\tfs.writeFileSync(\r\n\t\t\ttsconfigPath,\r\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\r\n\t\t\t\"utf8\",\r\n\t\t);\r\n\t}\r\n};\r\n\r\nconst applyTsConfigOption = (data: {\r\n\tcompilerOptions?: { target?: string; lib?: string[] };\r\n}) => {\r\n\tdata.compilerOptions = data.compilerOptions ?? {};\r\n\tdata.compilerOptions.target = \"es5\";\r\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\r\n};\r\n\r\nconst sortPackagesByBuildOrder = (\r\n\tfolders: PackageLocation[],\r\n): PackageLocation[] => {\r\n\tconst packages = Array.from(folders).reduce(\r\n\t\t(\r\n\t\t\tacc: Record<string, FolderData>,\r\n\t\t\tlocation,\r\n\t\t): Record<string, FolderData> => {\r\n\t\t\tconst data = readPackageNpmManifest(location);\r\n\r\n\t\t\tif (data !== undefined) {\r\n\t\t\t\tacc[data.name] = {\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\tlocation,\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tacc[location.path] = {\r\n\t\t\t\t\tdata: undefined,\r\n\t\t\t\t\tlocation,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn acc;\r\n\t\t},\r\n\t\t{},\r\n\t);\r\n\r\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\r\n\t\t(acc, packageName) => {\r\n\t\t\tconst packageData = packages[packageName];\r\n\r\n\t\t\tif (packageData.data === undefined) {\r\n\t\t\t\tacc[packageName] = [];\r\n\t\t\t} else {\r\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\r\n\t\t\t\t\t...packageData.data.devDependencies,\r\n\t\t\t\t\t...packageData.data.dependencies,\r\n\t\t\t\t\t...packageData.data.peerDependencies,\r\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\r\n\t\t\t}\r\n\r\n\t\t\treturn acc;\r\n\t\t},\r\n\t\t{},\r\n\t);\r\n\r\n\tconst sortedPackages = toposort(packageDependencies);\r\n\tconst result: PackageLocation[] = [];\r\n\r\n\tfor (const packageName of sortedPackages) {\r\n\t\tconst location = packages[packageName].location;\r\n\r\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\r\n\t\t\tresult.unshift(location);\r\n\t\t} else {\r\n\t\t\tresult.push(location);\r\n\t\t}\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n\r\nconst createBannerComment = (banner: BannerOptions) => {\r\n\tconst bannerParts: string[] = [];\r\n\r\n\tif (banner.text) {\r\n\t\tbannerParts.push(\" * \" + banner.text);\r\n\t}\r\n\r\n\t{\r\n\t\tconst details: string[] = [];\r\n\r\n\t\tif (banner.version) {\r\n\t\t\tdetails.push(`Version: ${banner.version}`);\r\n\t\t}\r\n\t\tif (banner.commit) {\r\n\t\t\tif (banner.commitDirty) {\r\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\r\n\t\t\t} else {\r\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (banner.date) {\r\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\r\n\t\t}\r\n\r\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\r\n\t\tif (detailsText) {\r\n\t\t\tbannerParts.push(detailsText);\r\n\t\t}\r\n\t}\r\n\r\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\r\n\r\n\tif (bannerText) {\r\n\t\treturn `/*\r\n${bannerText}\r\n*\r\n* @preserve\t\t\t\r\n*/`;\r\n\t}\r\n\r\n\treturn undefined;\r\n};\r\n"],"names":["logPackageMessage","name","step","index","total","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","build","outputDir","compilerOptions","lib","result","convertCompilerOptionsFromJson","options","removeComments","declaration","sourceMap","outFile","target","ScriptTarget","ES5","noEmitOnError","host","createCompilerHost","getCurrentDirectory","js","definitions","writeFile","fileName","data","writeByteOrderMark","endsWith","files","getPackageTypescriptFiles","Error","programOptions","rootNames","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","map","createErrorMessage","error","diagnostic","file","flattenDiagnosticMessageText","messageText","line","character","getLineAndCharacterOfPosition","start","message","generateDocs","declarationFile","outFolder","app","typedoc","Application","mediaDir","manifestDir","bootstrap","entryPoints","media","out","tsconfig","skipErrorChecking","setCompilerOptions","setValue","readmePath","glob","sync","absolute","cwd","project","convert","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","push","buildFolders","outDir","clean","rmSync","recursive","workspace","detectWorkspace","folders","resolvePackagesFromArgs","directories","translate","sortedPackages","sortPackagesByBuildOrder","skipPackagesWithoutTsFiles","ensureTsConfig","readPackageCreatorManifest","logStep","Package","outputDirectory","mkdirSync","buildResult","tscBuild","banner","createBannerComment","writeFileSync","encoding","minimize","minifyResult","terser","minify","ecma","minifiedPath","code","docs","args","Map","arg","forEach","folder","detectPackage","set","err","Array","from","values","tsconfigPath","existsSync","content","applyTsConfigOption","JSON","stringify","parse","reduce","acc","readPackageNpmManifest","packageDependencies","packageName","packageData","devDependencies","peerDependencies","filter","unshift","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":"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"}
@@ -3,17 +3,17 @@ import * as path from 'path';
3
3
  import * as fs from 'fs';
4
4
  import { pipeline } from 'stream/promises';
5
5
  import { execSync } from 'child_process';
6
- import { l as logPackageMessage, b as buildFolders } from './build.mjs';
7
- import { p as parseCreatorPackageName, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, w as writePackageCreatorManifest, c as readPackageAnimationList, i as isErrorENOENT, e as readPackageCreatorIndex, d as detectWorkspace, a as detectPackage, f as readWorkspaceNpmManifest, t as translate, h as getPackageReleasesDirectory } from '../cli.mjs';
8
- import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from '../versionFile.mjs';
6
+ import { l as logPackageMessage, b as buildFolders } from './index2.mjs';
7
+ import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, w as writePackageCreatorManifest, c as readPackageAnimationList, i as isErrorENOENT, e as readPackageCreatorIndex, d as detectWorkspace, a as detectPackage, f as readWorkspaceNpmManifest, t as translate, h as getPackageReleasesDirectory } from './cli.mjs';
8
+ import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile.mjs';
9
9
  import axios from 'axios';
10
- import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from '../dependencies.mjs';
10
+ import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies.mjs';
11
11
  import Ajv from 'ajv';
12
12
  import JSZip from 'jszip';
13
13
  import * as terser from 'terser';
14
14
  import 'glob';
15
15
  import 'typescript';
16
- import '../scripts.mjs';
16
+ import './scripts.mjs';
17
17
  import 'typedoc';
18
18
  import 'update-notifier';
19
19
  import 'yargs/yargs';
@@ -25,11 +25,11 @@ import 'simple-git';
25
25
  import 'resolve';
26
26
 
27
27
  const PLUGIN_ID = "0feba3a0-b6d1-11e6-9598-0800200c9a66";
28
- /**
29
- * Starts an IG.Asset.Server session and returns the sessionId
30
- *
31
- * @param {SessionStartParams} params
32
- * @returns
28
+ /**
29
+ * Starts an IG.Asset.Server session and returns the sessionId
30
+ *
31
+ * @param {SessionStartParams} params
32
+ * @returns
33
33
  */
34
34
  const startSession = async ({
35
35
  url,
@@ -128,10 +128,10 @@ const uploadPackageToUrl = (url, path, zipFilePath) => axios.post(path, fs.creat
128
128
 
129
129
  const buildArchiveFromPublishedPackage = (location, manifest, creatorPackage) => {
130
130
  const archive = new JSZip();
131
- archive.file("_Package.json", JSON.stringify(creatorPackage, null, 2));
131
+ archive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));
132
132
  const index = readPublishedPackageCreatorIndex(location);
133
133
  if (index !== undefined) {
134
- archive.file("_Index.json", JSON.stringify(index, null, 2));
134
+ archive.file(INDEX_FILE, JSON.stringify(index, null, 2));
135
135
  }
136
136
  archive.file(manifest.main, fs.createReadStream(path.join(location.path, manifest.main)));
137
137
  return archive;
@@ -244,10 +244,10 @@ Packaging without a javascript file is only allowed when animation json files ar
244
244
  ecma: 5
245
245
  });
246
246
  archive.file(`${data.Package}.js`, minifyResult.code);
247
- archive.file(`_Package.json`, JSON.stringify(data, null, 2));
247
+ archive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));
248
248
  const creatorIndex = readPackageCreatorIndex(packageLocation);
249
249
  if (creatorIndex !== undefined) {
250
- archive.file(`_Index.json`, JSON.stringify(creatorIndex, null, 2));
250
+ archive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));
251
251
  }
252
252
  for (const directory of scriptDirectories) {
253
253
  try {
@@ -564,4 +564,4 @@ const createSessionManager = async params => {
564
564
  };
565
565
 
566
566
  export { releaseFolder };
567
- //# sourceMappingURL=publish.mjs.map
567
+ //# sourceMappingURL=index3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index3.mjs","sources":["../src/lib/assetService.ts","../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import axios from \"axios\";\r\nimport * as fs from \"fs\";\r\n\r\nimport { Authentication } from \"./authentication\";\r\n\r\nexport interface SessionStartParams\r\n\textends Omit<\r\n\t\tSessionStartPayload,\r\n\t\t\"user\" | \"password\" | \"license\" | \"plugin\"\r\n\t> {\r\n\tauthentication: Authentication;\r\n\turl: string;\r\n}\r\n\r\nexport interface SessionStartPayload {\r\n\tplugin: string;\r\n\taddress: string | undefined;\r\n\tdomain: string;\r\n\tsubDomain: string;\r\n\tuser: string | undefined;\r\n\tpassword: string | undefined;\r\n\tlicense: string | undefined;\r\n}\r\n\r\nexport interface SessionStartResponse {\r\n\tsession: string;\r\n\tstate: string;\r\n}\r\n\r\nconst PLUGIN_ID = \"0feba3a0-b6d1-11e6-9598-0800200c9a66\";\r\n\r\nexport interface Session {\r\n\turl: string;\r\n\tsessionId: string;\r\n\tdomain: string;\r\n\tsubDomain: string;\r\n}\r\n\r\n/**\r\n * Starts an IG.Asset.Server session and returns the sessionId\r\n *\r\n * @param {SessionStartParams} params\r\n * @returns\r\n */\r\nexport const startSession = async ({\r\n\turl,\r\n\tauthentication,\r\n\t...params\r\n}: SessionStartParams): Promise<Session> => {\r\n\tconst payload: SessionStartPayload = {\r\n\t\t...params,\r\n\t\tuser: undefined,\r\n\t\tpassword: undefined,\r\n\t\tlicense: undefined,\r\n\t\tplugin: PLUGIN_ID,\r\n\t};\r\n\r\n\tif (authentication.type === \"credentials\") {\r\n\t\tpayload.user = authentication.username;\r\n\t\tpayload.password = authentication.password;\r\n\t} else if (authentication.type === \"license\") {\r\n\t\tpayload.license = authentication.license;\r\n\t}\r\n\r\n\tconst {\r\n\t\tdata: { session: sessionId, state },\r\n\t} = await axios.post<SessionStartResponse>(\r\n\t\t`Session/Start2`,\r\n\t\tJSON.stringify(payload),\r\n\t\t{\r\n\t\t\tbaseURL: url,\r\n\t\t},\r\n\t);\r\n\r\n\tif (state !== \"SUCCESS\") {\r\n\t\tthrow new Error(\r\n\t\t\t`Could not start session: IG.Asset.Server responded with ${state}`,\r\n\t\t);\r\n\t}\r\n\r\n\treturn {\r\n\t\turl,\r\n\t\tsessionId,\r\n\t\tdomain: params.domain,\r\n\t\tsubDomain: params.subDomain,\r\n\t};\r\n};\r\n\r\nexport const closeSession = async (session: Session) => {\r\n\tawait axios.get(`Session/Close/${session.sessionId}`, {\r\n\t\tbaseURL: session.url,\r\n\t});\r\n};\r\n\r\nexport interface UploadPackageDetails {\r\n\tname: string;\r\n\tversion: string;\r\n}\r\n\r\nexport const uploadPackage = async (\r\n\tsession: Session,\r\n\t{ name, version }: UploadPackageDetails,\r\n\tzipFilePath: string,\r\n) => {\r\n\ttry {\r\n\t\tawait uploadPackageToUrl(\r\n\t\t\tsession.url,\r\n\t\t\t`UploadPackage/${session.sessionId}/${name}_${version}`,\r\n\t\t\tzipFilePath,\r\n\t\t);\r\n\t} catch (err) {\r\n\t\tawait uploadPackageToUrl(\r\n\t\t\tsession.url,\r\n\t\t\t`UploadPackage/${session.sessionId}/${name}_${version}/`,\r\n\t\t\tzipFilePath,\r\n\t\t);\r\n\t}\r\n};\r\n\r\nexport interface ExistingPackage {\r\n\tscope: string;\r\n\tinformalVersion: string;\r\n\tsupport: boolean;\r\n\tnumericVersion: number;\r\n}\r\n\r\nexport const getExistingPackages = async (\r\n\tsession: Session,\r\n): Promise<ExistingPackage[] | undefined> =>\r\n\taxios\r\n\t\t.get(`Script/GetInformation/${session.sessionId}`, {\r\n\t\t\tbaseURL: session.url,\r\n\t\t\tvalidateStatus: (status) => status === 404 || status === 200,\r\n\t\t})\r\n\t\t.then(({ data }) => (Array.isArray(data) ? data : undefined));\r\n\r\nconst uploadPackageToUrl = (url: string, path: string, zipFilePath: string) =>\r\n\taxios\r\n\t\t.post(path, fs.createReadStream(zipFilePath), {\r\n\t\t\tbaseURL: url,\r\n\t\t})\r\n\t\t.then(({ data, status }) => {\r\n\t\t\tlet objectBody: any;\r\n\r\n\t\t\tif (typeof data === \"string\") {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tobjectBody = JSON.parse(data);\r\n\t\t\t\t} catch (err) {}\r\n\t\t\t} else if (typeof data === \"object\") {\r\n\t\t\t\tobjectBody = data;\r\n\t\t\t}\r\n\r\n\t\t\tif (objectBody !== undefined) {\r\n\t\t\t\tif (\"state\" in objectBody && objectBody.state !== \"SUCCESS\") {\r\n\t\t\t\t\tthrow new Error(objectBody.response ?? objectBody.state);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (status >= 400) {\r\n\t\t\t\tif (objectBody !== undefined) {\r\n\t\t\t\t\tlet text = \"\";\r\n\r\n\t\t\t\t\tfor (const key in objectBody) {\r\n\t\t\t\t\t\ttext += key + \": \\n\";\r\n\t\t\t\t\t\tif (typeof objectBody[key] === \"object\") {\r\n\t\t\t\t\t\t\ttext += JSON.stringify(\r\n\t\t\t\t\t\t\t\tobjectBody[key],\r\n\t\t\t\t\t\t\t\tundefined,\r\n\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\ttext += objectBody[key];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttext += \"\\n\\n\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthrow new Error(text);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthrow new Error(data);\r\n\t\t\t}\r\n\r\n\t\t\treturn data;\r\n\t\t});\r\n","import Ajv, { ValidateFunction } from \"ajv\";\r\nimport axios from \"axios\";\r\nimport JSZip from \"jszip\";\r\nimport * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport * as terser from \"terser\";\r\n\r\nimport { isErrorENOENT } from \"../../lib/error\";\r\nimport { logPackageMessage } from \"../../lib/log\";\r\nimport {\r\n\tCreatorPackage,\r\n\treadPackageCreatorManifest,\r\n\twritePackageCreatorManifest,\r\n\treadPackageAnimationList,\r\n\treadPackageCreatorIndex,\r\n\tparseCreatorPackageName,\r\n\tPackageLocation,\r\n\tPackageNpmManifest,\r\n\tINDEX_FILE,\r\n\tPACKAGE_FILE,\r\n} from \"../../lib/package\";\r\nimport { getWorkspaceOutputPath, WorkspaceLocation } from \"../../lib/workspace\";\r\nimport {\r\n\tPublishedPackageLocation,\r\n\treadPublishedPackageCreatorIndex,\r\n} from \"../../lib/publishedPackage\";\r\n\r\nexport const buildArchiveFromPublishedPackage = (\r\n\tlocation: PublishedPackageLocation,\r\n\tmanifest: PackageNpmManifest,\r\n\tcreatorPackage: CreatorPackage,\r\n) => {\r\n\tconst archive = new JSZip();\r\n\r\n\tarchive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));\r\n\r\n\tconst index = readPublishedPackageCreatorIndex(location);\r\n\r\n\tif (index !== undefined) {\r\n\t\tarchive.file(INDEX_FILE, JSON.stringify(index, null, 2));\r\n\t}\r\n\r\n\tarchive.file(\r\n\t\tmanifest.main,\r\n\t\tfs.createReadStream(path.join(location.path, manifest.main)),\r\n\t);\r\n\r\n\treturn archive;\r\n};\r\n\r\nlet validateSchema: ValidateFunction | undefined;\r\n\r\nconst runtimeScripts: CreatorPackage[\"Type\"][] = [\r\n\t\"Interactor\",\r\n\t\"Core\",\r\n\t\"Mixed\",\r\n];\r\n\r\nconst notRuntimeScripts: CreatorPackage[\"Type\"][] = [\"Context\", \"Evaluator\"];\r\n\r\nexport const buildArchiveFromPackage = async (\r\n\tworkspaceLocation: WorkspaceLocation,\r\n\tpackageLocation: PackageLocation,\r\n\tdata: CreatorPackage,\r\n) => {\r\n\tconst { domain, subdomain } = parseCreatorPackageName(data);\r\n\r\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\r\n\r\n\tif (validateSchema === undefined) {\r\n\t\tvalidateSchema = await axios\r\n\t\t\t.get(\r\n\t\t\t\t\"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\r\n\t\t\t)\r\n\t\t\t.then(({ data }) =>\r\n\t\t\t\tnew Ajv({\r\n\t\t\t\t\tcoerceTypes: true,\r\n\t\t\t\t\tallErrors: true,\r\n\t\t\t\t\tremoveAdditional: true,\r\n\t\t\t\t\tuseDefaults: \"empty\",\r\n\t\t\t\t\tvalidateSchema: \"log\",\r\n\t\t\t\t}).compile(data),\r\n\t\t\t);\r\n\t}\r\n\r\n\tconst libFilePath = path.join(\r\n\t\tgetWorkspaceOutputPath(workspaceLocation),\r\n\t\t`${data.Package}.min.js`,\r\n\t);\r\n\r\n\tconst scriptDirectories: string[] = [\r\n\t\tpackageLocation.path,\r\n\t\tpackageLocation.scriptsDir,\r\n\t];\r\n\r\n\tif (subdomain === \"GFX.Standard\") {\r\n\t\tlogStep(`Including Images folder`);\r\n\t\tscriptDirectories.push(path.join(packageLocation.path, \"Images\"));\r\n\t}\r\n\r\n\tconst manifest = readPackageCreatorManifest(packageLocation);\r\n\r\n\tif (manifest !== undefined) {\r\n\t\tif (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {\r\n\t\t\tlogStep(\"Setting script RunTime to false because of script type\");\r\n\t\t\twritePackageCreatorManifest(packageLocation, {\r\n\t\t\t\t...manifest,\r\n\t\t\t\tRunTime: false,\r\n\t\t\t});\r\n\t\t} else if (\r\n\t\t\t!manifest.RunTime &&\r\n\t\t\truntimeScripts.includes(manifest.Type)\r\n\t\t) {\r\n\t\t\tlogStep(\"Setting script RunTime to true because of script type\");\r\n\t\t\twritePackageCreatorManifest(packageLocation, {\r\n\t\t\t\t...manifest,\r\n\t\t\t\tRunTime: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t// if (index === undefined) {\r\n\t// \tthrow new Error(\r\n\t// \t\t`Could not find an \"${INDEX_FILE}\" file in \"${primaryScriptDir}\"`,\r\n\t// \t);\r\n\t// }\r\n\r\n\tconst animations = new Map<string, string>();\r\n\r\n\tfor (const scriptFilePath of readPackageAnimationList(packageLocation)) {\r\n\t\tconst content = fs.readFileSync(scriptFilePath, { encoding: \"utf8\" })!;\r\n\r\n\t\tlet data: { Id: string };\r\n\r\n\t\ttry {\r\n\t\t\tdata = JSON.parse(content);\r\n\t\t} catch (err) {\r\n\t\t\tconst relativePath = path.relative(\r\n\t\t\t\tworkspaceLocation.path,\r\n\t\t\t\tscriptFilePath,\r\n\t\t\t);\r\n\r\n\t\t\tif (err instanceof SyntaxError) {\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`Encountered invalid syntax in file \"${relativePath}\": ${String(\r\n\t\t\t\t\t\terr,\r\n\t\t\t\t\t)}`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tthrow new Error(\r\n\t\t\t\t`Encountered an unexpected error while parsing animation json file at path \"${relativePath}\"`,\r\n\t\t\t\t{\r\n\t\t\t\t\tcause: err,\r\n\t\t\t\t},\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tvalidateSchema!(data);\r\n\r\n\t\tanimations.set(data.Id, JSON.stringify(data));\r\n\t}\r\n\r\n\tlet libFile: string | undefined;\r\n\r\n\ttry {\r\n\t\tlibFile = fs.readFileSync(libFilePath, { encoding: \"utf8\" });\r\n\t} catch (err) {\r\n\t\tif (!isErrorENOENT(err)) {\r\n\t\t\tthrow err;\r\n\t\t}\r\n\t}\r\n\r\n\tif (libFile === undefined) {\r\n\t\tif (animations.size === 0) {\r\n\t\t\tthrow new Error(`Could not find a javascript file at \"${libFilePath}\".\r\nPackaging without a javascript file is only allowed when animation json files are available`);\r\n\t\t}\r\n\t}\r\n\r\n\tconst archive = new JSZip();\r\n\r\n\tlet library: string = \"\";\r\n\r\n\tif (libFile) {\r\n\t\tlibrary = libFile;\r\n\t}\r\n\r\n\tif (!library) {\r\n\t\tconst date = new Date(Date.now());\r\n\t\tlibrary = `/* This file is part of the ${domain} Data Packages.\r\n\t\t* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;\r\n\t}\r\n\r\n\tif (animations.size > 0) {\r\n\t\tconst scopeParts = data.Scope.split(\".\");\r\n\t\tconst scope = data.Scope;\r\n\r\n\t\tlibrary += createNamespace(scopeParts);\r\n\r\n\t\tfor (const [name, data] of animations) {\r\n\t\t\tlibrary += `${scope}.${name} = ` + data + \";\";\r\n\t\t\tlogPackageMessage(\r\n\t\t\t\tmanifest.Package,\r\n\t\t\t\t`Added animation ${scope}.${name}`,\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tconst minifyResult = await terser.minify(library, { ecma: 5 });\r\n\r\n\tarchive.file(`${data.Package}.js`, minifyResult.code!);\r\n\tarchive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));\r\n\r\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\r\n\r\n\tif (creatorIndex !== undefined) {\r\n\t\tarchive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));\r\n\t}\r\n\r\n\tfor (const directory of scriptDirectories) {\r\n\t\ttry {\r\n\t\t\tfor (const file of fs.readdirSync(directory)) {\r\n\t\t\t\tconst { ext } = path.parse(file);\r\n\r\n\t\t\t\tswitch (ext) {\r\n\t\t\t\t\tcase \".png\":\r\n\t\t\t\t\tcase \".jpeg\":\r\n\t\t\t\t\tcase \".jpg\":\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tarchive.file(\r\n\t\t\t\t\tfile,\r\n\t\t\t\t\tfs.createReadStream(path.join(directory, file)),\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tconsole.error(`Script directory \"${directory}\" does not exist`);\r\n\t\t}\r\n\t}\r\n\r\n\treturn archive;\r\n};\r\n\r\nconst createNamespace = (parts: string[]) => {\r\n\tlet code = `var ${parts[0]};`;\r\n\r\n\tfor (let index = 0; index < parts.length; index++) {\r\n\t\tconst path = parts.slice(0, index + 1).join(\".\");\r\n\r\n\t\tcode += `\\n(${path} = ${path} || {});`;\r\n\t}\r\n\r\n\treturn code;\r\n};\r\n","import * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport { pipeline } from \"stream/promises\";\r\nimport { execSync } from \"child_process\";\r\n\r\nimport { logPackageMessage } from \"../../lib/log\";\r\nimport { translate } from \"../../lib/localization\";\r\nimport { Authentication } from \"../../lib/authentication\";\r\nimport {\r\n\tCreatorPackage,\r\n\tdetectPackage,\r\n\tgetPackageReleasesDirectory,\r\n\tparseCreatorPackageName,\r\n\treadPackageCreatorManifest,\r\n} from \"../../lib/package\";\r\nimport {\r\n\tdetectWorkspace,\r\n\tgetWorkspaceOutputPath,\r\n\treadWorkspaceNpmManifest,\r\n\tWorkspaceLocation,\r\n} from \"../../lib/workspace\";\r\nimport { getVersionInformationFromGit } from \"../../lib/git\";\r\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\r\nimport {\r\n\tparseVersionFromNumericVersion,\r\n\tparseVersionFromString,\r\n} from \"../../lib/parseVersion\";\r\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\r\nimport * as AssetService from \"../../lib/assetService\";\r\nimport { isErrorENOENT } from \"../../lib/error\";\r\nimport { determineWorkspaceIGLibraries } from \"../../lib/dependencies\";\r\nimport {\r\n\treadPublishedPackageCreatorManifest,\r\n\treadPublishedPackageNpmManifest,\r\n} from \"../../lib/publishedPackage\";\r\nimport { Prompter } from \"../../lib/prompter\";\r\nimport { PackageVersion } from \"../../lib/packageVersion\";\r\n\r\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\r\nimport {\r\n\tbuildArchiveFromPackage,\r\n\tbuildArchiveFromPublishedPackage,\r\n} from \"./zip\";\r\n\r\nexport interface ReleaseFolderOptions\r\n\textends Omit<\r\n\t\tBuildFoldersOptions,\r\n\t\t\"skipPackagesWithoutTsFiles\" | \"banner\" | \"directories\"\r\n\t> {\r\n\tdirectory: string;\r\n\tnoUpload: boolean;\r\n\tnewVersion: string;\r\n\tdomain?: string;\r\n\tsubdomain?: string;\r\n\taddress?: string;\r\n\tservice: string;\r\n\tauthentication?: Authentication;\r\n\tpushOnly: boolean;\r\n\tbanner?: boolean;\r\n\tprompter: Prompter;\r\n}\r\n\r\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\r\n\tconst workspace = detectWorkspace(options.cwd);\r\n\tconst location = detectPackage(workspace, options.directory);\r\n\r\n\tconst { write: writeVersionFile, reset: resetVersionFile } =\r\n\t\tgetVersionFileHandler(location);\r\n\r\n\tconst packageDescription = readPackageCreatorManifest(location);\r\n\tconst fullPackageName = packageDescription.Package;\r\n\tconst { domain, subdomain } = parseCreatorPackageName(packageDescription);\r\n\r\n\tconst publishDomain = options.domain ?? domain;\r\n\tconst publishSubdomain = options.subdomain ?? subdomain;\r\n\r\n\tconst sharedPackageJson = readWorkspaceNpmManifest(workspace);\r\n\r\n\tlet newVersion: PackageVersion;\r\n\ttry {\r\n\t\tnewVersion = parseVersionFromString(options.newVersion);\r\n\t} catch (err) {\r\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\r\n\t}\r\n\r\n\tif (newVersion.buildNumber < 100) {\r\n\t\tnewVersion.preRelease = {\r\n\t\t\ttype: \"beta\",\r\n\t\t\tversion: newVersion.buildNumber,\r\n\t\t};\r\n\t} else if (newVersion.buildNumber > 100) {\r\n\t\tnewVersion.preRelease = {\r\n\t\t\ttype: \"patch\",\r\n\t\t\tversion: newVersion.buildNumber - 100,\r\n\t\t};\r\n\t}\r\n\r\n\tif (sharedPackageJson !== undefined) {\r\n\t\tlogPackageMessage(\r\n\t\t\tpackageDescription.Package,\r\n\t\t\t`Running npm install to make sure all dependencies are up to date`,\r\n\t\t);\r\n\t\texecSync(`npm install`, { encoding: \"utf-8\", cwd: workspace.path });\r\n\t}\r\n\r\n\tconst binDir = getWorkspaceOutputPath(workspace);\r\n\tfs.mkdirSync(binDir, { recursive: true });\r\n\r\n\tlet assetServerPackageDetails: AssetService.UploadPackageDetails;\r\n\r\n\tlet packageNameWithVersion: string;\r\n\r\n\t{\r\n\t\tconst versionWithoutPrelease = newVersion.clone();\r\n\t\tversionWithoutPrelease.preRelease = undefined;\r\n\t\tconst newVersionString = versionWithoutPrelease.toVersionString({\r\n\t\t\tbuildNumber: true,\r\n\t\t});\r\n\t\tpackageNameWithVersion = `${packageDescription.Package}_${newVersionString}`;\r\n\r\n\t\tassetServerPackageDetails = {\r\n\t\t\tname: packageDescription.Package,\r\n\t\t\tversion: newVersionString,\r\n\t\t};\r\n\t}\r\n\r\n\tconst zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\r\n\r\n\ttry {\r\n\t\tif (options.pushOnly) {\r\n\t\t\tif (!fs.existsSync(zipFilePath)) {\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`Expected a zip file to exist at path ${zipFilePath} since pushOnly is specified`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tconst gitVersionInformation = await getVersionInformationFromGit(\r\n\t\t\t\tworkspace,\r\n\t\t\t\tlocation,\r\n\t\t\t);\r\n\r\n\t\t\twriteVersionFile(fullPackageName, newVersion);\r\n\r\n\t\t\tconst bannerText =\r\n\t\t\t\tsharedPackageJson !== undefined\r\n\t\t\t\t\t? getWorkspaceBannerText(sharedPackageJson)\r\n\t\t\t\t\t: undefined;\r\n\r\n\t\t\tawait buildFolders({\r\n\t\t\t\t...options,\r\n\t\t\t\tdirectories: [location.path],\r\n\t\t\t\tskipPackagesWithoutTsFiles: true,\r\n\t\t\t\tbanner: options.banner\r\n\t\t\t\t\t? {\r\n\t\t\t\t\t\t\ttext: bannerText,\r\n\t\t\t\t\t\t\tcommit: gitVersionInformation.commit,\r\n\t\t\t\t\t\t\tcommitDirty: gitVersionInformation.dirty,\r\n\t\t\t\t\t\t\tversion: newVersion.toVersionString({\r\n\t\t\t\t\t\t\t\tbuildNumber: true,\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\tdate: new Date(Date.now()),\r\n\t\t\t\t\t\t\t// gitVersionInformation.commitDate\r\n\t\t\t\t\t\t\t// \t? new Date(gitVersionInformation.commitDate)\r\n\t\t\t\t\t\t\t// \t: new Date(Date.now()),\r\n\t\t\t\t\t }\r\n\t\t\t\t\t: undefined,\r\n\t\t\t});\r\n\r\n\t\t\tnewVersion.preRelease = undefined;\r\n\r\n\t\t\ttry {\r\n\t\t\t\tfs.rmSync(zipFilePath);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tif (!isErrorENOENT(err)) {\r\n\t\t\t\t\tthrow err;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tconst archive = await buildArchiveFromPackage(\r\n\t\t\t\tworkspace,\r\n\t\t\t\tlocation,\r\n\t\t\t\tpackageDescription,\r\n\t\t\t);\r\n\r\n\t\t\tconst zipOutputStream = fs.createWriteStream(zipFilePath);\r\n\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\r\n\t\t}\r\n\r\n\t\tif (!options.noUpload) {\r\n\t\t\tif (!options.authentication) {\r\n\t\t\t\tthrow new Error(`Expected authentication to be available`);\r\n\t\t\t}\r\n\r\n\t\t\tlogPackageMessage(\r\n\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t`Opening connection to IG.Asset.Server`,\r\n\t\t\t);\r\n\r\n\t\t\tconst sessionManager = await createSessionManager({\r\n\t\t\t\turl: options.service,\r\n\t\t\t\taddress: options.address,\r\n\t\t\t\tdomain: publishDomain,\r\n\t\t\t\tsubDomain: publishSubdomain,\r\n\t\t\t\tauthentication: options.authentication,\r\n\t\t\t});\r\n\r\n\t\t\ttry {\r\n\t\t\t\tif (\r\n\t\t\t\t\t!(await ensureRequiredVersions(\r\n\t\t\t\t\t\tworkspace,\r\n\t\t\t\t\t\tpackageDescription,\r\n\t\t\t\t\t\tsessionManager,\r\n\t\t\t\t\t\toptions.prompter,\r\n\t\t\t\t\t))\r\n\t\t\t\t) {\r\n\t\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t\t\t\"Failed to ensure required dependency versions: IG.Asset.Server does not yet support required apis for dependency check\",\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\r\n\t\t\t\t);\r\n\r\n\t\t\t\tawait AssetService.uploadPackage(\r\n\t\t\t\t\tsessionManager.getTargetSession(),\r\n\t\t\t\t\tassetServerPackageDetails,\r\n\t\t\t\t\tzipFilePath,\r\n\t\t\t\t);\r\n\t\t\t} finally {\r\n\t\t\t\tawait sessionManager.destroy().catch((err) => {\r\n\t\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s): ${err}`,\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (err) {\r\n\t\tresetVersionFile();\r\n\t\tthrow err;\r\n\t}\r\n\r\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\r\n\t\tlogPackageMessage(\r\n\t\t\tfullPackageName,\r\n\t\t\ttranslate(\"messages.movingReleaseZip\"),\r\n\t\t);\r\n\r\n\t\tconst zipFileName = `${packageNameWithVersion}.zip`;\r\n\t\tconst releasesPath = getPackageReleasesDirectory(location);\r\n\r\n\t\tfs.mkdirSync(releasesPath, { recursive: true });\r\n\t\tfs.copyFileSync(zipFilePath, path.join(releasesPath, zipFileName));\r\n\t}\r\n};\r\n\r\nconst ensureRequiredVersions = async (\r\n\tworkspaceLocation: WorkspaceLocation,\r\n\tcreatorPackage: CreatorPackage,\r\n\tsessionManager: SessionManager,\r\n\tprompter: Prompter,\r\n) => {\r\n\tinterface UploadedPackage\r\n\t\textends Omit<AssetService.ExistingPackage, \"version\"> {\r\n\t\tversion: PackageVersion;\r\n\t}\r\n\r\n\tconst libraries = determineWorkspaceIGLibraries(workspaceLocation);\r\n\r\n\t// If there are no libraries, we don't need to check for required versions\r\n\tif (libraries.length === 0) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tconst targetSession = sessionManager.getTargetSession();\r\n\r\n\tconst rawUploadedPackages = await AssetService.getExistingPackages(\r\n\t\ttargetSession,\r\n\t);\r\n\r\n\tif (rawUploadedPackages === undefined) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tconst uploadedPackages = rawUploadedPackages.map(\r\n\t\t(entry): UploadedPackage => {\r\n\t\t\tlet version: PackageVersion;\r\n\r\n\t\t\ttry {\r\n\t\t\t\tversion = parseVersionFromNumericVersion(entry.numericVersion);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`Encountered invalid format for version ${entry.numericVersion}`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (version.buildNumber < 100) {\r\n\t\t\t\tversion.preRelease = {\r\n\t\t\t\t\ttype: \"beta\",\r\n\t\t\t\t\tversion: version.buildNumber,\r\n\t\t\t\t};\r\n\t\t\t} else if (version.buildNumber > 100) {\r\n\t\t\t\tversion.preRelease = {\r\n\t\t\t\t\ttype: \"patch\",\r\n\t\t\t\t\tversion: version.buildNumber - 100,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...entry,\r\n\t\t\t\tversion,\r\n\t\t\t};\r\n\t\t},\r\n\t);\r\n\r\n\tfor (const libraryLocation of libraries) {\r\n\t\tconst libraryManifest =\r\n\t\t\treadPublishedPackageNpmManifest(libraryLocation);\r\n\t\tconst libraryCreatorPackage =\r\n\t\t\treadPublishedPackageCreatorManifest(libraryLocation);\r\n\r\n\t\tif (\r\n\t\t\tlibraryCreatorPackage === undefined ||\r\n\t\t\tlibraryManifest.main === undefined ||\r\n\t\t\tlibraryCreatorPackage.Package === creatorPackage.Package\r\n\t\t) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconst libraryVersion = PackageVersion.extractFromLine(\r\n\t\t\tlibraryManifest.version,\r\n\t\t);\r\n\r\n\t\tif (libraryVersion.preRelease) {\r\n\t\t\tlibraryVersion.buildNumber = libraryVersion.preRelease.version;\r\n\t\t\tlibraryVersion.preRelease = undefined;\r\n\t\t} else {\r\n\t\t\tlibraryVersion.buildNumber = 100;\r\n\t\t}\r\n\r\n\t\tlet uploadedPackageInBasics: UploadedPackage | undefined;\r\n\t\tlet uploadedPackageInTarget: UploadedPackage | undefined;\r\n\r\n\t\tfor (const uploadedPackage of uploadedPackages) {\r\n\t\t\tif (uploadedPackage.scope === libraryCreatorPackage.Package) {\r\n\t\t\t\tif (uploadedPackage.support) {\r\n\t\t\t\t\tuploadedPackageInBasics = uploadedPackage;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tuploadedPackageInTarget = uploadedPackage;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst validInBasics =\r\n\t\t\tuploadedPackageInBasics !== undefined &&\r\n\t\t\t!uploadedPackageInBasics.version.isLesserThan(libraryVersion);\r\n\t\tconst validInTarget =\r\n\t\t\tuploadedPackageInTarget !== undefined &&\r\n\t\t\t!uploadedPackageInTarget.version.isLesserThan(libraryVersion);\r\n\r\n\t\tif (validInBasics || validInTarget) {\r\n\t\t\tif (\r\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\r\n\t\t\t\t(uploadedPackageInBasics !== undefined ||\r\n\t\t\t\t\tuploadedPackageInTarget !== undefined)\r\n\t\t\t) {\r\n\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\tcreatorPackage.Package,\r\n\t\t\t\t\t`Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tlogPackageMessage(\r\n\t\t\tcreatorPackage.Package,\r\n\t\t\t`Requested at least version ${libraryVersion.toVersionString({\r\n\t\t\t\tbuildNumber: true,\r\n\t\t\t})} for package ${libraryCreatorPackage.Package}`,\r\n\t\t);\r\n\r\n\t\tif (targetSession.subDomain !== \"Basics\" && uploadedPackageInTarget) {\r\n\t\t\tconst version = uploadedPackageInTarget.version.toVersionString({\r\n\t\t\t\tbuildNumber: true,\r\n\t\t\t});\r\n\r\n\t\t\tlogPackageMessage(\r\n\t\t\t\tcreatorPackage.Package,\r\n\t\t\t\t`Found invalid version ${version} for package ${libraryCreatorPackage.Package} in ${targetSession.subDomain}`,\r\n\t\t\t);\r\n\t\t}\r\n\t\tif (uploadedPackageInBasics) {\r\n\t\t\tconst version = uploadedPackageInBasics.version.toVersionString({\r\n\t\t\t\tbuildNumber: true,\r\n\t\t\t});\r\n\r\n\t\t\tlet message = `Found invalid version ${version} for package ${libraryCreatorPackage.Package} in Basics`;\r\n\r\n\t\t\tif (\r\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\r\n\t\t\t\tuploadedPackageInTarget\r\n\t\t\t) {\r\n\t\t\t\tmessage += `. This version will not be used since the package also exists in ${targetSession.subDomain}`;\r\n\t\t\t}\r\n\r\n\t\t\tlogPackageMessage(creatorPackage.Package, message);\r\n\t\t}\r\n\r\n\t\tconst possibleTargets: string[] = [\"Basics\"];\r\n\r\n\t\tif (targetSession.subDomain !== \"Basics\") {\r\n\t\t\tpossibleTargets.push(targetSession.subDomain);\r\n\t\t}\r\n\r\n\t\tconst uploadTargetScope = await prompter.ask({\r\n\t\t\tmessage: `Select the scope to upload the required version of ${libraryCreatorPackage.Package} to or select \"skip\" to skip the upload.`,\r\n\t\t\toptions: [...possibleTargets, \"Skip\"],\r\n\t\t\tdefault: possibleTargets[0],\r\n\t\t});\r\n\r\n\t\tif (uploadTargetScope === \"Skip\") {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconst archive = buildArchiveFromPublishedPackage(\r\n\t\t\tlibraryLocation,\r\n\t\t\tlibraryManifest,\r\n\t\t\tlibraryCreatorPackage,\r\n\t\t);\r\n\r\n\t\tconst newVersionString = libraryVersion.toVersionString({\r\n\t\t\tbuildNumber: true,\r\n\t\t});\r\n\t\tconst packageNameWithVersion = `${libraryCreatorPackage.Package}_${newVersionString}`;\r\n\r\n\t\tconst zipFilePath = path.join(\r\n\t\t\tgetWorkspaceOutputPath(workspaceLocation),\r\n\t\t\t`${packageNameWithVersion}.zip`,\r\n\t\t);\r\n\r\n\t\ttry {\r\n\t\t\tfs.rmSync(zipFilePath);\r\n\t\t} catch (err) {\r\n\t\t\tif (!isErrorENOENT(err)) {\r\n\t\t\t\tthrow err;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst zipOutputStream = fs.createWriteStream(zipFilePath);\r\n\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\r\n\r\n\t\tconst session =\r\n\t\t\tuploadTargetScope === \"Basics\"\r\n\t\t\t\t? await sessionManager.getBasicsSession()\r\n\t\t\t\t: targetSession;\r\n\r\n\t\tlogPackageMessage(\r\n\t\t\tcreatorPackage.Package,\r\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\r\n\t\t);\r\n\r\n\t\tawait AssetService.uploadPackage(\r\n\t\t\tsession,\r\n\t\t\t{\r\n\t\t\t\tname: libraryCreatorPackage.Package,\r\n\t\t\t\tversion: newVersionString,\r\n\t\t\t},\r\n\t\t\tzipFilePath,\r\n\t\t);\r\n\t}\r\n\r\n\treturn true;\r\n};\r\n\r\ninterface SessionManager {\r\n\tgetBasicsSession: () => Promise<AssetService.Session>;\r\n\tgetTargetSession: () => AssetService.Session;\r\n\tdestroy: () => Promise<void>;\r\n}\r\n\r\nconst createSessionManager = async (\r\n\tparams: AssetService.SessionStartParams,\r\n): Promise<SessionManager> => {\r\n\tconst targetSession = await AssetService.startSession(params);\r\n\tlet basicsSession: AssetService.Session | undefined;\r\n\r\n\treturn {\r\n\t\tgetBasicsSession: async () => {\r\n\t\t\tif (targetSession.subDomain === \"Basics\") {\r\n\t\t\t\treturn targetSession;\r\n\t\t\t}\r\n\r\n\t\t\tif (basicsSession === undefined) {\r\n\t\t\t\tbasicsSession = await AssetService.startSession({\r\n\t\t\t\t\t...params,\r\n\t\t\t\t\tsubDomain: \"Basics\",\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\treturn basicsSession;\r\n\t\t},\r\n\r\n\t\tgetTargetSession: () => targetSession,\r\n\r\n\t\tdestroy: async () => {\r\n\t\t\tawait AssetService.closeSession(targetSession);\r\n\r\n\t\t\tif (basicsSession !== undefined) {\r\n\t\t\t\tawait AssetService.closeSession(basicsSession);\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n};\r\n"],"names":["PLUGIN_ID","startSession","url","authentication","params","payload","user","undefined","password","license","plugin","type","username","data","session","sessionId","state","axios","post","JSON","stringify","baseURL","Error","domain","subDomain","closeSession","get","uploadPackage","name","version","zipFilePath","uploadPackageToUrl","err","getExistingPackages","validateStatus","status","then","Array","isArray","path","fs","createReadStream","objectBody","parse","response","text","key","buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","PACKAGE_FILE","index","readPublishedPackageCreatorIndex","INDEX_FILE","main","join","validateSchema","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","workspaceLocation","packageLocation","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","compile","libFilePath","getWorkspaceOutputPath","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","animations","Map","scriptFilePath","readPackageAnimationList","content","readFileSync","encoding","relativePath","relative","SyntaxError","String","cause","set","Id","libFile","isErrorENOENT","size","library","date","Date","now","getFullYear","scopeParts","Scope","split","scope","createNamespace","minifyResult","terser","minify","ecma","code","creatorIndex","readPackageCreatorIndex","directory","readdirSync","ext","console","error","parts","length","slice","releaseFolder","options","workspace","detectWorkspace","cwd","detectPackage","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","buildNumber","preRelease","execSync","binDir","mkdirSync","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","toVersionString","pushOnly","existsSync","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","directories","skipPackagesWithoutTsFiles","banner","commit","commitDirty","dirty","rmSync","zipOutputStream","createWriteStream","pipeline","generateNodeStream","noUpload","sessionManager","createSessionManager","service","address","ensureRequiredVersions","prompter","AssetService","getTargetSession","destroy","catch","translate","zipFileName","releasesPath","getPackageReleasesDirectory","copyFileSync","libraries","determineWorkspaceIGLibraries","targetSession","rawUploadedPackages","uploadedPackages","map","entry","parseVersionFromNumericVersion","numericVersion","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","support","validInBasics","isLesserThan","validInTarget","message","possibleTargets","uploadTargetScope","ask","default","getBasicsSession","basicsSession"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import * as path from 'path';
3
3
  import * as fs from 'fs';
4
- import { f as readWorkspaceNpmManifest, l as getWorkspaceLibPath } from '../cli.mjs';
5
- import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from '../dependencies.mjs';
4
+ import { f as readWorkspaceNpmManifest, l as getWorkspaceLibPath } from './cli.mjs';
5
+ import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from './dependencies.mjs';
6
6
  import 'update-notifier';
7
7
  import 'yargs/yargs';
8
8
  import 'url';
@@ -38,7 +38,10 @@ const executePostInstall = workspace => {
38
38
  const manifest = readPublishedPackageNpmManifest(location);
39
39
 
40
40
  // add a hint to the top of the file so we know it's managed by the packager.
41
- const content = DEFINITION_FILE_HINT + " \n" + `// This is a reference to version ${manifest.version}\n` + `/// <reference types="${manifest.name}" />`;
41
+ const content = `${DEFINITION_FILE_HINT}
42
+ // This is a reference to version ${manifest.version}.
43
+ // Run "npm install" to install the types if they are missing or not up to date.
44
+ /// <reference types="${manifest.name}" />`;
42
45
  fs.writeFileSync(path.join(getWorkspaceLibPath(workspace), manifest.types), content, {
43
46
  encoding: "utf8"
44
47
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.mjs","sources":["../src/commands/postinstall.ts"],"sourcesContent":["import * as path from \"path\";\r\nimport * as fs from \"fs\";\r\n\r\nimport {\r\n\tgetWorkspaceLibPath,\r\n\treadWorkspaceNpmManifest,\r\n\tWorkspaceLocation,\r\n} from \"../lib/workspace\";\r\nimport { readPublishedPackageNpmManifest } from \"../lib/publishedPackage\";\r\nimport { determineWorkspaceIGLibraries } from \"../lib/dependencies\";\r\n\r\nconst DEFINITION_FILE_HINT =\r\n\t\"// This file is automatically managed by the ig.gfx.packager.\";\r\n\r\nexport const executePostInstall = (workspace: WorkspaceLocation) => {\r\n\tconst manifest = readWorkspaceNpmManifest(workspace);\r\n\r\n\tif (manifest === undefined) {\r\n\t\tthrow new Error(`Expected an npm manifest to exist.`);\r\n\t}\r\n\r\n\tconst libPath = getWorkspaceLibPath(workspace);\r\n\r\n\tfs.mkdirSync(libPath, { recursive: true });\r\n\r\n\tconst existingDefinitions = fs.readdirSync(libPath);\r\n\r\n\t// delete all existing definition files that are managed by the packager.\r\n\t// we'll recreate all needed definitions in the next step.\r\n\tfor (const existingDefinitionName of existingDefinitions) {\r\n\t\tconst content = fs.readFileSync(\r\n\t\t\tpath.join(libPath, existingDefinitionName),\r\n\t\t\t{ encoding: \"utf-8\" },\r\n\t\t);\r\n\r\n\t\tif (content.startsWith(DEFINITION_FILE_HINT)) {\r\n\t\t\tfs.rmSync(path.join(libPath, existingDefinitionName));\r\n\t\t}\r\n\t}\r\n\r\n\tconst libraryLocations = determineWorkspaceIGLibraries(workspace);\r\n\r\n\tfor (const location of libraryLocations) {\r\n\t\tconst manifest = readPublishedPackageNpmManifest(location);\r\n\r\n\t\t// add a hint to the top of the file so we know it's managed by the packager.\r\n\t\tconst content = `${DEFINITION_FILE_HINT}\r\n// This is a reference to version ${manifest.version}.\r\n// Run \"npm install\" to install the types if they are missing or not up to date.\r\n/// <reference types=\"${manifest.name}\" />`;\r\n\r\n\t\tfs.writeFileSync(\r\n\t\t\tpath.join(getWorkspaceLibPath(workspace), manifest.types),\r\n\t\t\tcontent,\r\n\t\t\t{\r\n\t\t\t\tencoding: \"utf8\",\r\n\t\t\t},\r\n\t\t);\r\n\t}\r\n};\r\n"],"names":["DEFINITION_FILE_HINT","executePostInstall","workspace","manifest","readWorkspaceNpmManifest","undefined","Error","libPath","getWorkspaceLibPath","fs","mkdirSync","recursive","existingDefinitions","readdirSync","existingDefinitionName","content","readFileSync","path","join","encoding","startsWith","rmSync","libraryLocations","determineWorkspaceIGLibraries","location","readPublishedPackageNpmManifest","version","name","writeFileSync","types"],"mappings":";;;;;;;;;;;;;AAWA,MAAMA,oBAAoB,GACzB,+DAA+D,CAAA;AAEnDC,MAAAA,kBAAkB,GAAIC,SAA4B,IAAK;AACnE,EAAA,MAAMC,QAAQ,GAAGC,wBAAwB,CAACF,SAAS,CAAC,CAAA;EAEpD,IAAIC,QAAQ,KAAKE,SAAS,EAAE;AAC3B,IAAA,MAAM,IAAIC,KAAK,CAAE,CAAA,kCAAA,CAAmC,CAAC,CAAA;AACtD,GAAA;AAEA,EAAA,MAAMC,OAAO,GAAGC,mBAAmB,CAACN,SAAS,CAAC,CAAA;AAE9CO,EAAAA,EAAE,CAACC,SAAS,CAACH,OAAO,EAAE;AAAEI,IAAAA,SAAS,EAAE,IAAA;AAAK,GAAC,CAAC,CAAA;AAE1C,EAAA,MAAMC,mBAAmB,GAAGH,EAAE,CAACI,WAAW,CAACN,OAAO,CAAC,CAAA;;AAEnD;AACA;AACA,EAAA,KAAK,MAAMO,sBAAsB,IAAIF,mBAAmB,EAAE;AACzD,IAAA,MAAMG,OAAO,GAAGN,EAAE,CAACO,YAAY,CAC9BC,IAAI,CAACC,IAAI,CAACX,OAAO,EAAEO,sBAAsB,CAAC,EAC1C;AAAEK,MAAAA,QAAQ,EAAE,OAAA;AAAQ,KAAC,CACrB,CAAA;AAED,IAAA,IAAIJ,OAAO,CAACK,UAAU,CAACpB,oBAAoB,CAAC,EAAE;MAC7CS,EAAE,CAACY,MAAM,CAACJ,IAAI,CAACC,IAAI,CAACX,OAAO,EAAEO,sBAAsB,CAAC,CAAC,CAAA;AACtD,KAAA;AACD,GAAA;AAEA,EAAA,MAAMQ,gBAAgB,GAAGC,6BAA6B,CAACrB,SAAS,CAAC,CAAA;AAEjE,EAAA,KAAK,MAAMsB,QAAQ,IAAIF,gBAAgB,EAAE;AACxC,IAAA,MAAMnB,QAAQ,GAAGsB,+BAA+B,CAACD,QAAQ,CAAC,CAAA;;AAE1D;IACA,MAAMT,OAAO,GAAI,CAAA,EAAEf,oBAAqB,CAAA;AAC1C,kCAAoCG,EAAAA,QAAQ,CAACuB,OAAQ,CAAA;AACrD;AACA,sBAAwBvB,EAAAA,QAAQ,CAACwB,IAAK,CAAK,IAAA,CAAA,CAAA;AAEzClB,IAAAA,EAAE,CAACmB,aAAa,CACfX,IAAI,CAACC,IAAI,CAACV,mBAAmB,CAACN,SAAS,CAAC,EAAEC,QAAQ,CAAC0B,KAAK,CAAC,EACzDd,OAAO,EACP;AACCI,MAAAA,QAAQ,EAAE,MAAA;AACX,KAAC,CACD,CAAA;AACF,GAAA;AACD;;;;"}
@@ -2,9 +2,9 @@
2
2
  import * as path from 'path';
3
3
  import * as fs from 'fs';
4
4
  import { spawnSync } from 'child_process';
5
- import { f as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, b as readPackageNpmManifest, m as writePackageNpmManifest, e as readPackageCreatorIndex, n as iterateWorkspacePackages } from '../cli.mjs';
6
- import { p as parseVersionFromString, g as getVersionFileHandler, a as getVersionInformationFromGit, b as getWorkspaceBannerText } from '../versionFile.mjs';
7
- import { b as buildFolders, l as logPackageMessage } from './build.mjs';
5
+ import { f as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, b as readPackageNpmManifest, m as writePackageNpmManifest, P as PACKAGE_FILE, e as readPackageCreatorIndex, I as INDEX_FILE, n as iterateWorkspacePackages } from './cli.mjs';
6
+ import { p as parseVersionFromString, g as getVersionFileHandler, a as getVersionInformationFromGit, b as getWorkspaceBannerText } from './versionFile.mjs';
7
+ import { b as buildFolders, l as logPackageMessage } from './index2.mjs';
8
8
  import 'update-notifier';
9
9
  import 'yargs/yargs';
10
10
  import 'url';
@@ -15,7 +15,7 @@ import 'simple-git';
15
15
  import 'glob';
16
16
  import 'terser';
17
17
  import 'typescript';
18
- import '../scripts.mjs';
18
+ import './scripts.mjs';
19
19
  import 'typedoc';
20
20
 
21
21
  const publishToNpm = async ({
@@ -93,10 +93,10 @@ const publishToNpm = async ({
93
93
  fs.copyFileSync(path.join(getWorkspaceOutputPath(workspace), `${creatorPackage.Package}.d.ts`), path.join(publishDir, `${creatorPackage.Package}.d.ts`));
94
94
  fs.copyFileSync(path.join(getWorkspaceOutputPath(workspace), `${creatorPackage.Package}.min.js`), path.join(publishDir, `${creatorPackage.Package}.js`));
95
95
  fs.copyFileSync(path.join(location.manifestDir, "package.json"), path.join(publishDir, "package.json"));
96
- fs.writeFileSync(path.join(publishDir, "_Package.json"), JSON.stringify(creatorPackage, null, 2));
96
+ fs.writeFileSync(path.join(publishDir, PACKAGE_FILE), JSON.stringify(creatorPackage, null, 2));
97
97
  const index = readPackageCreatorIndex(location);
98
98
  if (index !== undefined) {
99
- fs.writeFileSync(path.join(publishDir, "_Index.json"), JSON.stringify(index));
99
+ fs.writeFileSync(path.join(publishDir, INDEX_FILE), JSON.stringify(index));
100
100
  }
101
101
  const readmeName = fs.readdirSync(location.path).find(name => name.toLowerCase() === "readme.md");
102
102
  if (readmeName !== undefined) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishNpm.mjs","sources":["../src/commands/publishNpm.ts"],"sourcesContent":["import * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport { spawnSync } from \"child_process\";\r\n\r\nimport { PackageVersion } from \"../lib/packageVersion\";\r\nimport {\r\n\tINDEX_FILE,\r\n\tPackageLocation,\r\n\tPACKAGE_FILE,\r\n\treadPackageCreatorIndex,\r\n\treadPackageCreatorManifest,\r\n\treadPackageNpmManifest,\r\n\twritePackageNpmManifest,\r\n} from \"../lib/package\";\r\nimport {\r\n\tgetWorkspaceOutputPath,\r\n\titerateWorkspacePackages,\r\n\treadWorkspaceNpmManifest,\r\n\tWorkspaceLocation,\r\n} from \"../lib/workspace\";\r\nimport { getVersionInformationFromGit } from \"../lib/git\";\r\nimport { getWorkspaceBannerText } from \"../lib/banner\";\r\nimport { parseVersionFromString } from \"../lib/parseVersion\";\r\nimport { getVersionFileHandler } from \"../lib/versionFile\";\r\nimport { logPackageMessage } from \"../lib/log\";\r\n\r\nimport { buildFolders } from \"./build\";\r\n\r\nexport interface PublishToNpmSettings {\r\n\tworkspace: WorkspaceLocation;\r\n\tlocation: PackageLocation;\r\n\tversion: string;\r\n\tdryRun?: boolean;\r\n}\r\n\r\nexport const publishToNpm = async ({\r\n\tworkspace,\r\n\tlocation,\r\n\tversion: providedVersion,\r\n\tdryRun,\r\n}: PublishToNpmSettings) => {\r\n\tlet newVersion: PackageVersion;\r\n\ttry {\r\n\t\tnewVersion = parseVersionFromString(providedVersion);\r\n\t} catch (err) {\r\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\r\n\t}\r\n\r\n\tif (newVersion.buildNumber < 100) {\r\n\t\tnewVersion.preRelease = {\r\n\t\t\ttype: \"beta\",\r\n\t\t\tversion: newVersion.buildNumber,\r\n\t\t};\r\n\t} else if (newVersion.buildNumber === 100) {\r\n\t\tnewVersion.preRelease = undefined;\r\n\t} else {\r\n\t\tthrow new Error(\r\n\t\t\t`Refusing to publish a package with a build version larger than 100.`,\r\n\t\t);\r\n\t}\r\n\r\n\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\r\n\tconst workspaceOutputPath = getWorkspaceOutputPath(workspace);\r\n\tconst creatorPackage = readPackageCreatorManifest(location);\r\n\tlet packageJson = readPackageNpmManifest(location);\r\n\r\n\tif (packageJson === undefined) {\r\n\t\tpackageJson = {\r\n\t\t\tname:\r\n\t\t\t\t\"@intelligentgraphics/3d\" +\r\n\t\t\t\tcreatorPackage.Package.toLowerCase(),\r\n\t\t\tversion: \"1.0.0\",\r\n\t\t\tdescription: creatorPackage.Package,\r\n\t\t};\r\n\t}\r\n\r\n\tpackageJson.version = newVersion.toVersionString({\r\n\t\tbuildNumber: false,\r\n\t});\r\n\tpackageJson.description = newVersion.toDescriptionString(\r\n\t\tcreatorPackage.Package,\r\n\t);\r\n\tpackageJson.main = `${creatorPackage.Package}.js`;\r\n\tpackageJson.types = `${creatorPackage.Package}.d.ts`;\r\n\tpackageJson.publishConfig ??= {};\r\n\tpackageJson.publishConfig.acccess = \"public\";\r\n\tpackageJson.ig = {\r\n\t\tscriptingLibrary: true,\r\n\t};\r\n\tpackageJson.files = undefined;\r\n\r\n\tconst publishDir = path.join(\r\n\t\tworkspaceOutputPath,\r\n\t\t\"publish\",\r\n\t\tcreatorPackage.Package,\r\n\t);\r\n\tfs.rmSync(publishDir, { recursive: true, force: true });\r\n\tfs.mkdirSync(publishDir, { recursive: true });\r\n\r\n\twritePackageNpmManifest(location, packageJson);\r\n\r\n\tgetVersionFileHandler(location).write(creatorPackage.Package, newVersion);\r\n\r\n\tconst gitVersionInformation = await getVersionInformationFromGit(\r\n\t\tworkspace,\r\n\t\tlocation,\r\n\t);\r\n\r\n\tconst bannerText =\r\n\t\tworkspaceManifest !== undefined\r\n\t\t\t? getWorkspaceBannerText(workspaceManifest)\r\n\t\t\t: undefined;\r\n\r\n\tawait buildFolders({\r\n\t\tcwd: workspace.path,\r\n\t\tdirectories: [location.path],\r\n\t\tminimize: true,\r\n\t\toutDir: getWorkspaceOutputPath(workspace),\r\n\t\tbanner: {\r\n\t\t\ttext: bannerText,\r\n\t\t\tcommit: gitVersionInformation.commit,\r\n\t\t\tcommitDirty: gitVersionInformation.dirty,\r\n\t\t\tversion: newVersion.toVersionString({\r\n\t\t\t\tbuildNumber: true,\r\n\t\t\t}),\r\n\t\t\tdate: new Date(Date.now()),\r\n\t\t},\r\n\t});\r\n\r\n\tfs.copyFileSync(\r\n\t\tpath.join(\r\n\t\t\tgetWorkspaceOutputPath(workspace),\r\n\t\t\t`${creatorPackage.Package}.d.ts`,\r\n\t\t),\r\n\t\tpath.join(publishDir, `${creatorPackage.Package}.d.ts`),\r\n\t);\r\n\tfs.copyFileSync(\r\n\t\tpath.join(\r\n\t\t\tgetWorkspaceOutputPath(workspace),\r\n\t\t\t`${creatorPackage.Package}.min.js`,\r\n\t\t),\r\n\t\tpath.join(publishDir, `${creatorPackage.Package}.js`),\r\n\t);\r\n\r\n\tfs.copyFileSync(\r\n\t\tpath.join(location.manifestDir, \"package.json\"),\r\n\t\tpath.join(publishDir, \"package.json\"),\r\n\t);\r\n\r\n\tfs.writeFileSync(\r\n\t\tpath.join(publishDir, PACKAGE_FILE),\r\n\t\tJSON.stringify(creatorPackage, null, 2),\r\n\t);\r\n\r\n\tconst index = readPackageCreatorIndex(location);\r\n\r\n\tif (index !== undefined) {\r\n\t\tfs.writeFileSync(\r\n\t\t\tpath.join(publishDir, INDEX_FILE),\r\n\t\t\tJSON.stringify(index),\r\n\t\t);\r\n\t}\r\n\r\n\tconst readmeName = fs\r\n\t\t.readdirSync(location.path)\r\n\t\t.find((name) => name.toLowerCase() === \"readme.md\");\r\n\r\n\tif (readmeName !== undefined) {\r\n\t\tfs.copyFileSync(\r\n\t\t\tpath.join(location.path, readmeName),\r\n\t\t\tpath.join(publishDir, readmeName),\r\n\t\t);\r\n\t}\r\n\r\n\tconst npmPublishArgs: string[] = [];\r\n\r\n\tif (dryRun) {\r\n\t\tnpmPublishArgs.push(\"--dry-run\");\r\n\t}\r\n\r\n\tif (newVersion.preRelease) {\r\n\t\tnpmPublishArgs.push(\"--tag\", \"next\");\r\n\t}\r\n\r\n\tlogPackageMessage(\r\n\t\tcreatorPackage.Package,\r\n\t\t`Publishing to npm with version ${packageJson.version} using tag ${\r\n\t\t\tnewVersion.preRelease ? \"next\" : \"latest\"\r\n\t\t}`,\r\n\t);\r\n\r\n\tspawnSync(\"npm\", [\"publish\", ...npmPublishArgs], {\r\n\t\tstdio: \"inherit\",\r\n\t\tencoding: \"utf8\",\r\n\t\tcwd: publishDir,\r\n\t});\r\n\r\n\tfor (const packageLocation of iterateWorkspacePackages(workspace)) {\r\n\t\tconst manifest = readPackageNpmManifest(packageLocation);\r\n\r\n\t\tif (manifest?.dependencies?.[packageJson.name] !== undefined) {\r\n\t\t\tmanifest.dependencies[packageJson.name] = \"^\" + packageJson.version;\r\n\t\t\twritePackageNpmManifest(packageLocation, manifest);\r\n\t\t}\r\n\t}\r\n};\r\n"],"names":["publishToNpm","workspace","location","version","providedVersion","dryRun","newVersion","parseVersionFromString","err","Error","buildNumber","preRelease","type","undefined","workspaceManifest","readWorkspaceNpmManifest","workspaceOutputPath","getWorkspaceOutputPath","creatorPackage","readPackageCreatorManifest","packageJson","readPackageNpmManifest","name","Package","toLowerCase","description","toVersionString","toDescriptionString","main","types","publishConfig","acccess","ig","scriptingLibrary","files","publishDir","path","join","fs","rmSync","recursive","force","mkdirSync","writePackageNpmManifest","getVersionFileHandler","write","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","cwd","directories","minimize","outDir","banner","text","commit","commitDirty","dirty","date","Date","now","copyFileSync","manifestDir","writeFileSync","PACKAGE_FILE","JSON","stringify","index","readPackageCreatorIndex","INDEX_FILE","readmeName","readdirSync","find","npmPublishArgs","push","logPackageMessage","spawnSync","stdio","encoding","packageLocation","iterateWorkspacePackages","manifest","dependencies"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.mjs","sources":["../src/lib/scripts.ts"],"sourcesContent":["import glob from \"glob\";\n\nimport { PackageLocation } from \"./package\";\n\nexport const getPackageTypescriptFiles = (location: PackageLocation) =>\n\tglob.sync(\"**/*.ts\", {\n\t\tabsolute: true,\n\t\tcwd: location.scriptsDir,\n\t\tignore: \"node_modules/**/*\",\n\t});\n"],"names":["getPackageTypescriptFiles","location","glob","sync","absolute","cwd","scriptsDir","ignore"],"mappings":";;;AAIO,MAAMA,yBAAyB,GAAIC,QAAyB,IAClEC,IAAI,CAACC,IAAI,CAAC,SAAS,EAAE;AACpBC,EAAAA,QAAQ,EAAE,IAAI;EACdC,GAAG,EAAEJ,QAAQ,CAACK,UAAU;AACxBC,EAAAA,MAAM,EAAE,mBAAA;AACT,CAAC;;;;"}
1
+ {"version":3,"file":"scripts.mjs","sources":["../src/lib/scripts.ts"],"sourcesContent":["import glob from \"glob\";\r\n\r\nimport { PackageLocation } from \"./package\";\r\n\r\nexport const getPackageTypescriptFiles = (location: PackageLocation) =>\r\n\tglob.sync(\"**/*.ts\", {\r\n\t\tabsolute: true,\r\n\t\tcwd: location.scriptsDir,\r\n\t\tignore: \"node_modules/**/*\",\r\n\t});\r\n"],"names":["getPackageTypescriptFiles","location","glob","sync","absolute","cwd","scriptsDir","ignore"],"mappings":";;;AAIO,MAAMA,yBAAyB,GAAIC,QAAyB,IAClEC,IAAI,CAACC,IAAI,CAAC,SAAS,EAAE;AACpBC,EAAAA,QAAQ,EAAE,IAAI;EACdC,GAAG,EAAEJ,QAAQ,CAACK,UAAU;AACxBC,EAAAA,MAAM,EAAE,mBAAA;AACT,CAAC;;;;"}
@@ -202,21 +202,21 @@ class PackageVersion {
202
202
  return parts.join(" ");
203
203
  }
204
204
 
205
- /**
206
- * Determines wether the version is lesser than the input version
207
- *
208
- * @param {PackageVersion} version
209
- * @returns
205
+ /**
206
+ * Determines wether the version is lesser than the input version
207
+ *
208
+ * @param {PackageVersion} version
209
+ * @returns
210
210
  */
211
211
  isLesserThan(version) {
212
212
  return PackageVersion.toNumber(this) < PackageVersion.toNumber(version);
213
213
  }
214
214
 
215
- /**
216
- * Determines wether the version is greater than the input version
217
- *
218
- * @param {PackageVersion} version
219
- * @returns
215
+ /**
216
+ * Determines wether the version is greater than the input version
217
+ *
218
+ * @param {PackageVersion} version
219
+ * @returns
220
220
  */
221
221
  isGreaterThan(version) {
222
222
  return PackageVersion.toNumber(this) > PackageVersion.toNumber(version);