@intelligentgraphics/ig.gfx.packager 3.0.0-alpha.6 → 3.0.0-alpha.8
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.
- package/build/cli.mjs +29 -24
- package/build/cli.mjs.map +1 -1
- package/build/commands/build.mjs +29 -25
- package/build/commands/build.mjs.map +1 -1
- package/build/commands/generate.mjs +7 -4
- package/build/commands/generate.mjs.map +1 -1
- package/build/commands/publish.mjs +7 -7
- package/build/commands/publish.mjs.map +1 -1
- package/build/commands/publishNpm.mjs +3 -3
- package/build/commands/publishNpm.mjs.map +1 -1
- package/build/dependencies.mjs +1 -13
- package/build/dependencies.mjs.map +1 -1
- package/package.json +17 -17
- package/readme.md +13 -1
package/build/cli.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import { dirname } from 'path';
|
|
|
6
6
|
import yargs from 'yargs/yargs';
|
|
7
7
|
import { fileURLToPath } from 'url';
|
|
8
8
|
import y18n from 'y18n';
|
|
9
|
-
import
|
|
9
|
+
import { writePackageSync } from 'write-pkg';
|
|
10
10
|
import inquirer from 'inquirer';
|
|
11
11
|
|
|
12
12
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
@@ -40,13 +40,13 @@ const readNpmManifest = directory => {
|
|
|
40
40
|
};
|
|
41
41
|
const writeNpmManifest = (directory, packageJson) => {
|
|
42
42
|
const packageJsonPath = path.join(directory, "package.json");
|
|
43
|
-
|
|
43
|
+
writePackageSync(packageJsonPath, packageJson);
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
// Functionality related to working with a single package.
|
|
47
47
|
const PACKAGE_FILE = "_Package.json";
|
|
48
48
|
const INDEX_FILE = "_Index.json";
|
|
49
|
-
const
|
|
49
|
+
const ANIMATION_FILE_SUFFIX = ".animation.json";
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
* Describes the location of a single package.
|
|
@@ -95,8 +95,13 @@ const detectPackage = (workspace, directory) => {
|
|
|
95
95
|
manifestDir: directory
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
try {
|
|
99
|
+
readPackageCreatorManifest(location);
|
|
100
|
+
} catch (err) {
|
|
101
|
+
if (isErrorENOENT(err)) {
|
|
102
|
+
throw new Error(`No _Package.json found in ${location.manifestDir}`);
|
|
103
|
+
}
|
|
104
|
+
throw err;
|
|
100
105
|
}
|
|
101
106
|
return location;
|
|
102
107
|
};
|
|
@@ -150,7 +155,7 @@ const readPackageAnimationList = location => {
|
|
|
150
155
|
const directoryContent = fs.readdirSync(location.manifestDir);
|
|
151
156
|
const animationPathList = [];
|
|
152
157
|
for (const entry of directoryContent) {
|
|
153
|
-
if (entry.endsWith(
|
|
158
|
+
if (entry.endsWith(ANIMATION_FILE_SUFFIX)) {
|
|
154
159
|
const animationPath = path.join(location.manifestDir, entry);
|
|
155
160
|
animationPathList.push(animationPath);
|
|
156
161
|
}
|
|
@@ -230,8 +235,8 @@ const createDefaultPrompter = () => {
|
|
|
230
235
|
};
|
|
231
236
|
|
|
232
237
|
var name = "@intelligentgraphics/ig.gfx.packager";
|
|
233
|
-
var version = "3.0.0-alpha.
|
|
234
|
-
var description = "IG.GFX.Packager 3.0.0 Alpha
|
|
238
|
+
var version = "3.0.0-alpha.8";
|
|
239
|
+
var description = "IG.GFX.Packager 3.0.0 Alpha 8 (3.0.0.9)";
|
|
235
240
|
var author = "Michael Beier <mb@intelligentgraphics.biz>";
|
|
236
241
|
var main = "build/index.mjs";
|
|
237
242
|
var type = "module";
|
|
@@ -239,7 +244,7 @@ var publishConfig = {
|
|
|
239
244
|
access: "public"
|
|
240
245
|
};
|
|
241
246
|
var engines = {
|
|
242
|
-
node: ">=16.
|
|
247
|
+
node: ">=16.19.0"
|
|
243
248
|
};
|
|
244
249
|
var bin = {
|
|
245
250
|
packager: "./build/index.mjs"
|
|
@@ -257,24 +262,24 @@ var scripts = {
|
|
|
257
262
|
format: "prettier --write \"**/*.{ts,tsx,json}\""
|
|
258
263
|
};
|
|
259
264
|
var dependencies = {
|
|
260
|
-
ajv: "^8.
|
|
261
|
-
axios: "^
|
|
262
|
-
"core-js": "^3.
|
|
263
|
-
glob: "^
|
|
265
|
+
ajv: "^8.12.0",
|
|
266
|
+
axios: "^1.2.5",
|
|
267
|
+
"core-js": "^3.27.2",
|
|
268
|
+
glob: "^8.1.0",
|
|
264
269
|
inquirer: "^9.1.4",
|
|
265
|
-
jszip: "^3.10.
|
|
270
|
+
jszip: "^3.10.1",
|
|
266
271
|
lodash: "^4.17.21",
|
|
267
272
|
resolve: "^1.22.1",
|
|
268
|
-
"simple-git": "^3.
|
|
269
|
-
"source-map-support": "^0.5.
|
|
270
|
-
terser: "^
|
|
273
|
+
"simple-git": "^3.16.0",
|
|
274
|
+
"source-map-support": "^0.5.21",
|
|
275
|
+
terser: "^5.16.1",
|
|
271
276
|
typedoc: "~0.23.2",
|
|
272
277
|
typescript: "~4.9.4",
|
|
273
|
-
"update-notifier": "^
|
|
274
|
-
"v8-compile-cache": "^2.
|
|
275
|
-
"write-pkg": "
|
|
278
|
+
"update-notifier": "^6.0.2",
|
|
279
|
+
"v8-compile-cache": "^2.3.0",
|
|
280
|
+
"write-pkg": "^5.1.0",
|
|
276
281
|
y18n: "^5.0.8",
|
|
277
|
-
yargs: "^17.
|
|
282
|
+
yargs: "^17.6.2"
|
|
278
283
|
};
|
|
279
284
|
var devDependencies = {
|
|
280
285
|
"@babel/preset-env": "^7.18.9",
|
|
@@ -283,10 +288,10 @@ var devDependencies = {
|
|
|
283
288
|
"@rollup/plugin-commonjs": "^24.0.0",
|
|
284
289
|
"@rollup/plugin-json": "^6.0.0",
|
|
285
290
|
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
286
|
-
"@types/glob": "^
|
|
291
|
+
"@types/glob": "^8.0.1",
|
|
287
292
|
"@types/inquirer": "^9.0.3",
|
|
288
293
|
"@types/node": "^16.4.11",
|
|
289
|
-
"@types/update-notifier": "^
|
|
294
|
+
"@types/update-notifier": "^6.0.1",
|
|
290
295
|
"@types/yargs": "^17.0.2",
|
|
291
296
|
rollup: "^3.10.0",
|
|
292
297
|
vitest: "^0.28.1"
|
|
@@ -618,5 +623,5 @@ var cli = /*#__PURE__*/Object.freeze({
|
|
|
618
623
|
__proto__: null
|
|
619
624
|
});
|
|
620
625
|
|
|
621
|
-
export { detectPackage as a, readPackageNpmManifest as b, readPackageAnimationList as c, detectWorkspace as d, readPackageCreatorIndex as e, readWorkspaceNpmManifest as f, getWorkspaceOutputPath as g, getPackageReleasesDirectory as h, isErrorENOENT as i, readNpmManifest as j, writePackageCreatorIndex as k, getWorkspaceLibPath as l, writePackageNpmManifest as m, iterateWorkspacePackages as n, cli as o, parseCreatorPackageName as p, readPackageCreatorManifest as r, translate as t, writePackageCreatorManifest as w };
|
|
626
|
+
export { INDEX_FILE as I, PACKAGE_FILE as P, detectPackage as a, readPackageNpmManifest as b, readPackageAnimationList as c, detectWorkspace as d, readPackageCreatorIndex as e, readWorkspaceNpmManifest as f, getWorkspaceOutputPath as g, getPackageReleasesDirectory as h, isErrorENOENT as i, readNpmManifest as j, writePackageCreatorIndex as k, getWorkspaceLibPath as l, writePackageNpmManifest as m, iterateWorkspacePackages as n, cli as o, parseCreatorPackageName as p, readPackageCreatorManifest as r, translate as t, writePackageCreatorManifest as w };
|
|
622
627
|
//# sourceMappingURL=cli.mjs.map
|
package/build/cli.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.mjs","sources":["../src/lib/localization.ts","../src/lib/error.ts","../src/lib/npmPackage.ts","../src/lib/package.ts","../src/lib/workspace.ts","../src/lib/prompter.ts","../src/cli.ts"],"sourcesContent":["import y18n from \"y18n\";\nimport * as path from \"path\";\nimport { dirname } from \"path\";\nimport { fileURLToPath } from \"url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nconst instance = y18n({\n\tdirectory: path.join(__dirname, \"..\", \"locales\"),\n\tupdateFiles: false,\n\tlocale: \"en\",\n\tfallbackToLanguage: true,\n});\n\nexport const setLocale = (locale: string) => {\n\tinstance.setLocale(locale);\n};\n\nexport const translate = (key: string, ...args: string[]) =>\n\tinstance.__(key, ...args);\n","interface NodeError extends Error {\n\tcode: string;\n}\n\nexport const getNodeErrorCode = (error: unknown) => {\n\tif (\n\t\terror !== null &&\n\t\ttypeof error === \"object\" &&\n\t\t(error as NodeError).code !== undefined\n\t) {\n\t\treturn (error as NodeError).code;\n\t}\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 */\nexport const isErrorEACCES = (error: unknown) =>\n\tgetNodeErrorCode(error) === \"EACCES\";\n\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 */\nexport const isErrorENOENT = (error: unknown) =>\n\tgetNodeErrorCode(error) === \"ENOENT\";\n","import * as fs from \"fs\";\nimport * as path from \"path\";\nimport writePkg from \"write-pkg\";\n\nimport { PackageJSON } from \"./packageJSON\";\n\nexport const readNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n): T => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\tconst packageJson = fs.readFileSync(packageJsonPath, {\n\t\tencoding: \"utf8\",\n\t});\n\treturn JSON.parse(packageJson);\n};\n\nexport const writeNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n\tpackageJson: T,\n) => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\twritePkg.sync(packageJsonPath, packageJson);\n};\n","// Functionality related to working with a single package.\n\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { isErrorENOENT } from \"./error\";\nimport { WorkspaceLocation } from \"./workspace\";\nimport { readNpmManifest, writeNpmManifest } from \"./npmPackage\";\nimport { PackageJSON } from \"./packageJSON\";\n\nconst PACKAGE_FILE = \"_Package.json\";\nconst INDEX_FILE = \"_Index.json\";\nconst ANIMATION_FILE = \".animation.json\";\n\n/**\n * Describes the location of a single package.\n *\n * @export\n * @interface PackageLocation\n */\nexport interface PackageLocation {\n\t_kind: \"PackageLocation\";\n\t/**\n\t * Main directory of a package\n\t *\n\t * @type {string}\n\t */\n\tpath: string;\n\t/**\n\t * Directory containing the typescript files\n\t *\n\t * @type {string}\n\t */\n\tscriptsDir: string;\n\t/**\n\t * Diretory containing the _Package.json, _Index.json, package.json and animation.json files\n\t *\n\t * @type {string}\n\t */\n\tmanifestDir: string;\n}\n\nexport interface CreatorPackage {\n\tScope: string;\n\tPackage: string;\n\tRunTime: boolean;\n\tType: \"Interactor\" | \"Mixed\" | \"Core\" | \"Context\" | \"Evaluator\";\n}\n\nexport const parseCreatorPackageName = (manifest: CreatorPackage) => {\n\tconst [domain, ...subdomainParts] = manifest.Package.split(\".\");\n\treturn {\n\t\tdomain,\n\t\tsubdomain: subdomainParts.join(\".\"),\n\t};\n};\n\nexport interface PackageNpmManifest extends PackageJSON {\n\tig?: {\n\t\tscriptingLibrary?: boolean;\n\t};\n}\n\n/**\n * Detects the package at the given directory.\n *\n * @param {string} directory\n * @returns {PackageLocation}\n */\nexport const detectPackage = (\n\tworkspace: WorkspaceLocation,\n\tdirectory: string,\n): PackageLocation => {\n\tdirectory = path.resolve(workspace.path, directory);\n\n\tconst scriptsPath = path.join(directory, \"Scripts\");\n\tconst tsPath = path.join(directory, \"ts\");\n\n\tlet location: PackageLocation;\n\n\tif (fs.existsSync(scriptsPath)) {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: scriptsPath,\n\t\t\tmanifestDir: scriptsPath,\n\t\t};\n\t} else if (fs.existsSync(tsPath)) {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: tsPath,\n\t\t\tmanifestDir: directory,\n\t\t};\n\t} else {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: directory,\n\t\t\tmanifestDir: directory,\n\t\t};\n\t}\n\n\tif (readPackageCreatorManifest(location) === undefined) {\n\t\tthrow new Error(`No _Package.json found in ${location.manifestDir}`);\n\t}\n\n\treturn location;\n};\n\nexport const readPackageCreatorManifest = (\n\tlocation: PackageLocation,\n): CreatorPackage => {\n\tconst packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n\tconst packageJson = fs.readFileSync(packageJsonPath, { encoding: \"utf8\" });\n\tconst result: Omit<CreatorPackage, \"Scope\"> & { Scope?: string } =\n\t\tJSON.parse(packageJson);\n\treturn {\n\t\t...result,\n\t\tScope: result.Scope || result.Package,\n\t};\n};\n\nexport const writePackageCreatorManifest = (\n\tlocation: PackageLocation,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n\tfs.writeFileSync(\n\t\tpackageJsonPath,\n\t\tJSON.stringify(creatorPackage, null, \"\\t\") + \"\\n\",\n\t);\n};\n\nexport const readPackageCreatorIndex = (\n\tlocation: PackageLocation,\n): object | undefined => {\n\ttry {\n\t\tconst indexPath = path.join(location.manifestDir, INDEX_FILE);\n\t\tconst index = fs.readFileSync(indexPath, { encoding: \"utf8\" });\n\t\treturn JSON.parse(index);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writePackageCreatorIndex = (\n\tlocation: PackageLocation,\n\tindex: object,\n) => {\n\tconst packageJsonPath = path.join(location.manifestDir, INDEX_FILE);\n\tfs.writeFileSync(packageJsonPath, JSON.stringify(index, null, \"\\t\") + \"\\n\");\n};\n\nexport const readPackageNpmManifest = (\n\tlocation: PackageLocation,\n): PackageNpmManifest | undefined => {\n\ttry {\n\t\treturn readNpmManifest(location.manifestDir);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writePackageNpmManifest = (\n\tlocation: PackageLocation,\n\tpackageJson: PackageNpmManifest,\n) => {\n\twriteNpmManifest(location.manifestDir, packageJson);\n};\n\nexport const readPackageAnimationList = (location: PackageLocation) => {\n\tconst directoryContent = fs.readdirSync(location.manifestDir);\n\tconst animationPathList: string[] = [];\n\n\tfor (const entry of directoryContent) {\n\t\tif (entry.endsWith(ANIMATION_FILE)) {\n\t\t\tconst animationPath = path.join(location.manifestDir, entry);\n\t\t\tanimationPathList.push(animationPath);\n\t\t}\n\t}\n\n\treturn animationPathList;\n};\n\nexport const getPackageReleasesDirectory = (location: PackageLocation) =>\n\tpath.join(location.path, \"Releases\");\n\nexport const arePackageLocationsEqual = (\n\ta: PackageLocation,\n\tb: PackageLocation,\n) => a.path === b.path;\n","// Functionality related to working with a workspace consisting of multiple packages.\n\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageJSON } from \"./packageJSON\";\nimport { isErrorENOENT } from \"./error\";\nimport { readNpmManifest, writeNpmManifest } from \"./npmPackage\";\nimport { detectPackage } from \"./package\";\n\n/**\n * Describe the location of a workspace constining of n packages.\n *\n * @export\n * @interface WorkspaceLocation\n */\nexport interface WorkspaceLocation {\n\t_kind: \"WorkspaceLocation\";\n\tpath: string;\n}\n\nexport interface WorkspacePackageJSON extends PackageJSON {\n\tpackager?: { banner?: string };\n}\n\nexport const detectWorkspace = (directory: string): WorkspaceLocation => {\n\tdirectory = path.resolve(process.cwd(), directory);\n\treturn {\n\t\t_kind: \"WorkspaceLocation\",\n\t\tpath: directory,\n\t};\n};\n\nexport const readWorkspaceNpmManifest = (\n\tworkspace: WorkspaceLocation,\n): WorkspacePackageJSON | undefined => {\n\ttry {\n\t\treturn readNpmManifest<WorkspacePackageJSON>(workspace.path);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writeWorkspaceNpmManifest = <T extends WorkspacePackageJSON>(\n\tworkspace: WorkspaceLocation,\n\tpackageJson: T,\n) => writeNpmManifest(workspace.path, packageJson);\n\nexport const getWorkspaceOutputPath = (workspace: WorkspaceLocation) =>\n\tpath.join(workspace.path, \"bin\");\n\nexport const getWorkspaceLibPath = (workspace: WorkspaceLocation) =>\n\tpath.join(workspace.path, \"lib\");\n\nexport function* iterateWorkspacePackages(workspace: WorkspaceLocation) {\n\tconst entries = fs.readdirSync(workspace.path, { withFileTypes: true });\n\n\tfor (const entry of entries) {\n\t\tif (!entry.isDirectory()) {\n\t\t\tcontinue;\n\t\t}\n\n\t\ttry {\n\t\t\tyield detectPackage(workspace, entry.name);\n\t\t} catch {}\n\t}\n}\n","import inquirer from \"inquirer\";\n\nexport interface PrompterQuestion {\n\tmessage: string;\n\toptions: string[];\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 * as yargsTypes from \"yargs\";\nimport { fileURLToPath } from \"url\";\n\nimport { translate } from \"./lib/localization\";\nimport { Authentication } from \"./lib/authentication\";\nimport { detectPackage } from \"./lib/package\";\nimport {\n\tdetectWorkspace,\n\treadWorkspaceNpmManifest,\n\twriteWorkspaceNpmManifest,\n} from \"./lib/workspace\";\nimport type { ReleaseFolderOptions } from \"./commands/publish\";\nimport { createDefaultPrompter } from \"./lib/prompter\";\n\nimport pjson from \"../package.json\";\n\nconst __filename = fileURLToPath(import.meta.url);\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(translate(\"messages.error\", err.message));\n\t}\n};\n\nconst buildOptions = {\n\toutDir: {\n\t\tdescription: translate(\"options.outDir.description\"),\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: translate(\"options.minimize.description\"),\n\t\ttype: \"boolean\",\n\t\tdefault: true,\n\t},\n\tcwd: {\n\t\tdescription: translate(\"options.cwd.description\"),\n\t\ttype: \"string\",\n\t\tdefault: process.cwd(),\n\t},\n\tclean: {\n\t\tdescription: translate(\"options.clean.description\"),\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n\tdocs: {\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n} as const;\n\nconst preCommandCheck = async () => {\n\t// \tconst executedLocalPackager =\n\t// \t\tpath.relative(process.cwd(), __filename).indexOf(\"..\") === -1;\n\n\t// \tlet repositoryPackage:\n\t// \t\t| {\n\t// \t\t\t\tdependencies?: Record<string, string>;\n\t// \t\t\t\tdevDependencies?: Record<string, string>;\n\t// \t\t }\n\t// \t\t| undefined;\n\n\t// \ttry {\n\t// \t\tconst repositoryPackageJson = fs.readFileSync(\n\t// \t\t\tpath.resolve(process.cwd(), \"package.json\"),\n\t// \t\t\t\"utf8\",\n\t// \t\t);\n\n\t// \t\trepositoryPackage = JSON.parse(repositoryPackageJson);\n\t// \t} catch (err) {}\n\n\t// \tif (\n\t// \t\trepositoryPackage?.dependencies?.[\n\t// \t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t// \t\t] ||\n\t// \t\trepositoryPackage?.devDependencies?.[\n\t// \t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t// \t\t]\n\t// \t) {\n\t// \t\tconst parts = [\"Detected locally installed ig.gfx.packager.\"];\n\n\t// \t\tif (executedLocalPackager) {\n\t// \t\t\tparts.push(\n\t// \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\t);\n\t// \t\t}\n\t// \t\tparts.push(\n\t// \t\t\t'Run \"npm uninstall @intelligentgraphics/ig.gfx.packager\" to remove the local version.',\n\t// \t\t);\n\n\t// \t\tconsole.error(parts.join(\"\\n\"));\n\t// \t\tprocess.exit(1);\n\t// \t}\n\n\t// \tif (executedLocalPackager) {\n\t// \t\tconsole.error(`Detected locally installed ig.gfx.packager.\n\t// Run \"npm install -g @intelligentgraphics/ig.gfx.packager@latest\" to install the global version, if it is not yet installed.\n\t// Run \"npm install\" to get rid of the local packager version.`);\n\t// \t\tprocess.exit(1);\n\t// \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: false,\n\t\tdefer: true,\n\t});\n\n\tconst workspaceLocation = detectWorkspace(process.cwd());\n\n\tconst packageJson = readWorkspaceNpmManifest(workspaceLocation);\n\n\tif (packageJson === 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\tpackageJson.scripts ??= {};\n\tpackageJson.scripts.postinstall = \"packager postinstall\";\n\n\twriteWorkspaceNpmManifest(workspaceLocation, packageJson);\n};\n\nconst yargsInstance = yargs(process.argv.slice(2));\n\nyargsInstance.command(\n\t\"build [directories...]\",\n\t\"Builds the specified directories\",\n\t(argv) => argv.options(buildOptions),\n\tasync ({ directories = [], ...options }) => {\n\t\tawait preCommandCheck();\n\n\t\tconst { buildFolders } = await import(\"./commands/build\");\n\n\t\tawait buildFolders({\n\t\t\t...options,\n\t\t\tdirectories: directories as string[],\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: translate(\"options.noUpload.description\"),\n\t\t\t},\n\t\t\tdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.domain.description\"),\n\t\t\t},\n\t\t\tsubdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.subdomain.description\"),\n\t\t\t},\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.newVersion.description\"),\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: translate(\"options.address.description\"),\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: translate(\"options.service.description\"),\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: translate(\"options.user.description\"),\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: translate(\"options.password.description\"),\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: translate(\"options.docs.description\"),\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: translate(\"options.pushOnly.description\"),\n\t\t\t},\n\t\t\tlicense: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.license.description\"),\n\t\t\t\tdefault: process.env.IG_GFX_LICENSE,\n\t\t\t},\n\t\t}),\n\tasync ({ directory, user, password, service, license, ...options }) => {\n\t\tawait preCommandCheck();\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\ttranslate(\n\t\t\t\t\t\t\t\"options.service.demands\",\n\t\t\t\t\t\t\t\"IG_GFX_ASSET_SERVICE\",\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!license && (!user || !password)) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected authentication to be provided through either of the following methods:\n\t - as a path to a license file using the --license option or the IG_GFX_LICENSE environment variable\n\t - as a username and password using the --user and --password options, or the IG_GFX_USER and IG_GFX_PWD environment variables`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (license && !license.endsWith(\".iglic\")) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected the license path to end with the extension .iglic. Received the path \"${license}\". You may need to reload your environment variables by restarting the program you're using to execute the packager.`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tlet authentication: Authentication | undefined;\n\n\t\tif (license) {\n\t\t\tconst fullLicensePath = path.resolve(process.cwd(), license);\n\t\t\ttry {\n\t\t\t\tconst content = fs.readFileSync(fullLicensePath);\n\t\t\t\tauthentication = {\n\t\t\t\t\ttype: \"license\",\n\t\t\t\t\tlicense: content.toString(\"base64\"),\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tif (err?.code === \"ENOENT\") {\n\t\t\t\t\tcaptureError(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Expected to find a license file at path: ${fullLicensePath}`,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Failed to read license file at path: ${fullLicensePath}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (user && password) {\n\t\t\tconsole.log(\n\t\t\t\t`Detected usage of username and password authentication. Please migrate to the new license file based authentication.`,\n\t\t\t);\n\t\t\tauthentication = {\n\t\t\t\ttype: \"credentials\",\n\t\t\t\tusername: user,\n\t\t\t\tpassword,\n\t\t\t};\n\t\t}\n\n\t\tconst { releaseFolder } = await import(\"./commands/publish\");\n\n\t\tconst prompter = createDefaultPrompter();\n\n\t\tconst fullOptions: ReleaseFolderOptions = {\n\t\t\t...options,\n\t\t\tauthentication,\n\t\t\tservice: service!,\n\t\t\tdirectory: directory as string,\n\t\t\tbanner: true,\n\t\t\tprompter,\n\t\t\tnewVersion: options.newVersion!,\n\t\t};\n\n\t\tawait releaseFolder(fullOptions).catch(captureError);\n\t},\n);\n\nyargsInstance.command({\n\tcommand: \"generateIndex [directory]\",\n\tbuilder: (argv) => {\n\t\treturn argv.option(\"ignore\", {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\tdescription: translate(\"options.ignore.description\"),\n\t\t});\n\t},\n\thandler: async ({ directory, ignore }) => {\n\t\tawait preCommandCheck();\n\n\t\tconst { extract } = await import(\"./commands/generate\");\n\n\t\tconst workspace = detectWorkspace(process.cwd());\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\textract(location, ignore as string[]);\n\t},\n});\n\nyargsInstance.command({\n\tcommand: \"postinstall\",\n\tbuilder: (argv) => argv,\n\thandler: async () => {\n\t\tconst { executePostInstall } = await import(\"./commands/postinstall\");\n\n\t\texecutePostInstall(detectWorkspace(process.cwd()));\n\t},\n\tdescribe: \"Runs postinstall tasks\",\n});\n\nyargsInstance.command({\n\tcommand: \"publishNpm [directory]\",\n\tbuilder: (argv) =>\n\t\targv.options({\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.newVersion.description\"),\n\t\t\t\tdefault: process.env.VERSION,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tdryRun: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t}),\n\thandler: async ({ directory, newVersion, dryRun }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tconst { publishToNpm } = await import(\"./commands/publishNpm\");\n\n\t\tawait publishToNpm({\n\t\t\tworkspace,\n\t\t\tlocation: detectPackage(workspace, directory as string),\n\t\t\tversion: newVersion,\n\t\t\tdryRun,\n\t\t}).catch(captureError);\n\t},\n\tdescribe: \"Publishes the package to npm\",\n});\n\nyargsInstance\n\t.demandCommand()\n\t.pkgConf(\"packager\")\n\t.showHelpOnFail(false)\n\t.version().argv;\n"],"names":["__dirname","dirname","fileURLToPath","import","meta","url","instance","y18n","directory","path","join","updateFiles","locale","fallbackToLanguage","translate","key","args","__","getNodeErrorCode","error","code","undefined","isErrorENOENT","readNpmManifest","packageJsonPath","packageJson","fs","readFileSync","encoding","JSON","parse","writeNpmManifest","writePkg","sync","PACKAGE_FILE","INDEX_FILE","ANIMATION_FILE","parseCreatorPackageName","manifest","domain","subdomainParts","Package","split","subdomain","detectPackage","workspace","resolve","scriptsPath","tsPath","location","existsSync","_kind","scriptsDir","manifestDir","readPackageCreatorManifest","Error","result","Scope","writePackageCreatorManifest","creatorPackage","writeFileSync","stringify","readPackageCreatorIndex","indexPath","index","err","writePackageCreatorIndex","readPackageNpmManifest","writePackageNpmManifest","readPackageAnimationList","directoryContent","readdirSync","animationPathList","entry","endsWith","animationPath","push","getPackageReleasesDirectory","detectWorkspace","process","cwd","readWorkspaceNpmManifest","writeWorkspaceNpmManifest","getWorkspaceOutputPath","getWorkspaceLibPath","iterateWorkspacePackages","entries","withFileTypes","isDirectory","name","createDefaultPrompter","confirm","message","inquirer","prompt","type","ask","question","answer","choices","options","default","captureError","console","log","env","NODE_ENV","buildOptions","outDir","description","coerce","input","minimize","clean","docs","preCommandCheck","notifier","updateNotifier","pkg","pjson","shouldNotifyInNpmScript","updateCheckInterval","notify","isGlobal","defer","workspaceLocation","scripts","postinstall","yargsInstance","yargs","argv","slice","command","directories","buildFolders","catch","noUpload","newVersion","VERSION","required","address","service","IG_GFX_ASSET_SERVICE","user","IG_GFX_USER","password","IG_GFX_PWD","pushOnly","license","IG_GFX_LICENSE","authentication","fullLicensePath","content","toString","username","releaseFolder","prompter","fullOptions","banner","builder","option","handler","ignore","extract","executePostInstall","describe","dryRun","publishToNpm","version","demandCommand","pkgConf","showHelpOnFail"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.mjs","sources":["../src/lib/localization.ts","../src/lib/error.ts","../src/lib/npmPackage.ts","../src/lib/package.ts","../src/lib/workspace.ts","../src/lib/prompter.ts","../src/cli.ts"],"sourcesContent":["import y18n from \"y18n\";\nimport * as path from \"path\";\nimport { dirname } from \"path\";\nimport { fileURLToPath } from \"url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nconst instance = y18n({\n\tdirectory: path.join(__dirname, \"..\", \"locales\"),\n\tupdateFiles: false,\n\tlocale: \"en\",\n\tfallbackToLanguage: true,\n});\n\nexport const setLocale = (locale: string) => {\n\tinstance.setLocale(locale);\n};\n\nexport const translate = (key: string, ...args: string[]) =>\n\tinstance.__(key, ...args);\n","interface NodeError extends Error {\n\tcode: string;\n}\n\nexport const getNodeErrorCode = (error: unknown) => {\n\tif (\n\t\terror !== null &&\n\t\ttypeof error === \"object\" &&\n\t\t(error as NodeError).code !== undefined\n\t) {\n\t\treturn (error as NodeError).code;\n\t}\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 */\nexport const isErrorEACCES = (error: unknown) =>\n\tgetNodeErrorCode(error) === \"EACCES\";\n\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 */\nexport const isErrorENOENT = (error: unknown) =>\n\tgetNodeErrorCode(error) === \"ENOENT\";\n","import * as fs from \"fs\";\nimport * as path from \"path\";\nimport { writePackageSync } from \"write-pkg\";\n\nimport { PackageJSON } from \"./packageJSON\";\n\nexport const readNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n): T => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\tconst packageJson = fs.readFileSync(packageJsonPath, {\n\t\tencoding: \"utf8\",\n\t});\n\treturn JSON.parse(packageJson);\n};\n\nexport const writeNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n\tpackageJson: T,\n) => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\twritePackageSync(packageJsonPath, packageJson);\n};\n","// Functionality related to working with a single package.\n\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { isErrorENOENT } from \"./error\";\nimport { WorkspaceLocation } from \"./workspace\";\nimport { readNpmManifest, writeNpmManifest } from \"./npmPackage\";\nimport { PackageJSON } from \"./packageJSON\";\n\nexport const PACKAGE_FILE = \"_Package.json\";\nexport const INDEX_FILE = \"_Index.json\";\nconst ANIMATION_FILE_SUFFIX = \".animation.json\";\n\n/**\n * Describes the location of a single package.\n *\n * @export\n * @interface PackageLocation\n */\nexport interface PackageLocation {\n\t_kind: \"PackageLocation\";\n\t/**\n\t * Main directory of a package\n\t *\n\t * @type {string}\n\t */\n\tpath: string;\n\t/**\n\t * Directory containing the typescript files\n\t *\n\t * @type {string}\n\t */\n\tscriptsDir: string;\n\t/**\n\t * Diretory containing the _Package.json, _Index.json, package.json and animation.json files\n\t *\n\t * @type {string}\n\t */\n\tmanifestDir: string;\n}\n\nexport interface CreatorPackage {\n\tScope: string;\n\tPackage: string;\n\tRunTime: boolean;\n\tType: \"Interactor\" | \"Mixed\" | \"Core\" | \"Context\" | \"Evaluator\";\n}\n\nexport type CreatorIndex = CreatorIndexEntry[];\n\nexport interface CreatorIndexEntry {\n\tName: string;\n\tDescription?: string;\n\tType: \"Interactor\" | \"Evaluator\";\n\tParameters: CreatorIndexParameter[];\n}\n\nexport interface CreatorIndexParameter {\n\tName: string;\n\tType: CreatorIndexParameterType;\n\tDescription?: string;\n\tDefault?: unknown;\n\tDisplayIndex: number;\n}\n\nexport type CreatorIndexParameterType =\n\t| \"String\"\n\t| \"LengthM\"\n\t| \"Material\"\n\t| \"Boolean\"\n\t| \"Bool\"\n\t| \"ArcDEG\"\n\t| \"Integer\"\n\t| \"Int\"\n\t| \"Float\";\n\nexport const parseCreatorPackageName = (manifest: CreatorPackage) => {\n\tconst [domain, ...subdomainParts] = manifest.Package.split(\".\");\n\treturn {\n\t\tdomain,\n\t\tsubdomain: subdomainParts.join(\".\"),\n\t};\n};\n\nexport interface PackageNpmManifest extends PackageJSON {\n\tig?: {\n\t\tscriptingLibrary?: boolean;\n\t};\n}\n\n/**\n * Detects the package at the given directory.\n *\n * @param {string} directory\n * @returns {PackageLocation}\n */\nexport const detectPackage = (\n\tworkspace: WorkspaceLocation,\n\tdirectory: string,\n): PackageLocation => {\n\tdirectory = path.resolve(workspace.path, directory);\n\n\tconst scriptsPath = path.join(directory, \"Scripts\");\n\tconst tsPath = path.join(directory, \"ts\");\n\n\tlet location: PackageLocation;\n\n\tif (fs.existsSync(scriptsPath)) {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: scriptsPath,\n\t\t\tmanifestDir: scriptsPath,\n\t\t};\n\t} else if (fs.existsSync(tsPath)) {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: tsPath,\n\t\t\tmanifestDir: directory,\n\t\t};\n\t} else {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: directory,\n\t\t\tmanifestDir: directory,\n\t\t};\n\t}\n\n\ttry {\n\t\treadPackageCreatorManifest(location);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\tthrow new Error(\n\t\t\t\t`No _Package.json found in ${location.manifestDir}`,\n\t\t\t);\n\t\t}\n\t\tthrow err;\n\t}\n\n\treturn location;\n};\n\nexport const readPackageCreatorManifest = (\n\tlocation: PackageLocation,\n): CreatorPackage => {\n\tconst packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n\tconst packageJson = fs.readFileSync(packageJsonPath, { encoding: \"utf8\" });\n\tconst result: Omit<CreatorPackage, \"Scope\"> & { Scope?: string } =\n\t\tJSON.parse(packageJson);\n\treturn {\n\t\t...result,\n\t\tScope: result.Scope || result.Package,\n\t};\n};\n\nexport const writePackageCreatorManifest = (\n\tlocation: PackageLocation,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n\tfs.writeFileSync(\n\t\tpackageJsonPath,\n\t\tJSON.stringify(creatorPackage, null, \"\\t\") + \"\\n\",\n\t);\n};\n\nexport const readPackageCreatorIndex = (\n\tlocation: PackageLocation,\n): CreatorIndex | undefined => {\n\ttry {\n\t\tconst indexPath = path.join(location.manifestDir, INDEX_FILE);\n\t\tconst index = fs.readFileSync(indexPath, { encoding: \"utf8\" });\n\t\treturn JSON.parse(index);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writePackageCreatorIndex = (\n\tlocation: PackageLocation,\n\tindex: CreatorIndex,\n) => {\n\tconst packageJsonPath = path.join(location.manifestDir, INDEX_FILE);\n\tfs.writeFileSync(packageJsonPath, JSON.stringify(index, null, \"\\t\") + \"\\n\");\n};\n\nexport const readPackageNpmManifest = (\n\tlocation: PackageLocation,\n): PackageNpmManifest | undefined => {\n\ttry {\n\t\treturn readNpmManifest(location.manifestDir);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writePackageNpmManifest = (\n\tlocation: PackageLocation,\n\tpackageJson: PackageNpmManifest,\n) => {\n\twriteNpmManifest(location.manifestDir, packageJson);\n};\n\nexport const readPackageAnimationList = (location: PackageLocation) => {\n\tconst directoryContent = fs.readdirSync(location.manifestDir);\n\tconst animationPathList: string[] = [];\n\n\tfor (const entry of directoryContent) {\n\t\tif (entry.endsWith(ANIMATION_FILE_SUFFIX)) {\n\t\t\tconst animationPath = path.join(location.manifestDir, entry);\n\t\t\tanimationPathList.push(animationPath);\n\t\t}\n\t}\n\n\treturn animationPathList;\n};\n\nexport const getPackageReleasesDirectory = (location: PackageLocation) =>\n\tpath.join(location.path, \"Releases\");\n\nexport const arePackageLocationsEqual = (\n\ta: PackageLocation,\n\tb: PackageLocation,\n) => a.path === b.path;\n","// Functionality related to working with a workspace consisting of multiple packages.\n\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageJSON } from \"./packageJSON\";\nimport { isErrorENOENT } from \"./error\";\nimport { readNpmManifest, writeNpmManifest } from \"./npmPackage\";\nimport { detectPackage } from \"./package\";\n\n/**\n * Describe the location of a workspace constining of n packages.\n *\n * @export\n * @interface WorkspaceLocation\n */\nexport interface WorkspaceLocation {\n\t_kind: \"WorkspaceLocation\";\n\tpath: string;\n}\n\nexport interface WorkspacePackageJSON extends PackageJSON {\n\tpackager?: { banner?: string };\n}\n\nexport const detectWorkspace = (directory: string): WorkspaceLocation => {\n\tdirectory = path.resolve(process.cwd(), directory);\n\treturn {\n\t\t_kind: \"WorkspaceLocation\",\n\t\tpath: directory,\n\t};\n};\n\nexport const readWorkspaceNpmManifest = (\n\tworkspace: WorkspaceLocation,\n): WorkspacePackageJSON | undefined => {\n\ttry {\n\t\treturn readNpmManifest<WorkspacePackageJSON>(workspace.path);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writeWorkspaceNpmManifest = <T extends WorkspacePackageJSON>(\n\tworkspace: WorkspaceLocation,\n\tpackageJson: T,\n) => writeNpmManifest(workspace.path, packageJson);\n\nexport const getWorkspaceOutputPath = (workspace: WorkspaceLocation) =>\n\tpath.join(workspace.path, \"bin\");\n\nexport const getWorkspaceLibPath = (workspace: WorkspaceLocation) =>\n\tpath.join(workspace.path, \"lib\");\n\nexport function* iterateWorkspacePackages(workspace: WorkspaceLocation) {\n\tconst entries = fs.readdirSync(workspace.path, { withFileTypes: true });\n\n\tfor (const entry of entries) {\n\t\tif (!entry.isDirectory()) {\n\t\t\tcontinue;\n\t\t}\n\n\t\ttry {\n\t\t\tyield detectPackage(workspace, entry.name);\n\t\t} catch {}\n\t}\n}\n","import inquirer from \"inquirer\";\n\nexport interface PrompterQuestion {\n\tmessage: string;\n\toptions: string[];\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\";\n\nimport { translate } from \"./lib/localization\";\nimport { Authentication } from \"./lib/authentication\";\nimport { detectPackage } from \"./lib/package\";\nimport {\n\tdetectWorkspace,\n\treadWorkspaceNpmManifest,\n\twriteWorkspaceNpmManifest,\n} from \"./lib/workspace\";\nimport type { ReleaseFolderOptions } from \"./commands/publish\";\nimport { createDefaultPrompter } from \"./lib/prompter\";\n\nimport pjson from \"../package.json\";\n\nconst __filename = fileURLToPath(import.meta.url);\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(translate(\"messages.error\", err.message));\n\t}\n};\n\nconst buildOptions = {\n\toutDir: {\n\t\tdescription: translate(\"options.outDir.description\"),\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: translate(\"options.minimize.description\"),\n\t\ttype: \"boolean\",\n\t\tdefault: true,\n\t},\n\tcwd: {\n\t\tdescription: translate(\"options.cwd.description\"),\n\t\ttype: \"string\",\n\t\tdefault: process.cwd(),\n\t},\n\tclean: {\n\t\tdescription: translate(\"options.clean.description\"),\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n\tdocs: {\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n} as const;\n\nconst preCommandCheck = async () => {\n\t// \tconst executedLocalPackager =\n\t// \t\tpath.relative(process.cwd(), __filename).indexOf(\"..\") === -1;\n\n\t// \tlet repositoryPackage:\n\t// \t\t| {\n\t// \t\t\t\tdependencies?: Record<string, string>;\n\t// \t\t\t\tdevDependencies?: Record<string, string>;\n\t// \t\t }\n\t// \t\t| undefined;\n\n\t// \ttry {\n\t// \t\tconst repositoryPackageJson = fs.readFileSync(\n\t// \t\t\tpath.resolve(process.cwd(), \"package.json\"),\n\t// \t\t\t\"utf8\",\n\t// \t\t);\n\n\t// \t\trepositoryPackage = JSON.parse(repositoryPackageJson);\n\t// \t} catch (err) {}\n\n\t// \tif (\n\t// \t\trepositoryPackage?.dependencies?.[\n\t// \t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t// \t\t] ||\n\t// \t\trepositoryPackage?.devDependencies?.[\n\t// \t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t// \t\t]\n\t// \t) {\n\t// \t\tconst parts = [\"Detected locally installed ig.gfx.packager.\"];\n\n\t// \t\tif (executedLocalPackager) {\n\t// \t\t\tparts.push(\n\t// \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\t);\n\t// \t\t}\n\t// \t\tparts.push(\n\t// \t\t\t'Run \"npm uninstall @intelligentgraphics/ig.gfx.packager\" to remove the local version.',\n\t// \t\t);\n\n\t// \t\tconsole.error(parts.join(\"\\n\"));\n\t// \t\tprocess.exit(1);\n\t// \t}\n\n\t// \tif (executedLocalPackager) {\n\t// \t\tconsole.error(`Detected locally installed ig.gfx.packager.\n\t// Run \"npm install -g @intelligentgraphics/ig.gfx.packager@latest\" to install the global version, if it is not yet installed.\n\t// Run \"npm install\" to get rid of the local packager version.`);\n\t// \t\tprocess.exit(1);\n\t// \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: false,\n\t\tdefer: true,\n\t});\n\n\tconst workspaceLocation = detectWorkspace(process.cwd());\n\n\tconst packageJson = readWorkspaceNpmManifest(workspaceLocation);\n\n\tif (packageJson === 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\tpackageJson.scripts ??= {};\n\tpackageJson.scripts.postinstall = \"packager postinstall\";\n\n\twriteWorkspaceNpmManifest(workspaceLocation, packageJson);\n};\n\nconst yargsInstance = yargs(process.argv.slice(2));\n\nyargsInstance.command(\n\t\"build [directories...]\",\n\t\"Builds the specified directories\",\n\t(argv) => argv.options(buildOptions),\n\tasync ({ directories = [], ...options }) => {\n\t\tawait preCommandCheck();\n\n\t\tconst { buildFolders } = await import(\"./commands/build\");\n\n\t\tawait buildFolders({\n\t\t\t...options,\n\t\t\tdirectories: directories as string[],\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: translate(\"options.noUpload.description\"),\n\t\t\t},\n\t\t\tdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.domain.description\"),\n\t\t\t},\n\t\t\tsubdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.subdomain.description\"),\n\t\t\t},\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.newVersion.description\"),\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: translate(\"options.address.description\"),\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: translate(\"options.service.description\"),\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: translate(\"options.user.description\"),\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: translate(\"options.password.description\"),\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: translate(\"options.docs.description\"),\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: translate(\"options.pushOnly.description\"),\n\t\t\t},\n\t\t\tlicense: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.license.description\"),\n\t\t\t\tdefault: process.env.IG_GFX_LICENSE,\n\t\t\t},\n\t\t}),\n\tasync ({ directory, user, password, service, license, ...options }) => {\n\t\tawait preCommandCheck();\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\ttranslate(\n\t\t\t\t\t\t\t\"options.service.demands\",\n\t\t\t\t\t\t\t\"IG_GFX_ASSET_SERVICE\",\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!license && (!user || !password)) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected authentication to be provided through either of the following methods:\n\t - as a path to a license file using the --license option or the IG_GFX_LICENSE environment variable\n\t - as a username and password using the --user and --password options, or the IG_GFX_USER and IG_GFX_PWD environment variables`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (license && !license.endsWith(\".iglic\")) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected the license path to end with the extension .iglic. Received the path \"${license}\". You may need to reload your environment variables by restarting the program you're using to execute the packager.`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tlet authentication: Authentication | undefined;\n\n\t\tif (license) {\n\t\t\tconst fullLicensePath = path.resolve(process.cwd(), license);\n\t\t\ttry {\n\t\t\t\tconst content = fs.readFileSync(fullLicensePath);\n\t\t\t\tauthentication = {\n\t\t\t\t\ttype: \"license\",\n\t\t\t\t\tlicense: content.toString(\"base64\"),\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tif (err?.code === \"ENOENT\") {\n\t\t\t\t\tcaptureError(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Expected to find a license file at path: ${fullLicensePath}`,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Failed to read license file at path: ${fullLicensePath}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (user && password) {\n\t\t\tconsole.log(\n\t\t\t\t`Detected usage of username and password authentication. Please migrate to the new license file based authentication.`,\n\t\t\t);\n\t\t\tauthentication = {\n\t\t\t\ttype: \"credentials\",\n\t\t\t\tusername: user,\n\t\t\t\tpassword,\n\t\t\t};\n\t\t}\n\n\t\tconst { releaseFolder } = await import(\"./commands/publish\");\n\n\t\tconst prompter = createDefaultPrompter();\n\n\t\tconst fullOptions: ReleaseFolderOptions = {\n\t\t\t...options,\n\t\t\tauthentication,\n\t\t\tservice: service!,\n\t\t\tdirectory: directory as string,\n\t\t\tbanner: true,\n\t\t\tprompter,\n\t\t\tnewVersion: options.newVersion!,\n\t\t};\n\n\t\tawait releaseFolder(fullOptions).catch(captureError);\n\t},\n);\n\nyargsInstance.command({\n\tcommand: \"generateIndex [directory]\",\n\tbuilder: (argv) => {\n\t\treturn argv.option(\"ignore\", {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\tdescription: translate(\"options.ignore.description\"),\n\t\t});\n\t},\n\thandler: async ({ directory, ignore }) => {\n\t\tawait preCommandCheck();\n\n\t\tconst { extract } = await import(\"./commands/generate\");\n\n\t\tconst workspace = detectWorkspace(process.cwd());\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\textract(location, ignore as string[]);\n\t},\n});\n\nyargsInstance.command({\n\tcommand: \"postinstall\",\n\tbuilder: (argv) => argv,\n\thandler: async () => {\n\t\tconst { executePostInstall } = await import(\"./commands/postinstall\");\n\n\t\texecutePostInstall(detectWorkspace(process.cwd()));\n\t},\n\tdescribe: \"Runs postinstall tasks\",\n});\n\nyargsInstance.command({\n\tcommand: \"publishNpm [directory]\",\n\tbuilder: (argv) =>\n\t\targv.options({\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.newVersion.description\"),\n\t\t\t\tdefault: process.env.VERSION,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tdryRun: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t}),\n\thandler: async ({ directory, newVersion, dryRun }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tconst { publishToNpm } = await import(\"./commands/publishNpm\");\n\n\t\tawait publishToNpm({\n\t\t\tworkspace,\n\t\t\tlocation: detectPackage(workspace, directory as string),\n\t\t\tversion: newVersion,\n\t\t\tdryRun,\n\t\t}).catch(captureError);\n\t},\n\tdescribe: \"Publishes the package to npm\",\n});\n\nyargsInstance\n\t.demandCommand()\n\t.pkgConf(\"packager\")\n\t.showHelpOnFail(false)\n\t.version().argv;\n"],"names":["__dirname","dirname","fileURLToPath","import","meta","url","instance","y18n","directory","path","join","updateFiles","locale","fallbackToLanguage","translate","key","args","__","getNodeErrorCode","error","code","undefined","isErrorENOENT","readNpmManifest","packageJsonPath","packageJson","fs","readFileSync","encoding","JSON","parse","writeNpmManifest","writePackageSync","PACKAGE_FILE","INDEX_FILE","ANIMATION_FILE_SUFFIX","parseCreatorPackageName","manifest","domain","subdomainParts","Package","split","subdomain","detectPackage","workspace","resolve","scriptsPath","tsPath","location","existsSync","_kind","scriptsDir","manifestDir","readPackageCreatorManifest","err","Error","result","Scope","writePackageCreatorManifest","creatorPackage","writeFileSync","stringify","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","createDefaultPrompter","confirm","message","inquirer","prompt","type","ask","question","answer","choices","options","default","captureError","console","log","env","NODE_ENV","buildOptions","outDir","description","coerce","input","minimize","clean","docs","preCommandCheck","notifier","updateNotifier","pkg","pjson","shouldNotifyInNpmScript","updateCheckInterval","notify","isGlobal","defer","workspaceLocation","scripts","postinstall","yargsInstance","yargs","argv","slice","command","directories","buildFolders","catch","noUpload","newVersion","VERSION","required","address","service","IG_GFX_ASSET_SERVICE","user","IG_GFX_USER","password","IG_GFX_PWD","pushOnly","license","IG_GFX_LICENSE","authentication","fullLicensePath","content","toString","username","releaseFolder","prompter","fullOptions","banner","builder","option","handler","ignore","extract","executePostInstall","describe","dryRun","publishToNpm","version","demandCommand","pkgConf","showHelpOnFail"],"mappings":"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"}
|
package/build/commands/build.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import * as fs from 'fs';
|
|
4
4
|
import glob from 'glob';
|
|
5
|
-
import terser from 'terser';
|
|
5
|
+
import * as terser from 'terser';
|
|
6
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
8
|
import { g as getPackageTypescriptFiles } from '../scripts.mjs';
|
|
@@ -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
|
-
|
|
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 (
|
|
95
|
+
const generateDocs = async (location, declarationFile, outFolder, name) => {
|
|
94
96
|
const app = new typedoc.Application();
|
|
95
|
-
const mediaDir = path.join(
|
|
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:
|
|
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 =
|
|
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,
|
|
165
|
+
const logStep = step => logPackageMessage(data.Package, step, index, folders.length);
|
|
164
166
|
logStep(translate("messages.building"));
|
|
165
|
-
const
|
|
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
|
});
|
|
@@ -179,12 +181,9 @@ const buildFolders = async options => {
|
|
|
179
181
|
encoding: "utf8"
|
|
180
182
|
});
|
|
181
183
|
if (options.minimize) {
|
|
182
|
-
const minifyResult = terser.minify(buildResult.js, {
|
|
184
|
+
const minifyResult = await terser.minify(buildResult.js, {
|
|
183
185
|
ecma: 5
|
|
184
186
|
});
|
|
185
|
-
if (minifyResult.error || !minifyResult.code) {
|
|
186
|
-
console.warn("Not writing minified script version because of error", minifyResult.error);
|
|
187
|
-
}
|
|
188
187
|
const minifiedPath = path.join(outputDirectory, `${data.Package}.min.js`);
|
|
189
188
|
fs.writeFileSync(minifiedPath, minifyResult.code, {
|
|
190
189
|
encoding: "utf8"
|
|
@@ -201,7 +200,7 @@ const buildFolders = async options => {
|
|
|
201
200
|
}
|
|
202
201
|
if (options.docs) {
|
|
203
202
|
logStep(translate("messages.docsGeneration"));
|
|
204
|
-
await generateDocs(location
|
|
203
|
+
await generateDocs(location, path.join(outputDirectory, `${data.Package}.d.ts`), path.join(options.cwd, "docs", data.Package), data.Package);
|
|
205
204
|
}
|
|
206
205
|
|
|
207
206
|
// logStep(translate("messages.built"));
|
|
@@ -241,7 +240,7 @@ const applyTsConfigOption = data => {
|
|
|
241
240
|
data.compilerOptions.target = "es5";
|
|
242
241
|
data.compilerOptions.lib = ["es5", "dom"];
|
|
243
242
|
};
|
|
244
|
-
const
|
|
243
|
+
const sortPackagesByBuildOrder = folders => {
|
|
245
244
|
const packages = Array.from(folders).reduce((acc, location) => {
|
|
246
245
|
const data = readPackageNpmManifest(location);
|
|
247
246
|
if (data !== undefined) {
|
|
@@ -271,9 +270,14 @@ const buildSortedPackageMap = folders => {
|
|
|
271
270
|
return acc;
|
|
272
271
|
}, {});
|
|
273
272
|
const sortedPackages = toposort(packageDependencies);
|
|
274
|
-
const result =
|
|
273
|
+
const result = [];
|
|
275
274
|
for (const packageName of sortedPackages) {
|
|
276
|
-
|
|
275
|
+
const location = packages[packageName].location;
|
|
276
|
+
if (readPackageCreatorManifest(location).Package.endsWith(".Basics")) {
|
|
277
|
+
result.unshift(location);
|
|
278
|
+
} else {
|
|
279
|
+
result.push(location);
|
|
280
|
+
}
|
|
277
281
|
}
|
|
278
282
|
return result;
|
|
279
283
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.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 = (\n\tname: string,\n\tstep: string,\n\tindex?: number,\n\ttotal?: number,\n) => {\n\tconst numLength = total === undefined ? undefined : total.toString().length;\n\n\tconst indexString =\n\t\ttotal === undefined || total < 2\n\t\t\t? \"\"\n\t\t\t: `${index!.toString().padStart(numLength!, \"0\")}/${total} `;\n\n\tconst identifierString = `${indexString}${name.padEnd(15)}`;\n\n\tconsole.log(`${identifierString} >> ${step}`);\n};\n","import ts from \"typescript\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nimport { FolderBuilder } from \".\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\n\nexport const tryReadTsConfig = (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\treturn config as {\n\t\tcompilerOptions: ts.CompilerOptions;\n\t};\n};\n\nexport const build: FolderBuilder = async (location: PackageLocation) => {\n\tconst config = tryReadTsConfig(location);\n\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\n\n\tconst result = ts.convertCompilerOptionsFromJson(\n\t\tconfig.compilerOptions,\n\t\tlocation.scriptsDir,\n\t);\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\t...result.options,\n\t\tremoveComments: false,\n\t\tdeclaration: true,\n\t\tsourceMap: false,\n\t\toutFile: \"out.js\",\n\t\ttarget: ts.ScriptTarget.ES5,\n\t\tnoEmitOnError: true,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions);\n\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\tlet js: string | undefined;\n\tlet definitions: string | undefined;\n\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\tif (fileName.endsWith(\".js\")) {\n\t\t\tjs = data;\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\tdefinitions = data;\n\t\t}\n\t};\n\n\tconst files = getPackageTypescriptFiles(location);\n\n\tif (files.length === 0) {\n\t\tthrow new Error(\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.`,\n\t\t);\n\t}\n\n\tconst programOptions: ts.CreateProgramOptions = {\n\t\trootNames: files,\n\t\toptions: compilerOptions,\n\t\thost,\n\t};\n\n\tconst program = ts.createProgram(programOptions);\n\tconst emitResult = program.emit();\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\tif (!emitResult.emitSkipped) {\n\t\tif (allDiagnostics.length > 0) {\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\n\t\t}\n\n\t\tif (js === undefined || definitions === undefined) {\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\n\t\t}\n\n\t\treturn { js, definitions };\n\t}\n\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\n\n\tthrow new Error(error);\n};\n\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\n\tif (!diagnostic.file) {\n\t\treturn `${ts.flattenDiagnosticMessageText(\n\t\t\tdiagnostic.messageText,\n\t\t\t\"\\n\",\n\t\t)}`;\n\t}\n\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\n\t\tdiagnostic.start!,\n\t);\n\n\tconst message = ts.flattenDiagnosticMessageText(\n\t\tdiagnostic.messageText,\n\t\t\"\\n\",\n\t);\n\n\treturn `${diagnostic.file.fileName} (${line + 1},${\n\t\tcharacter + 1\n\t}): ${message}`;\n};\n","import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\n\nexport const generateDocs = async (\n\tfolderPath: string,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(folderPath, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: folderPath,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n","// Stolen from ig.tools.core\n\nexport const toposort = (packages: Record<string, string[]>) => {\n\tconst queue = Object.getOwnPropertyNames(packages);\n\tconst result: string[] = [];\n\n\tlet index = 0;\n\n\twhile (queue.length > 0) {\n\t\tif (index >= queue.length) {\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\n\t\t}\n\n\t\tconst queueEntry = queue[index];\n\n\t\tconst dependencies = packages[queueEntry];\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\n\t\t\tqueue.includes(dependency),\n\t\t);\n\n\t\tif (dependencyQueued) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tqueue.splice(index, 1);\n\t\tindex = 0;\n\t\tresult.push(queueEntry);\n\t}\n\n\treturn result;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport glob from \"glob\";\nimport terser from \"terser\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport { translate } from \"../../lib/localization\";\nimport { build as tscBuild } from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tdetectPackage,\n\tPackageLocation,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { detectWorkspace, WorkspaceLocation } from \"../../lib/workspace\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tcwd: string;\n\tdirectories: string[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n\tskipPackagesWithoutTsFiles?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tfs.rmSync(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = detectWorkspace(options.cwd);\n\tconst folders = resolvePackagesFromArgs(options.directories, workspace);\n\n\tif (folders.length === 0) {\n\t\treturn console.log(translate(\"messages.buildSkipEmpty\"));\n\t}\n\n\tconst sortedPackages = buildSortedPackageMap(folders);\n\n\tlet index = 1;\n\n\tfor (const [, { location }] of sortedPackages) {\n\t\tif (\n\t\t\toptions.skipPackagesWithoutTsFiles &&\n\t\t\tgetPackageTypescriptFiles(location).length === 0\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tensureTsConfig(location);\n\n\t\tconst data = readPackageCreatorManifest(location);\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(data.Package, step, index, sortedPackages.size);\n\n\t\tlogStep(translate(\"messages.building\"));\n\n\t\tconst buildResult = await tscBuild(location);\n\t\tconst banner = options.banner\n\t\t\t? createBannerComment(options.banner)\n\t\t\t: undefined;\n\n\t\tif (banner) {\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\n\t\t\tbuildResult.definitions = banner + \"\\n\" + buildResult.definitions;\n\t\t}\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\n\t\t\tbuildResult.js,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\tbuildResult.definitions,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\n\t\tif (options.minimize) {\n\t\t\tconst minifyResult = terser.minify(buildResult.js, {\n\t\t\t\tecma: 5,\n\t\t\t});\n\n\t\t\tif (minifyResult.error || !minifyResult.code) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t\"Not writing minified script version because of error\",\n\t\t\t\t\tminifyResult.error,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst minifiedPath = path.join(\n\t\t\t\toutputDirectory,\n\t\t\t\t`${data.Package}.min.js`,\n\t\t\t);\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t});\n\t\t}\n\n\t\tif (location.path.includes(\"Basics\")) {\n\t\t\tfs.mkdirSync(path.join(options.cwd, \"lib\"), {\n\t\t\t\trecursive: true,\n\t\t\t});\n\n\t\t\tlogStep(translate(\"messages.basicsCopy\"));\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(options.cwd, \"lib\", `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.docs) {\n\t\t\tlogStep(translate(\"messages.docsGeneration\"));\n\t\t\tawait generateDocs(\n\t\t\t\tlocation.scriptsDir,\n\t\t\t\tpath.join(\n\t\t\t\t\toptions.outDir || location.scriptsDir,\n\t\t\t\t\t`${data.Package}.d.ts`,\n\t\t\t\t),\n\t\t\t\tpath.join(options.cwd, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\t// logStep(translate(\"messages.built\"));\n\n\t\tindex++;\n\t}\n};\n\nconst resolvePackagesFromArgs = (\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\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\nconst ensureTsConfig = (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\tif (!fs.existsSync(tsconfigPath)) {\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} else {\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst buildSortedPackageMap = (folders: PackageLocation[]) => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result = new Map<string, FolderData>();\n\n\tfor (const packageName of sortedPackages) {\n\t\tresult.set(packageName, packages[packageName]);\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["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","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","folderPath","declarationFile","outFolder","app","typedoc","Application","mediaDir","bootstrap","entryPoints","media","out","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","buildSortedPackageMap","skipPackagesWithoutTsFiles","ensureTsConfig","readPackageCreatorManifest","logStep","Package","size","buildResult","tscBuild","banner","createBannerComment","outputDirectory","mkdirSync","writeFileSync","encoding","minimize","minifyResult","terser","minify","ecma","code","warn","minifiedPath","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","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":";;;;;;;;;;AAAO,MAAMA,iBAAiB,GAAG,CAChCC,IAAY,EACZC,IAAY,EACZC,KAAc,EACdC,KAAc,KACV;AACJ,EAAA,MAAMC,SAAS,GAAGD,KAAK,KAAKE,SAAS,GAAGA,SAAS,GAAGF,KAAK,CAACG,QAAQ,EAAE,CAACC,MAAM,CAAA;EAE3E,MAAMC,WAAW,GAChBL,KAAK,KAAKE,SAAS,IAAIF,KAAK,GAAG,CAAC,GAC7B,EAAE,GACD,CAAA,EAAED,KAAK,CAAEI,QAAQ,EAAE,CAACG,QAAQ,CAACL,SAAS,EAAG,GAAG,CAAE,CAAGD,CAAAA,EAAAA,KAAM,CAAE,CAAA,CAAA,CAAA;EAE9D,MAAMO,gBAAgB,GAAI,CAAA,EAAEF,WAAY,CAAA,EAAER,IAAI,CAACW,MAAM,CAAC,EAAE,CAAE,CAAC,CAAA,CAAA;EAE3DC,OAAO,CAACC,GAAG,CAAE,CAAA,EAAEH,gBAAiB,CAAMT,IAAAA,EAAAA,IAAK,EAAC,CAAC,CAAA;AAC9C;;ACPO,MAAMa,eAAe,GAAIC,QAAyB,IAAK;EAC7D,MAAM;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAGC,EAAE,CAACC,cAAc,CACnCC,IAAI,CAACC,IAAI,CAACL,QAAQ,CAACM,UAAU,EAAE,eAAe,CAAC,EAC9CF,IAAI,IAAK;IACT,IAAI;AACH,MAAA,OAAOG,EAAE,CAACC,YAAY,CAACJ,IAAI,EAAE,MAAM,CAAC,CAAA;AACrC,KAAC,CAAC,MAAM;AACP,MAAA,OAAOd,SAAS,CAAA;AACjB,KAAA;AACD,GAAC,CACD,CAAA;AAED,EAAA,OAAOW,MAAM,CAAA;AAGd,CAAC,CAAA;AAEM,MAAMQ,KAAoB,GAAG,MAAOT,QAAyB,IAAK;AACxE,EAAA,MAAMC,MAAM,GAAGF,eAAe,CAACC,QAAQ,CAAC,CAAA;EAExCC,MAAM,CAACS,eAAe,CAACC,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAE3C,EAAA,MAAMC,MAAM,GAAGV,EAAE,CAACW,8BAA8B,CAC/CZ,MAAM,CAACS,eAAe,EACtBV,QAAQ,CAACM,UAAU,CACnB,CAAA;AAED,EAAA,MAAMI,eAAmC,GAAG;IAC3C,GAAGE,MAAM,CAACE,OAAO;AACjBC,IAAAA,cAAc,EAAE,KAAK;AACrBC,IAAAA,WAAW,EAAE,IAAI;AACjBC,IAAAA,SAAS,EAAE,KAAK;AAChBC,IAAAA,OAAO,EAAE,QAAQ;AACjBC,IAAAA,MAAM,EAAEjB,EAAE,CAACkB,YAAY,CAACC,GAAG;AAC3BC,IAAAA,aAAa,EAAE,IAAA;GACf,CAAA;AAED,EAAA,MAAMC,IAAI,GAAGrB,EAAE,CAACsB,kBAAkB,CAACd,eAAe,CAAC,CAAA;AACnDa,EAAAA,IAAI,CAACE,mBAAmB,GAAG,MAAMzB,QAAQ,CAACM,UAAU,CAAA;AAEpD,EAAA,IAAIoB,EAAsB,CAAA;AAC1B,EAAA,IAAIC,WAA+B,CAAA;EAEnCJ,IAAI,CAACK,SAAS,GAAG,CAACC,QAAQ,EAAEC,IAAI,EAAEC,kBAAkB,KAAK;AACxD,IAAA,IAAIF,QAAQ,CAACG,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC7BN,MAAAA,EAAE,GAAGI,IAAI,CAAA;KACT,MAAM,IAAID,QAAQ,CAACG,QAAQ,CAAC,OAAO,CAAC,EAAE;AACtCL,MAAAA,WAAW,GAAGG,IAAI,CAAA;AACnB,KAAA;GACA,CAAA;AAED,EAAA,MAAMG,KAAK,GAAGC,yBAAyB,CAAClC,QAAQ,CAAC,CAAA;AAEjD,EAAA,IAAIiC,KAAK,CAACzC,MAAM,KAAK,CAAC,EAAE;AACvB,IAAA,MAAM,IAAI2C,KAAK,CACb,CAAA,gIAAA,CAAiI,CAClI,CAAA;AACF,GAAA;AAEA,EAAA,MAAMC,cAAuC,GAAG;AAC/CC,IAAAA,SAAS,EAAEJ,KAAK;AAChBnB,IAAAA,OAAO,EAAEJ,eAAe;AACxBa,IAAAA,IAAAA;GACA,CAAA;AAED,EAAA,MAAMe,OAAO,GAAGpC,EAAE,CAACqC,aAAa,CAACH,cAAc,CAAC,CAAA;AAChD,EAAA,MAAMI,UAAU,GAAGF,OAAO,CAACG,IAAI,EAAE,CAAA;AACjC,EAAA,MAAMC,cAAc,GAAGxC,EAAE,CAACyC,qBAAqB,CAACL,OAAO,CAAC,CAAA;AAExD,EAAA,IAAI,CAACE,UAAU,CAACI,WAAW,EAAE;AAC5B,IAAA,IAAIF,cAAc,CAAClD,MAAM,GAAG,CAAC,EAAE;AAC9BK,MAAAA,OAAO,CAACC,GAAG,CAAC4C,cAAc,CAACG,GAAG,CAACC,kBAAkB,CAAC,CAACzC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/D,KAAA;AAEA,IAAA,IAAIqB,EAAE,KAAKpC,SAAS,IAAIqC,WAAW,KAAKrC,SAAS,EAAE;AAClD,MAAA,MAAM,IAAI6C,KAAK,CAAE,CAAA,6CAAA,CAA8C,CAAC,CAAA;AACjE,KAAA;IAEA,OAAO;MAAET,EAAE;AAAEC,MAAAA,WAAAA;KAAa,CAAA;AAC3B,GAAA;AAEA,EAAA,MAAMoB,KAAK,GAAGL,cAAc,CAACG,GAAG,CAACC,kBAAkB,CAAC,CAACzC,IAAI,CAAC,IAAI,CAAC,CAAA;AAE/D,EAAA,MAAM,IAAI8B,KAAK,CAACY,KAAK,CAAC,CAAA;AACvB,CAAC,CAAA;AAED,MAAMD,kBAAkB,GAAIE,UAAyB,IAAK;AACzD,EAAA,IAAI,CAACA,UAAU,CAACC,IAAI,EAAE;IACrB,OAAQ,CAAA,EAAE/C,EAAE,CAACgD,4BAA4B,CACxCF,UAAU,CAACG,WAAW,EACtB,IAAI,CACH,CAAC,CAAA,CAAA;AACJ,GAAA;EAEA,MAAM;IAAEC,IAAI;AAAEC,IAAAA,SAAAA;GAAW,GAAGL,UAAU,CAACC,IAAI,CAACK,6BAA6B,CACxEN,UAAU,CAACO,KAAK,CAChB,CAAA;EAED,MAAMC,OAAO,GAAGtD,EAAE,CAACgD,4BAA4B,CAC9CF,UAAU,CAACG,WAAW,EACtB,IAAI,CACJ,CAAA;AAED,EAAA,OAAQ,GAAEH,UAAU,CAACC,IAAI,CAACpB,QAAS,CAAIuB,EAAAA,EAAAA,IAAI,GAAG,CAAE,IAC/CC,SAAS,GAAG,CACZ,CAAA,GAAA,EAAKG,OAAQ,CAAC,CAAA,CAAA;AAChB,CAAC;;AC9GM,MAAMC,YAAY,GAAG,OAC3BC,UAAkB,EAClBC,eAAuB,EACvBC,SAAiB,EACjB3E,IAAY,KACR;AACJ,EAAA,MAAM4E,GAAG,GAAG,IAAIC,OAAO,CAACC,WAAW,EAAE,CAAA;EAErC,MAAMC,QAAQ,GAAG5D,IAAI,CAACC,IAAI,CAACqD,UAAU,EAAE,OAAO,CAAC,CAAA;EAE/CG,GAAG,CAACI,SAAS,CAAC;IACbC,WAAW,EAAE,CAACP,eAAe,CAAC;AAC9BQ,IAAAA,KAAK,EAAEH,QAAQ;AACfI,IAAAA,GAAG,EAAER,SAAAA;AACN,GAAC,CAAC,CAAA;EAEFC,GAAG,CAAC/C,OAAO,CAACuD,kBAAkB,CAC7B,CAACV,eAAe,CAAC,EACjB;AACCxC,IAAAA,MAAM,EAAEjB,EAAE,CAACkB,YAAY,CAACC,GAAAA;GACxB,EACD/B,SAAS,CACT,CAAA;EAEDuE,GAAG,CAAC/C,OAAO,CAACwD,QAAQ,CAAC,MAAM,EAAErF,IAAI,CAAC,CAAA;EAElC,MAAM,CAACsF,UAAU,CAAC,GAAGC,IAAI,CAACC,IAAI,CAAC,cAAc,EAAE;AAC9CC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,GAAG,EAAEjB,UAAAA;AACN,GAAC,CAAC,CAAA;AAEF,EAAA,IAAIa,UAAU,EAAE;IACfV,GAAG,CAAC/C,OAAO,CAACwD,QAAQ,CAAC,QAAQ,EAAEC,UAAU,CAAC,CAAA;AAC3C,GAAA;AAEA,EAAA,MAAMK,OAAO,GAAGf,GAAG,CAACgB,OAAO,EAAE,CAAA;AAE7B,EAAA,IAAID,OAAO,EAAE;AACZ,IAAA,MAAMf,GAAG,CAACJ,YAAY,CAACmB,OAAO,EAAEhB,SAAS,CAAC,CAAA;AAC3C,GAAA;AACD,CAAC;;AC7CD;;AAEO,MAAMkB,QAAQ,GAAIC,QAAkC,IAAK;AAC/D,EAAA,MAAMC,KAAK,GAAGC,MAAM,CAACC,mBAAmB,CAACH,QAAQ,CAAC,CAAA;EAClD,MAAMnE,MAAgB,GAAG,EAAE,CAAA;EAE3B,IAAIzB,KAAK,GAAG,CAAC,CAAA;AAEb,EAAA,OAAO6F,KAAK,CAACxF,MAAM,GAAG,CAAC,EAAE;AACxB,IAAA,IAAIL,KAAK,IAAI6F,KAAK,CAACxF,MAAM,EAAE;AAC1B,MAAA,MAAM,IAAI2C,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAC7D,KAAA;AAEA,IAAA,MAAMgD,UAAU,GAAGH,KAAK,CAAC7F,KAAK,CAAC,CAAA;AAE/B,IAAA,MAAMiG,YAAY,GAAGL,QAAQ,CAACI,UAAU,CAAC,CAAA;AACzC,IAAA,MAAME,gBAAgB,GAAGD,YAAY,CAACE,IAAI,CAAEC,UAAU,IACrDP,KAAK,CAACQ,QAAQ,CAACD,UAAU,CAAC,CAC1B,CAAA;AAED,IAAA,IAAIF,gBAAgB,EAAE;AACrBlG,MAAAA,KAAK,EAAE,CAAA;AACP,MAAA,SAAA;AACD,KAAA;AAEA6F,IAAAA,KAAK,CAACS,MAAM,CAACtG,KAAK,EAAE,CAAC,CAAC,CAAA;AACtBA,IAAAA,KAAK,GAAG,CAAC,CAAA;AACTyB,IAAAA,MAAM,CAAC8E,IAAI,CAACP,UAAU,CAAC,CAAA;AACxB,GAAA;AAEA,EAAA,OAAOvE,MAAM,CAAA;AACd,CAAC;;AC0BY+E,MAAAA,YAAY,GAAG,MAAO7E,OAA4B,IAAK;EACnE,IAAIA,OAAO,CAAC8E,MAAM,KAAKtG,SAAS,IAAIwB,OAAO,CAAC+E,KAAK,EAAE;AAClDtF,IAAAA,EAAE,CAACuF,MAAM,CAAChF,OAAO,CAAC8E,MAAM,EAAE;AAAEG,MAAAA,SAAS,EAAE,IAAA;AAAK,KAAC,CAAC,CAAA;AAC/C,GAAA;AAEA,EAAA,MAAMC,SAAS,GAAGC,eAAe,CAACnF,OAAO,CAAC6D,GAAG,CAAC,CAAA;EAC9C,MAAMuB,OAAO,GAAGC,uBAAuB,CAACrF,OAAO,CAACsF,WAAW,EAAEJ,SAAS,CAAC,CAAA;AAEvE,EAAA,IAAIE,OAAO,CAAC1G,MAAM,KAAK,CAAC,EAAE;IACzB,OAAOK,OAAO,CAACC,GAAG,CAACuG,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAAA;AACzD,GAAA;AAEA,EAAA,MAAMC,cAAc,GAAGC,qBAAqB,CAACL,OAAO,CAAC,CAAA;EAErD,IAAI/G,KAAK,GAAG,CAAC,CAAA;AAEb,EAAA,KAAK,MAAM,GAAG;AAAEa,IAAAA,QAAAA;GAAU,CAAC,IAAIsG,cAAc,EAAE;AAC9C,IAAA,IACCxF,OAAO,CAAC0F,0BAA0B,IAClCtE,yBAAyB,CAAClC,QAAQ,CAAC,CAACR,MAAM,KAAK,CAAC,EAC/C;AACD,MAAA,SAAA;AACD,KAAA;IAEAiH,cAAc,CAACzG,QAAQ,CAAC,CAAA;AAExB,IAAA,MAAM8B,IAAI,GAAG4E,0BAA0B,CAAC1G,QAAQ,CAAC,CAAA;AAEjD,IAAA,MAAM2G,OAAO,GAAIzH,IAAY,IAC5BF,iBAAiB,CAAC8C,IAAI,CAAC8E,OAAO,EAAE1H,IAAI,EAAEC,KAAK,EAAEmH,cAAc,CAACO,IAAI,CAAC,CAAA;AAElEF,IAAAA,OAAO,CAACN,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAA;AAEvC,IAAA,MAAMS,WAAW,GAAG,MAAMC,KAAQ,CAAC/G,QAAQ,CAAC,CAAA;AAC5C,IAAA,MAAMgH,MAAM,GAAGlG,OAAO,CAACkG,MAAM,GAC1BC,mBAAmB,CAACnG,OAAO,CAACkG,MAAM,CAAC,GACnC1H,SAAS,CAAA;AAEZ,IAAA,IAAI0H,MAAM,EAAE;MACXF,WAAW,CAACpF,EAAE,GAAGsF,MAAM,GAAG,IAAI,GAAGF,WAAW,CAACpF,EAAE,CAAA;MAC/CoF,WAAW,CAACnF,WAAW,GAAGqF,MAAM,GAAG,IAAI,GAAGF,WAAW,CAACnF,WAAW,CAAA;AAClE,KAAA;IAEA,MAAMuF,eAAe,GAAGpG,OAAO,CAAC8E,MAAM,IAAI5F,QAAQ,CAACM,UAAU,CAAA;AAC7DC,IAAAA,EAAE,CAAC4G,SAAS,CAACD,eAAe,EAAE;AAAEnB,MAAAA,SAAS,EAAE,IAAA;AAAK,KAAC,CAAC,CAAA;AAElDxF,IAAAA,EAAE,CAAC6G,aAAa,CACfhH,IAAI,CAACC,IAAI,CAAC6G,eAAe,EAAG,GAAEpF,IAAI,CAAC8E,OAAQ,CAAI,GAAA,CAAA,CAAC,EAChDE,WAAW,CAACpF,EAAE,EACd;AAAE2F,MAAAA,QAAQ,EAAE,MAAA;AAAO,KAAC,CACpB,CAAA;AACD9G,IAAAA,EAAE,CAAC6G,aAAa,CACfhH,IAAI,CAACC,IAAI,CAAC6G,eAAe,EAAG,GAAEpF,IAAI,CAAC8E,OAAQ,CAAM,KAAA,CAAA,CAAC,EAClDE,WAAW,CAACnF,WAAW,EACvB;AAAE0F,MAAAA,QAAQ,EAAE,MAAA;AAAO,KAAC,CACpB,CAAA;IAED,IAAIvG,OAAO,CAACwG,QAAQ,EAAE;MACrB,MAAMC,YAAY,GAAGC,MAAM,CAACC,MAAM,CAACX,WAAW,CAACpF,EAAE,EAAE;AAClDgG,QAAAA,IAAI,EAAE,CAAA;AACP,OAAC,CAAC,CAAA;MAEF,IAAIH,YAAY,CAACxE,KAAK,IAAI,CAACwE,YAAY,CAACI,IAAI,EAAE;QAC7C9H,OAAO,CAAC+H,IAAI,CACX,sDAAsD,EACtDL,YAAY,CAACxE,KAAK,CAClB,CAAA;AACF,OAAA;AAEA,MAAA,MAAM8E,YAAY,GAAGzH,IAAI,CAACC,IAAI,CAC7B6G,eAAe,EACd,CAAEpF,EAAAA,IAAI,CAAC8E,OAAQ,SAAQ,CACxB,CAAA;MACDrG,EAAE,CAAC6G,aAAa,CAACS,YAAY,EAAEN,YAAY,CAACI,IAAI,EAAG;AAClDN,QAAAA,QAAQ,EAAE,MAAA;AACX,OAAC,CAAC,CAAA;AACH,KAAA;IAEA,IAAIrH,QAAQ,CAACI,IAAI,CAACoF,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACrCjF,MAAAA,EAAE,CAAC4G,SAAS,CAAC/G,IAAI,CAACC,IAAI,CAACS,OAAO,CAAC6D,GAAG,EAAE,KAAK,CAAC,EAAE;AAC3CoB,QAAAA,SAAS,EAAE,IAAA;AACZ,OAAC,CAAC,CAAA;AAEFY,MAAAA,OAAO,CAACN,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAA;MACzC9F,EAAE,CAAC6G,aAAa,CACfhH,IAAI,CAACC,IAAI,CAACS,OAAO,CAAC6D,GAAG,EAAE,KAAK,EAAG,CAAA,EAAE7C,IAAI,CAAC8E,OAAQ,CAAA,KAAA,CAAM,CAAC,EACrDE,WAAW,CAACnF,WAAW,EACvB;AAAE0F,QAAAA,QAAQ,EAAE,MAAA;AAAO,OAAC,CACpB,CAAA;AACF,KAAA;IAEA,IAAIvG,OAAO,CAACgH,IAAI,EAAE;AACjBnB,MAAAA,OAAO,CAACN,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAAA;AAC7C,MAAA,MAAM5C,YAAY,CACjBzD,QAAQ,CAACM,UAAU,EACnBF,IAAI,CAACC,IAAI,CACRS,OAAO,CAAC8E,MAAM,IAAI5F,QAAQ,CAACM,UAAU,EACpC,GAAEwB,IAAI,CAAC8E,OAAQ,CAAM,KAAA,CAAA,CACtB,EACDxG,IAAI,CAACC,IAAI,CAACS,OAAO,CAAC6D,GAAG,EAAE,MAAM,EAAE7C,IAAI,CAAC8E,OAAO,CAAC,EAC5C9E,IAAI,CAAC8E,OAAO,CACZ,CAAA;AACF,KAAA;;AAEA;;AAEAzH,IAAAA,KAAK,EAAE,CAAA;AACR,GAAA;AACD,EAAC;AAED,MAAMgH,uBAAuB,GAAG,CAC/B4B,IAAc,GAAG,EAAE,EACnB/B,SAA4B,KACxB;AACJ,EAAA,MAAME,OAAO,GAAG,IAAI8B,GAAG,EAA2B,CAAA;AAElD,EAAA,KAAK,MAAMC,GAAG,IAAIF,IAAI,EAAE;AACvBvD,IAAAA,IAAI,CAACC,IAAI,CAACwD,GAAG,EAAE;MAAEtD,GAAG,EAAEqB,SAAS,CAAC5F,IAAI;AAAEsE,MAAAA,QAAQ,EAAE,IAAA;AAAK,KAAC,CAAC,CAACwD,OAAO,CAC7DC,MAAM,IAAK;MACX,IAAI;AACH,QAAA,MAAMnI,QAAQ,GAAGoI,aAAa,CAACpC,SAAS,EAAEmC,MAAM,CAAC,CAAA;AACjDjC,QAAAA,OAAO,CAACmC,GAAG,CAACF,MAAM,EAAEnI,QAAQ,CAAC,CAAA;AAC9B,OAAC,CAAC,OAAOsI,GAAG,EAAE,EAAC;AAChB,KAAC,CACD,CAAA;AACF,GAAA;EAEA,OAAOC,KAAK,CAACC,IAAI,CAACtC,OAAO,CAACuC,MAAM,EAAE,CAAC,CAAA;AACpC,CAAC,CAAA;AAED,MAAMhC,cAAc,GAAIzG,QAAyB,IAAK;EACrD,MAAM0I,YAAY,GAAGtI,IAAI,CAACC,IAAI,CAACL,QAAQ,CAACM,UAAU,EAAE,eAAe,CAAC,CAAA;AAEpE,EAAA,IAAI,CAACC,EAAE,CAACoI,UAAU,CAACD,YAAY,CAAC,EAAE;IACjC,MAAME,OAAO,GAAG,EAAE,CAAA;IAClBC,mBAAmB,CAACD,OAAO,CAAC,CAAA;AAE5BrI,IAAAA,EAAE,CAAC6G,aAAa,CACfsB,YAAY,EACZI,IAAI,CAACC,SAAS,CAACH,OAAO,EAAEtJ,SAAS,EAAE,IAAI,CAAC,EACxC,MAAM,CACN,CAAA;AACF,GAAC,MAAM;AACN,IAAA,MAAMsJ,OAAO,GAAGE,IAAI,CAACE,KAAK,CAACzI,EAAE,CAACC,YAAY,CAACkI,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IACjEG,mBAAmB,CAACD,OAAO,CAAC,CAAA;AAC5BrI,IAAAA,EAAE,CAAC6G,aAAa,CACfsB,YAAY,EACZI,IAAI,CAACC,SAAS,CAACH,OAAO,EAAEtJ,SAAS,EAAE,IAAI,CAAC,EACxC,MAAM,CACN,CAAA;AACF,GAAA;AACD,CAAC,CAAA;AAED,MAAMuJ,mBAAmB,GAAI/G,IAE5B,IAAK;EACLA,IAAI,CAACpB,eAAe,GAAGoB,IAAI,CAACpB,eAAe,IAAI,EAAE,CAAA;AACjDoB,EAAAA,IAAI,CAACpB,eAAe,CAACS,MAAM,GAAG,KAAK,CAAA;EACnCW,IAAI,CAACpB,eAAe,CAACC,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM4F,qBAAqB,GAAIL,OAA0B,IAAK;AAC7D,EAAA,MAAMnB,QAAQ,GAAGwD,KAAK,CAACC,IAAI,CAACtC,OAAO,CAAC,CAAC+C,MAAM,CAC1C,CACCC,GAA+B,EAC/BlJ,QAAQ,KACwB;AAChC,IAAA,MAAM8B,IAAI,GAAGqH,sBAAsB,CAACnJ,QAAQ,CAAC,CAAA;IAE7C,IAAI8B,IAAI,KAAKxC,SAAS,EAAE;AACvB4J,MAAAA,GAAG,CAACpH,IAAI,CAAC7C,IAAI,CAAC,GAAG;QAChB6C,IAAI;AACJ9B,QAAAA,QAAAA;OACA,CAAA;AACF,KAAC,MAAM;AACNkJ,MAAAA,GAAG,CAAClJ,QAAQ,CAACI,IAAI,CAAC,GAAG;AACpB0B,QAAAA,IAAI,EAAExC,SAAS;AACfU,QAAAA,QAAAA;OACA,CAAA;AACF,KAAA;AAEA,IAAA,OAAOkJ,GAAG,CAAA;GACV,EACD,EAAE,CACF,CAAA;AAED,EAAA,MAAME,mBAAmB,GAAGnE,MAAM,CAACC,mBAAmB,CAACH,QAAQ,CAAC,CAACkE,MAAM,CACtE,CAACC,GAAG,EAAEG,WAAW,KAAK;AACrB,IAAA,MAAMC,WAAW,GAAGvE,QAAQ,CAACsE,WAAW,CAAC,CAAA;AAEzC,IAAA,IAAIC,WAAW,CAACxH,IAAI,KAAKxC,SAAS,EAAE;AACnC4J,MAAAA,GAAG,CAACG,WAAW,CAAC,GAAG,EAAE,CAAA;AACtB,KAAC,MAAM;AACNH,MAAAA,GAAG,CAACG,WAAW,CAAC,GAAGpE,MAAM,CAACC,mBAAmB,CAAC;AAC7C,QAAA,GAAGoE,WAAW,CAACxH,IAAI,CAACyH,eAAe;AACnC,QAAA,GAAGD,WAAW,CAACxH,IAAI,CAACsD,YAAY;QAChC,GAAGkE,WAAW,CAACxH,IAAI,CAAC0H,gBAAAA;AACrB,OAAC,CAAC,CAACC,MAAM,CAAEJ,WAAW,IAAKtE,QAAQ,CAACsE,WAAW,CAAC,KAAK/J,SAAS,CAAC,CAAA;AAChE,KAAA;AAEA,IAAA,OAAO4J,GAAG,CAAA;GACV,EACD,EAAE,CACF,CAAA;AAED,EAAA,MAAM5C,cAAc,GAAGxB,QAAQ,CAACsE,mBAAmB,CAAC,CAAA;AACpD,EAAA,MAAMxI,MAAM,GAAG,IAAIoH,GAAG,EAAsB,CAAA;AAE5C,EAAA,KAAK,MAAMqB,WAAW,IAAI/C,cAAc,EAAE;IACzC1F,MAAM,CAACyH,GAAG,CAACgB,WAAW,EAAEtE,QAAQ,CAACsE,WAAW,CAAC,CAAC,CAAA;AAC/C,GAAA;AAEA,EAAA,OAAOzI,MAAM,CAAA;AACd,CAAC,CAAA;AAED,MAAMqG,mBAAmB,GAAID,MAAqB,IAAK;EACtD,MAAM0C,WAAqB,GAAG,EAAE,CAAA;EAEhC,IAAI1C,MAAM,CAAC2C,IAAI,EAAE;IAChBD,WAAW,CAAChE,IAAI,CAAC,KAAK,GAAGsB,MAAM,CAAC2C,IAAI,CAAC,CAAA;AACtC,GAAA;AAEA,EAAA;IACC,MAAMC,OAAiB,GAAG,EAAE,CAAA;IAE5B,IAAI5C,MAAM,CAAC6C,OAAO,EAAE;MACnBD,OAAO,CAAClE,IAAI,CAAE,CAAA,SAAA,EAAWsB,MAAM,CAAC6C,OAAQ,EAAC,CAAC,CAAA;AAC3C,KAAA;IACA,IAAI7C,MAAM,CAAC8C,MAAM,EAAE;MAClB,IAAI9C,MAAM,CAAC+C,WAAW,EAAE;QACvBH,OAAO,CAAClE,IAAI,CAAE,CAAA,QAAA,EAAUsB,MAAM,CAAC8C,MAAO,UAAS,CAAC,CAAA;AACjD,OAAC,MAAM;QACNF,OAAO,CAAClE,IAAI,CAAE,CAAA,QAAA,EAAUsB,MAAM,CAAC8C,MAAO,EAAC,CAAC,CAAA;AACzC,OAAA;AACD,KAAA;IACA,IAAI9C,MAAM,CAACgD,IAAI,EAAE;MAChBJ,OAAO,CAAClE,IAAI,CAAE,CAAQsB,MAAAA,EAAAA,MAAM,CAACgD,IAAI,CAACC,WAAW,EAAG,CAAA,CAAC,CAAC,CAAA;AACnD,KAAA;AAEA,IAAA,MAAMC,WAAW,GAAGN,OAAO,CAAC/G,GAAG,CAAEO,IAAI,IAAM,CAAKA,GAAAA,EAAAA,IAAK,EAAC,CAAC,CAAC/C,IAAI,CAAC,IAAI,CAAC,CAAA;AAClE,IAAA,IAAI6J,WAAW,EAAE;AAChBR,MAAAA,WAAW,CAAChE,IAAI,CAACwE,WAAW,CAAC,CAAA;AAC9B,KAAA;AACD,GAAA;AAEA,EAAA,MAAMC,UAAU,GAAGT,WAAW,CAACrJ,IAAI,CAAC,MAAM,CAAC,CAAA;AAE3C,EAAA,IAAI8J,UAAU,EAAE;IACf,OAAQ,CAAA;AACV,EAAEA,UAAW,CAAA;AACb;AACA;AACA,EAAG,CAAA,CAAA;AACF,GAAA;AAEA,EAAA,OAAO7K,SAAS,CAAA;AACjB,CAAC;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"build.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 = (\n\tname: string,\n\tstep: string,\n\tindex?: number,\n\ttotal?: number,\n) => {\n\tconst numLength = total === undefined ? undefined : total.toString().length;\n\n\tconst indexString =\n\t\ttotal === undefined || total < 2\n\t\t\t? \"\"\n\t\t\t: `${index!.toString().padStart(numLength!, \"0\")}/${total} `;\n\n\tconst identifierString = `${indexString}${name.padEnd(15)}`;\n\n\tconsole.log(`${identifierString} >> ${step}`);\n};\n","import ts from \"typescript\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nimport { FolderBuilder } from \".\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\n\nexport const tryReadTsConfig = (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\treturn config as {\n\t\tcompilerOptions: ts.CompilerOptions;\n\t};\n};\n\nexport const build: FolderBuilder = async (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => {\n\tconst config = tryReadTsConfig(location);\n\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\n\n\tconst result = ts.convertCompilerOptionsFromJson(\n\t\tconfig.compilerOptions,\n\t\tlocation.scriptsDir,\n\t);\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\t...result.options,\n\t\tremoveComments: false,\n\t\tdeclaration: true,\n\t\tsourceMap: false,\n\t\t// We don't use tsc to actually emit the files, but we still need to set the correct\n\t\t// output directory so the compiler can rewrite the `reference path` directives.\n\t\toutFile: path.join(outputDir, \"out.js\"),\n\t\ttarget: ts.ScriptTarget.ES5,\n\t\tnoEmitOnError: true,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions);\n\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\tlet js: string | undefined;\n\tlet definitions: string | undefined;\n\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\tif (fileName.endsWith(\".js\")) {\n\t\t\tjs = data;\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\tdefinitions = data;\n\t\t}\n\t};\n\n\tconst files = getPackageTypescriptFiles(location);\n\n\tif (files.length === 0) {\n\t\tthrow new Error(\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.`,\n\t\t);\n\t}\n\n\tconst programOptions: ts.CreateProgramOptions = {\n\t\trootNames: files,\n\t\toptions: compilerOptions,\n\t\thost,\n\t};\n\n\tconst program = ts.createProgram(programOptions);\n\tconst emitResult = program.emit();\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\tif (!emitResult.emitSkipped) {\n\t\tif (allDiagnostics.length > 0) {\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\n\t\t}\n\n\t\tif (js === undefined || definitions === undefined) {\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\n\t\t}\n\n\t\treturn { js, definitions };\n\t}\n\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\n\n\tthrow new Error(error);\n};\n\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\n\tif (!diagnostic.file) {\n\t\treturn `${ts.flattenDiagnosticMessageText(\n\t\t\tdiagnostic.messageText,\n\t\t\t\"\\n\",\n\t\t)}`;\n\t}\n\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\n\t\tdiagnostic.start!,\n\t);\n\n\tconst message = ts.flattenDiagnosticMessageText(\n\t\tdiagnostic.messageText,\n\t\t\"\\n\",\n\t);\n\n\treturn `${diagnostic.file.fileName} (${line + 1},${\n\t\tcharacter + 1\n\t}): ${message}`;\n};\n","import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\nimport { PackageLocation } from \"../../lib/package\";\n\nexport const generateDocs = async (\n\tlocation: PackageLocation,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\tskipErrorChecking: true,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: location.manifestDir,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n","// Stolen from ig.tools.core\n\nexport const toposort = (packages: Record<string, string[]>) => {\n\tconst queue = Object.getOwnPropertyNames(packages);\n\tconst result: string[] = [];\n\n\tlet index = 0;\n\n\twhile (queue.length > 0) {\n\t\tif (index >= queue.length) {\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\n\t\t}\n\n\t\tconst queueEntry = queue[index];\n\n\t\tconst dependencies = packages[queueEntry];\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\n\t\t\tqueue.includes(dependency),\n\t\t);\n\n\t\tif (dependencyQueued) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tqueue.splice(index, 1);\n\t\tindex = 0;\n\t\tresult.push(queueEntry);\n\t}\n\n\treturn result;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport glob from \"glob\";\nimport * as terser from \"terser\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport { translate } from \"../../lib/localization\";\nimport { build as tscBuild } from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tdetectPackage,\n\tPackageLocation,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { detectWorkspace, WorkspaceLocation } from \"../../lib/workspace\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tcwd: string;\n\tdirectories: string[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n\tskipPackagesWithoutTsFiles?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tfs.rmSync(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = detectWorkspace(options.cwd);\n\tconst folders = resolvePackagesFromArgs(options.directories, workspace);\n\n\tif (folders.length === 0) {\n\t\treturn console.log(translate(\"messages.buildSkipEmpty\"));\n\t}\n\n\tconst sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tlet index = 1;\n\n\tfor (const location of sortedPackages) {\n\t\tif (\n\t\t\toptions.skipPackagesWithoutTsFiles &&\n\t\t\tgetPackageTypescriptFiles(location).length === 0\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tensureTsConfig(location);\n\n\t\tconst data = readPackageCreatorManifest(location);\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(data.Package, step, index, folders.length);\n\n\t\tlogStep(translate(\"messages.building\"));\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\n\n\t\tconst buildResult = await tscBuild(location, outputDirectory);\n\t\tconst banner = options.banner\n\t\t\t? createBannerComment(options.banner)\n\t\t\t: undefined;\n\n\t\tif (banner) {\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\n\t\t\tbuildResult.definitions = banner + \"\\n\" + buildResult.definitions;\n\t\t}\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\n\t\t\tbuildResult.js,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\tbuildResult.definitions,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\n\t\tif (options.minimize) {\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\n\t\t\t\tecma: 5,\n\t\t\t});\n\n\t\t\tconst minifiedPath = path.join(\n\t\t\t\toutputDirectory,\n\t\t\t\t`${data.Package}.min.js`,\n\t\t\t);\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t});\n\t\t}\n\n\t\tif (location.path.includes(\"Basics\")) {\n\t\t\tfs.mkdirSync(path.join(options.cwd, \"lib\"), {\n\t\t\t\trecursive: true,\n\t\t\t});\n\n\t\t\tlogStep(translate(\"messages.basicsCopy\"));\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(options.cwd, \"lib\", `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.docs) {\n\t\t\tlogStep(translate(\"messages.docsGeneration\"));\n\t\t\tawait generateDocs(\n\t\t\t\tlocation,\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\t\tpath.join(options.cwd, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\t// logStep(translate(\"messages.built\"));\n\n\t\tindex++;\n\t}\n};\n\nconst resolvePackagesFromArgs = (\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\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\nconst ensureTsConfig = (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\tif (!fs.existsSync(tsconfigPath)) {\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} else {\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst sortPackagesByBuildOrder = (\n\tfolders: PackageLocation[],\n): PackageLocation[] => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result: PackageLocation[] = [];\n\n\tfor (const packageName of sortedPackages) {\n\t\tconst location = packages[packageName].location;\n\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\n\t\t\tresult.unshift(location);\n\t\t} else {\n\t\t\tresult.push(location);\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["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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"}
|