@intelligentgraphics/ig.gfx.packager 3.0.3 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli-5332deff.js +2486 -0
- package/build/cli-5332deff.js.map +1 -0
- package/build/{lib/dependencies.mjs → dependencies-227aca50.js} +62 -4
- package/build/dependencies-227aca50.js.map +1 -0
- package/build/{commands/generate.mjs → generate-a3a16031.js} +17 -3
- package/build/generate-a3a16031.js.map +1 -0
- package/build/{commands/publish/index.mjs → index-5d595f56.js} +181 -16
- package/build/index-5d595f56.js.map +1 -0
- package/build/{commands/build/index.mjs → index-92b6ba5c.js} +151 -8
- package/build/index-92b6ba5c.js.map +1 -0
- package/build/index.mjs +1 -1
- package/build/index.mjs.map +1 -1
- package/build/{commands/postinstall.mjs → postinstall-7e50da37.js} +18 -8
- package/build/postinstall-7e50da37.js.map +1 -0
- package/build/{commands/publishNpm.mjs → publishNpm-e2c8347f.js} +21 -9
- package/build/publishNpm-e2c8347f.js.map +1 -0
- package/build/versionFile-b3a65dc8.js +370 -0
- package/build/versionFile-b3a65dc8.js.map +1 -0
- package/package.json +8 -7
- package/readme.md +16 -3
- package/build/cli.mjs +0 -313
- package/build/cli.mjs.map +0 -1
- package/build/commands/build/docs.mjs +0 -34
- package/build/commands/build/docs.mjs.map +0 -1
- package/build/commands/build/index.mjs.map +0 -1
- package/build/commands/build/tsc.mjs +0 -84
- package/build/commands/build/tsc.mjs.map +0 -1
- package/build/commands/generate.mjs.map +0 -1
- package/build/commands/postinstall.mjs.map +0 -1
- package/build/commands/publish/index.mjs.map +0 -1
- package/build/commands/publish/zip.mjs +0 -168
- package/build/commands/publish/zip.mjs.map +0 -1
- package/build/commands/publishNpm.mjs.map +0 -1
- package/build/lib/assetService.mjs +0 -111
- package/build/lib/assetService.mjs.map +0 -1
- package/build/lib/banner.mjs +0 -20
- package/build/lib/banner.mjs.map +0 -1
- package/build/lib/dependencies.mjs.map +0 -1
- package/build/lib/error.mjs +0 -15
- package/build/lib/error.mjs.map +0 -1
- package/build/lib/fs.mjs +0 -19
- package/build/lib/fs.mjs.map +0 -1
- package/build/lib/git.mjs +0 -37
- package/build/lib/git.mjs.map +0 -1
- package/build/lib/log.mjs +0 -9
- package/build/lib/log.mjs.map +0 -1
- package/build/lib/npmPackage.mjs +0 -19
- package/build/lib/npmPackage.mjs.map +0 -1
- package/build/lib/package.mjs +0 -129
- package/build/lib/package.mjs.map +0 -1
- package/build/lib/packageVersion.mjs +0 -174
- package/build/lib/packageVersion.mjs.map +0 -1
- package/build/lib/parseVersion.mjs +0 -54
- package/build/lib/parseVersion.mjs.map +0 -1
- package/build/lib/prompter.mjs +0 -31
- package/build/lib/prompter.mjs.map +0 -1
- package/build/lib/publishedPackage.mjs +0 -66
- package/build/lib/publishedPackage.mjs.map +0 -1
- package/build/lib/scripts.mjs +0 -10
- package/build/lib/scripts.mjs.map +0 -1
- package/build/lib/stripUtf8Bom.mjs +0 -11
- package/build/lib/stripUtf8Bom.mjs.map +0 -1
- package/build/lib/toposort.mjs +0 -26
- package/build/lib/toposort.mjs.map +0 -1
- package/build/lib/versionFile.mjs +0 -78
- package/build/lib/versionFile.mjs.map +0 -1
- package/build/lib/workspace.mjs +0 -51
- package/build/lib/workspace.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"npmPackage.mjs","sources":["../../src/lib/npmPackage.ts"],"sourcesContent":["import * as fs from \"fs\";\nimport * as path from \"path\";\nimport { writePackageSync } from \"write-pkg\";\n\nimport { PackageJSON } from \"./packageJSON\";\nimport { stripUtf8Bom } from \"./stripUtf8Bom\";\n\nexport const readNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n): T => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\tconst packageJson = stripUtf8Bom(\n\t\tfs.readFileSync(packageJsonPath, {\n\t\t\tencoding: \"utf8\",\n\t\t}),\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"],"names":["readNpmManifest","directory","packageJsonPath","path","join","packageJson","stripUtf8Bom","fs","readFileSync","encoding","JSON","parse","writeNpmManifest","writePackageSync"],"mappings":";;;;;AAOaA,MAAAA,eAAe,GAC3BC,SAAiB,IACV;EACP,MAAMC,eAAe,GAAGC,IAAI,CAACC,IAAI,CAACH,SAAS,EAAE,cAAc,CAAC,CAAA;EAC5D,MAAMI,WAAW,GAAGC,YAAY,CAC/BC,EAAE,CAACC,YAAY,CAACN,eAAe,EAAE;AAChCO,IAAAA,QAAQ,EAAE,MAAA;AACX,GAAC,CAAC,CACF,CAAA;AACD,EAAA,OAAOC,IAAI,CAACC,KAAK,CAACN,WAAW,CAAC,CAAA;AAC/B,EAAC;MAEYO,gBAAgB,GAAG,CAC/BX,SAAiB,EACjBI,WAAc,KACV;EACJ,MAAMH,eAAe,GAAGC,IAAI,CAACC,IAAI,CAACH,SAAS,EAAE,cAAc,CAAC,CAAA;AAC5DY,EAAAA,gBAAgB,CAACX,eAAe,EAAEG,WAAW,CAAC,CAAA;AAC/C;;;;"}
|
package/build/lib/package.mjs
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import * as path from 'path';
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
import { isErrorENOENT } from './error.mjs';
|
|
4
|
-
import { readNpmManifest, writeNpmManifest } from './npmPackage.mjs';
|
|
5
|
-
import { stripUtf8Bom } from './stripUtf8Bom.mjs';
|
|
6
|
-
|
|
7
|
-
// Functionality related to working with a single package.
|
|
8
|
-
const PACKAGE_FILE = "_Package.json";
|
|
9
|
-
const INDEX_FILE = "_Index.json";
|
|
10
|
-
const ANIMATION_FILE_SUFFIX = ".animation.json";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Describes the location of a single package.
|
|
14
|
-
*
|
|
15
|
-
* @export
|
|
16
|
-
* @interface PackageLocation
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
const parseCreatorPackageName = manifest => {
|
|
20
|
-
const [domain, ...subdomainParts] = manifest.Package.split(".");
|
|
21
|
-
return {
|
|
22
|
-
domain,
|
|
23
|
-
subdomain: subdomainParts.join(".")
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Detects the package at the given directory.
|
|
28
|
-
*
|
|
29
|
-
* @param {string} directory
|
|
30
|
-
* @returns {PackageLocation}
|
|
31
|
-
*/
|
|
32
|
-
const detectPackage = (workspace, directory) => {
|
|
33
|
-
directory = path.resolve(workspace.path, directory);
|
|
34
|
-
const scriptsPath = path.join(directory, "Scripts");
|
|
35
|
-
const tsPath = path.join(directory, "ts");
|
|
36
|
-
let location;
|
|
37
|
-
if (fs.existsSync(scriptsPath)) {
|
|
38
|
-
location = {
|
|
39
|
-
_kind: "PackageLocation",
|
|
40
|
-
path: directory,
|
|
41
|
-
scriptsDir: scriptsPath,
|
|
42
|
-
manifestDir: scriptsPath
|
|
43
|
-
};
|
|
44
|
-
} else if (fs.existsSync(tsPath)) {
|
|
45
|
-
location = {
|
|
46
|
-
_kind: "PackageLocation",
|
|
47
|
-
path: directory,
|
|
48
|
-
scriptsDir: tsPath,
|
|
49
|
-
manifestDir: directory
|
|
50
|
-
};
|
|
51
|
-
} else {
|
|
52
|
-
location = {
|
|
53
|
-
_kind: "PackageLocation",
|
|
54
|
-
path: directory,
|
|
55
|
-
scriptsDir: directory,
|
|
56
|
-
manifestDir: directory
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
try {
|
|
60
|
-
readPackageCreatorManifest(location);
|
|
61
|
-
} catch (err) {
|
|
62
|
-
if (isErrorENOENT(err)) {
|
|
63
|
-
throw new Error(`No _Package.json found in ${location.manifestDir}`);
|
|
64
|
-
}
|
|
65
|
-
throw err;
|
|
66
|
-
}
|
|
67
|
-
return location;
|
|
68
|
-
};
|
|
69
|
-
const readPackageCreatorManifest = location => {
|
|
70
|
-
const packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);
|
|
71
|
-
const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {
|
|
72
|
-
encoding: "utf8"
|
|
73
|
-
}));
|
|
74
|
-
const result = JSON.parse(packageJson);
|
|
75
|
-
return {
|
|
76
|
-
...result,
|
|
77
|
-
Scope: result.Scope || result.Package
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
const writePackageCreatorManifest = (location, creatorPackage) => {
|
|
81
|
-
const packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);
|
|
82
|
-
fs.writeFileSync(packageJsonPath, JSON.stringify(creatorPackage, null, "\t") + "\n");
|
|
83
|
-
};
|
|
84
|
-
const readPackageCreatorIndex = location => {
|
|
85
|
-
try {
|
|
86
|
-
const indexPath = path.join(location.manifestDir, INDEX_FILE);
|
|
87
|
-
const index = stripUtf8Bom(fs.readFileSync(indexPath, {
|
|
88
|
-
encoding: "utf8"
|
|
89
|
-
}));
|
|
90
|
-
return JSON.parse(index);
|
|
91
|
-
} catch (err) {
|
|
92
|
-
if (isErrorENOENT(err)) {
|
|
93
|
-
return undefined;
|
|
94
|
-
}
|
|
95
|
-
throw err;
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
const writePackageCreatorIndex = (location, index) => {
|
|
99
|
-
const packageJsonPath = path.join(location.manifestDir, INDEX_FILE);
|
|
100
|
-
fs.writeFileSync(packageJsonPath, JSON.stringify(index, null, "\t") + "\n");
|
|
101
|
-
};
|
|
102
|
-
const readPackageNpmManifest = location => {
|
|
103
|
-
try {
|
|
104
|
-
return readNpmManifest(location.manifestDir);
|
|
105
|
-
} catch (err) {
|
|
106
|
-
if (isErrorENOENT(err)) {
|
|
107
|
-
return undefined;
|
|
108
|
-
}
|
|
109
|
-
throw err;
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
const writePackageNpmManifest = (location, packageJson) => {
|
|
113
|
-
writeNpmManifest(location.manifestDir, packageJson);
|
|
114
|
-
};
|
|
115
|
-
const readPackageAnimationList = location => {
|
|
116
|
-
const directoryContent = fs.readdirSync(location.manifestDir);
|
|
117
|
-
const animationPathList = [];
|
|
118
|
-
for (const entry of directoryContent) {
|
|
119
|
-
if (entry.endsWith(ANIMATION_FILE_SUFFIX)) {
|
|
120
|
-
const animationPath = path.join(location.manifestDir, entry);
|
|
121
|
-
animationPathList.push(animationPath);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return animationPathList;
|
|
125
|
-
};
|
|
126
|
-
const getPackageReleasesDirectory = location => path.join(location.path, "Releases");
|
|
127
|
-
|
|
128
|
-
export { INDEX_FILE, PACKAGE_FILE, detectPackage, getPackageReleasesDirectory, parseCreatorPackageName, readPackageAnimationList, readPackageCreatorIndex, readPackageCreatorManifest, readPackageNpmManifest, writePackageCreatorIndex, writePackageCreatorManifest, writePackageNpmManifest };
|
|
129
|
-
//# sourceMappingURL=package.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"package.mjs","sources":["../../src/lib/package.ts"],"sourcesContent":["// 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\";\nimport { stripUtf8Bom } from \"./stripUtf8Bom\";\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 = stripUtf8Bom(\n\t\tfs.readFileSync(packageJsonPath, { encoding: \"utf8\" }),\n\t);\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 = stripUtf8Bom(\n\t\t\tfs.readFileSync(indexPath, { encoding: \"utf8\" }),\n\t\t);\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"],"names":["PACKAGE_FILE","INDEX_FILE","ANIMATION_FILE_SUFFIX","parseCreatorPackageName","manifest","domain","subdomainParts","Package","split","subdomain","join","detectPackage","workspace","directory","path","resolve","scriptsPath","tsPath","location","fs","existsSync","_kind","scriptsDir","manifestDir","readPackageCreatorManifest","err","isErrorENOENT","Error","packageJsonPath","packageJson","stripUtf8Bom","readFileSync","encoding","result","JSON","parse","Scope","writePackageCreatorManifest","creatorPackage","writeFileSync","stringify","readPackageCreatorIndex","indexPath","index","undefined","writePackageCreatorIndex","readPackageNpmManifest","readNpmManifest","writePackageNpmManifest","writeNpmManifest","readPackageAnimationList","directoryContent","readdirSync","animationPathList","entry","endsWith","animationPath","push","getPackageReleasesDirectory"],"mappings":"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"}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
// Stolen from ig.tools.core
|
|
2
|
-
|
|
3
|
-
class PackageVersion {
|
|
4
|
-
// https://regex101.com/r/90PEY9/1
|
|
5
|
-
static fullTextMatcher = /(\d+)(\.(\d+)(\.(\d+)(\.(\d+))?(-([^\.]+)\.(\d+))?)?)?/;
|
|
6
|
-
static lineMatcher = /^(\d+)(\.(\d+)(\.(\d+)(\.(\d+))?(-([^\.]+)\.(\d+))?)?)?$/;
|
|
7
|
-
static extractFromText(input, description) {
|
|
8
|
-
if (input === undefined) {
|
|
9
|
-
throw new Error(`Can not parse version from undefined`);
|
|
10
|
-
}
|
|
11
|
-
const match = input.match(PackageVersion.fullTextMatcher);
|
|
12
|
-
if (!match) {
|
|
13
|
-
throw new Error(`Could not extract a version from input: ${input}`);
|
|
14
|
-
}
|
|
15
|
-
return PackageVersion.fromMatch(match, description);
|
|
16
|
-
}
|
|
17
|
-
static extractFromLine(input, description) {
|
|
18
|
-
if (input === undefined) {
|
|
19
|
-
throw new Error(`Can not parse version from undefined`);
|
|
20
|
-
}
|
|
21
|
-
const match = input.match(PackageVersion.lineMatcher);
|
|
22
|
-
if (!match) {
|
|
23
|
-
throw new Error(`Could not parse version from input: ${input}`);
|
|
24
|
-
}
|
|
25
|
-
return PackageVersion.fromMatch(match, description);
|
|
26
|
-
}
|
|
27
|
-
static equals(a, b, checkPrerelease = false) {
|
|
28
|
-
if (a.major !== b.major || a.minor !== b.minor || a.patch !== b.patch) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
if (checkPrerelease === false) {
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
if (a.preRelease === b.preRelease) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
if (a.preRelease === undefined || b.preRelease === undefined) {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
return a.preRelease.type === b.preRelease.type && a.preRelease.version === b.preRelease.version;
|
|
41
|
-
}
|
|
42
|
-
static fromMatch([, major,, minor = "0",, patch = "0",, build,, preReleaseType, preReleaseNumber], description) {
|
|
43
|
-
let preRelease = undefined;
|
|
44
|
-
let buildNumber = 100;
|
|
45
|
-
if (preReleaseType && preReleaseNumber) {
|
|
46
|
-
preRelease = {
|
|
47
|
-
type: preReleaseType,
|
|
48
|
-
version: parseInt(preReleaseNumber)
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
if (build) {
|
|
52
|
-
buildNumber = Number(build);
|
|
53
|
-
} else if (description) {
|
|
54
|
-
const descriptionMatch = description.match(/(\d+)\)$/);
|
|
55
|
-
if (descriptionMatch) {
|
|
56
|
-
buildNumber = parseInt(descriptionMatch[1]);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return new PackageVersion(parseInt(major), parseInt(minor), parseInt(patch), preRelease, buildNumber);
|
|
60
|
-
}
|
|
61
|
-
static sort(a, b, ascending = true) {
|
|
62
|
-
const createSortResult = (a, b) => ascending ? a - b : b - a;
|
|
63
|
-
if (a.major !== b.major) {
|
|
64
|
-
return createSortResult(a.major, b.major);
|
|
65
|
-
}
|
|
66
|
-
if (a.minor !== b.minor) {
|
|
67
|
-
return createSortResult(a.minor, b.minor);
|
|
68
|
-
}
|
|
69
|
-
if (a.patch !== b.patch) {
|
|
70
|
-
return createSortResult(a.patch, b.patch);
|
|
71
|
-
}
|
|
72
|
-
return createSortResult(a.preRelease ? a.preRelease.version : 0, b.preRelease ? b.preRelease.version : 0);
|
|
73
|
-
}
|
|
74
|
-
static toNumber(version) {
|
|
75
|
-
return ((version.major * 1000 + version.minor) * 1000 + version.patch) * 1000 + version.buildNumber;
|
|
76
|
-
}
|
|
77
|
-
constructor(major, minor, patch, preRelease, buildNumber) {
|
|
78
|
-
this.major = major;
|
|
79
|
-
this.minor = minor;
|
|
80
|
-
this.patch = patch;
|
|
81
|
-
this.preRelease = preRelease;
|
|
82
|
-
this.buildNumber = buildNumber;
|
|
83
|
-
}
|
|
84
|
-
isPreRelease() {
|
|
85
|
-
return this.preRelease !== undefined;
|
|
86
|
-
}
|
|
87
|
-
clone() {
|
|
88
|
-
return new PackageVersion(this.major, this.minor, this.patch, this.preRelease ? {
|
|
89
|
-
...this.preRelease
|
|
90
|
-
} : undefined, this.buildNumber);
|
|
91
|
-
}
|
|
92
|
-
incrementMajor() {
|
|
93
|
-
this.preRelease = undefined;
|
|
94
|
-
this.patch = 0;
|
|
95
|
-
this.minor = 0;
|
|
96
|
-
this.major++;
|
|
97
|
-
}
|
|
98
|
-
incrementMinor() {
|
|
99
|
-
this.preRelease = undefined;
|
|
100
|
-
this.patch = 0;
|
|
101
|
-
this.minor++;
|
|
102
|
-
}
|
|
103
|
-
incrementPatch() {
|
|
104
|
-
this.preRelease = undefined;
|
|
105
|
-
this.patch++;
|
|
106
|
-
}
|
|
107
|
-
createPreRelease(type) {
|
|
108
|
-
if (!this.preRelease) {
|
|
109
|
-
this.buildNumber = 1;
|
|
110
|
-
} else {
|
|
111
|
-
this.buildNumber++;
|
|
112
|
-
}
|
|
113
|
-
if (this.preRelease && type === this.preRelease.type) {
|
|
114
|
-
this.preRelease.version++;
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
this.preRelease = {
|
|
118
|
-
version: 0,
|
|
119
|
-
type
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
createRelease() {
|
|
123
|
-
this.preRelease = undefined;
|
|
124
|
-
this.buildNumber = 100;
|
|
125
|
-
}
|
|
126
|
-
toVersionString({
|
|
127
|
-
buildNumber
|
|
128
|
-
} = {}) {
|
|
129
|
-
let version = [this.major, this.minor, this.patch].join(".");
|
|
130
|
-
if (buildNumber) {
|
|
131
|
-
version += "." + this.buildNumber;
|
|
132
|
-
}
|
|
133
|
-
if (this.preRelease) {
|
|
134
|
-
version += `-${this.preRelease.type}.${this.preRelease.version}`;
|
|
135
|
-
}
|
|
136
|
-
return version;
|
|
137
|
-
}
|
|
138
|
-
toDescriptionString(packageName) {
|
|
139
|
-
const base = [this.major, this.minor, this.patch].join(".");
|
|
140
|
-
const parts = [packageName, base];
|
|
141
|
-
if (this.preRelease) {
|
|
142
|
-
parts.push(upperCaseFirst(this.preRelease.type));
|
|
143
|
-
parts.push(this.preRelease.version);
|
|
144
|
-
}
|
|
145
|
-
parts.push(`(${base}.${this.buildNumber})`);
|
|
146
|
-
return parts.join(" ");
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Determines wether the version is lesser than the input version
|
|
151
|
-
*
|
|
152
|
-
* @param {PackageVersion} version
|
|
153
|
-
* @returns
|
|
154
|
-
*/
|
|
155
|
-
isLesserThan(version) {
|
|
156
|
-
return PackageVersion.toNumber(this) < PackageVersion.toNumber(version);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Determines wether the version is greater than the input version
|
|
161
|
-
*
|
|
162
|
-
* @param {PackageVersion} version
|
|
163
|
-
* @returns
|
|
164
|
-
*/
|
|
165
|
-
isGreaterThan(version) {
|
|
166
|
-
return PackageVersion.toNumber(this) > PackageVersion.toNumber(version);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
const upperCaseFirst = input => {
|
|
170
|
-
return input.slice(0, 1).toUpperCase() + input.slice(1);
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
export { PackageVersion };
|
|
174
|
-
//# sourceMappingURL=packageVersion.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"packageVersion.mjs","sources":["../../src/lib/packageVersion.ts"],"sourcesContent":["// Stolen from ig.tools.core\n\nexport interface PackageVersionToVersionStringParams {\n\tbuildNumber?: boolean;\n}\n\nexport class PackageVersion {\n\t// https://regex101.com/r/90PEY9/1\n\tpublic static fullTextMatcher =\n\t\t/(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?(-([^\\.]+)\\.(\\d+))?)?)?/;\n\tpublic static lineMatcher =\n\t\t/^(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?(-([^\\.]+)\\.(\\d+))?)?)?$/;\n\n\tpublic static extractFromText(input: string, description?: string) {\n\t\tif (input === undefined) {\n\t\t\tthrow new Error(`Can not parse version from undefined`);\n\t\t}\n\n\t\tconst match = input.match(PackageVersion.fullTextMatcher);\n\n\t\tif (!match) {\n\t\t\tthrow new Error(`Could not extract a version from input: ${input}`);\n\t\t}\n\n\t\treturn PackageVersion.fromMatch(match, description);\n\t}\n\n\tpublic static extractFromLine(input: string, description?: string) {\n\t\tif (input === undefined) {\n\t\t\tthrow new Error(`Can not parse version from undefined`);\n\t\t}\n\n\t\tconst match = input.match(PackageVersion.lineMatcher);\n\n\t\tif (!match) {\n\t\t\tthrow new Error(`Could not parse version from input: ${input}`);\n\t\t}\n\n\t\treturn PackageVersion.fromMatch(match, description);\n\t}\n\n\tpublic static equals(\n\t\ta: PackageVersion,\n\t\tb: PackageVersion,\n\t\tcheckPrerelease = false,\n\t) {\n\t\tif (a.major !== b.major || a.minor !== b.minor || a.patch !== b.patch) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (checkPrerelease === false) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (a.preRelease === b.preRelease) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (a.preRelease === undefined || b.preRelease === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (\n\t\t\ta.preRelease.type === b.preRelease.type &&\n\t\t\ta.preRelease.version === b.preRelease.version\n\t\t);\n\t}\n\n\tprivate static fromMatch(\n\t\t[\n\t\t\t,\n\t\t\tmajor,\n\t\t\t,\n\t\t\tminor = \"0\",\n\t\t\t,\n\t\t\tpatch = \"0\",\n\t\t\t,\n\t\t\tbuild,\n\t\t\t,\n\t\t\tpreReleaseType,\n\t\t\tpreReleaseNumber,\n\t\t]: RegExpMatchArray,\n\t\tdescription?: string,\n\t) {\n\t\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\n\t\tlet buildNumber = 100;\n\n\t\tif (preReleaseType && preReleaseNumber) {\n\t\t\tpreRelease = {\n\t\t\t\ttype: preReleaseType,\n\t\t\t\tversion: parseInt(preReleaseNumber),\n\t\t\t};\n\t\t}\n\n\t\tif (build) {\n\t\t\tbuildNumber = Number(build);\n\t\t} else if (description) {\n\t\t\tconst descriptionMatch = description.match(/(\\d+)\\)$/);\n\n\t\t\tif (descriptionMatch) {\n\t\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\n\t\t\t}\n\t\t}\n\n\t\treturn new PackageVersion(\n\t\t\tparseInt(major),\n\t\t\tparseInt(minor),\n\t\t\tparseInt(patch),\n\t\t\tpreRelease,\n\t\t\tbuildNumber,\n\t\t);\n\t}\n\n\tpublic static sort(\n\t\ta: PackageVersion,\n\t\tb: PackageVersion,\n\t\tascending: boolean = true,\n\t) {\n\t\tconst createSortResult = (a: number, b: number) =>\n\t\t\tascending ? a - b : b - a;\n\n\t\tif (a.major !== b.major) {\n\t\t\treturn createSortResult(a.major, b.major);\n\t\t}\n\n\t\tif (a.minor !== b.minor) {\n\t\t\treturn createSortResult(a.minor, b.minor);\n\t\t}\n\n\t\tif (a.patch !== b.patch) {\n\t\t\treturn createSortResult(a.patch, b.patch);\n\t\t}\n\n\t\treturn createSortResult(\n\t\t\ta.preRelease ? a.preRelease.version : 0,\n\t\t\tb.preRelease ? b.preRelease.version : 0,\n\t\t);\n\t}\n\n\tprivate static toNumber(version: PackageVersion) {\n\t\treturn (\n\t\t\t((version.major * 1000 + version.minor) * 1000 + version.patch) *\n\t\t\t\t1000 +\n\t\t\tversion.buildNumber\n\t\t);\n\t}\n\n\tconstructor(\n\t\tpublic major: number,\n\t\tpublic minor: number,\n\t\tpublic patch: number,\n\t\tpublic preRelease: { type: string; version: number } | undefined,\n\t\tpublic buildNumber: number,\n\t) {}\n\n\tpublic isPreRelease() {\n\t\treturn this.preRelease !== undefined;\n\t}\n\n\tpublic clone() {\n\t\treturn new PackageVersion(\n\t\t\tthis.major,\n\t\t\tthis.minor,\n\t\t\tthis.patch,\n\t\t\tthis.preRelease ? { ...this.preRelease } : undefined,\n\t\t\tthis.buildNumber,\n\t\t);\n\t}\n\n\tpublic incrementMajor() {\n\t\tthis.preRelease = undefined;\n\t\tthis.patch = 0;\n\t\tthis.minor = 0;\n\t\tthis.major++;\n\t}\n\n\tpublic incrementMinor() {\n\t\tthis.preRelease = undefined;\n\t\tthis.patch = 0;\n\t\tthis.minor++;\n\t}\n\n\tpublic incrementPatch() {\n\t\tthis.preRelease = undefined;\n\t\tthis.patch++;\n\t}\n\n\tpublic createPreRelease(type: string) {\n\t\tif (!this.preRelease) {\n\t\t\tthis.buildNumber = 1;\n\t\t} else {\n\t\t\tthis.buildNumber++;\n\t\t}\n\n\t\tif (this.preRelease && type === this.preRelease.type) {\n\t\t\tthis.preRelease.version++;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.preRelease = {\n\t\t\tversion: 0,\n\t\t\ttype,\n\t\t};\n\t}\n\n\tpublic createRelease() {\n\t\tthis.preRelease = undefined;\n\t\tthis.buildNumber = 100;\n\t}\n\n\tpublic toVersionString({\n\t\tbuildNumber,\n\t}: PackageVersionToVersionStringParams = {}) {\n\t\tlet version = [this.major, this.minor, this.patch].join(\".\");\n\n\t\tif (buildNumber) {\n\t\t\tversion += \".\" + this.buildNumber;\n\t\t}\n\n\t\tif (this.preRelease) {\n\t\t\tversion += `-${this.preRelease.type}.${this.preRelease.version}`;\n\t\t}\n\n\t\treturn version;\n\t}\n\n\tpublic toDescriptionString(packageName: string) {\n\t\tconst base = [this.major, this.minor, this.patch].join(\".\");\n\t\tconst parts: (number | string)[] = [packageName, base];\n\n\t\tif (this.preRelease) {\n\t\t\tparts.push(upperCaseFirst(this.preRelease.type));\n\t\t\tparts.push(this.preRelease.version);\n\t\t}\n\n\t\tparts.push(`(${base}.${this.buildNumber})`);\n\n\t\treturn parts.join(\" \");\n\t}\n\n\t/**\n\t * Determines wether the version is lesser than the input version\n\t *\n\t * @param {PackageVersion} version\n\t * @returns\n\t */\n\tpublic isLesserThan(version: PackageVersion) {\n\t\treturn PackageVersion.toNumber(this) < PackageVersion.toNumber(version);\n\t}\n\n\t/**\n\t * Determines wether the version is greater than the input version\n\t *\n\t * @param {PackageVersion} version\n\t * @returns\n\t */\n\tpublic isGreaterThan(version: PackageVersion) {\n\t\treturn PackageVersion.toNumber(this) > PackageVersion.toNumber(version);\n\t}\n}\n\nconst upperCaseFirst = (input: string) => {\n\treturn input.slice(0, 1).toUpperCase() + input.slice(1);\n};\n"],"names":["PackageVersion","fullTextMatcher","lineMatcher","extractFromText","input","description","undefined","Error","match","fromMatch","extractFromLine","equals","a","b","checkPrerelease","major","minor","patch","preRelease","type","version","build","preReleaseType","preReleaseNumber","buildNumber","parseInt","Number","descriptionMatch","sort","ascending","createSortResult","toNumber","constructor","isPreRelease","clone","incrementMajor","incrementMinor","incrementPatch","createPreRelease","createRelease","toVersionString","join","toDescriptionString","packageName","base","parts","push","upperCaseFirst","isLesserThan","isGreaterThan","slice","toUpperCase"],"mappings":"AAAA;;AAMO,MAAMA,cAAc,CAAC;AAC3B;EACA,OAAcC,eAAe,GAC5B,wDAAwD,CAAA;EACzD,OAAcC,WAAW,GACxB,0DAA0D,CAAA;AAE3D,EAAA,OAAcC,eAAe,CAACC,KAAa,EAAEC,WAAoB,EAAE;IAClE,IAAID,KAAK,KAAKE,SAAS,EAAE;AACxB,MAAA,MAAM,IAAIC,KAAK,CAAE,CAAA,oCAAA,CAAqC,CAAC,CAAA;AACxD,KAAA;IAEA,MAAMC,KAAK,GAAGJ,KAAK,CAACI,KAAK,CAACR,cAAc,CAACC,eAAe,CAAC,CAAA;IAEzD,IAAI,CAACO,KAAK,EAAE;AACX,MAAA,MAAM,IAAID,KAAK,CAAE,CAA0CH,wCAAAA,EAAAA,KAAM,EAAC,CAAC,CAAA;AACpE,KAAA;AAEA,IAAA,OAAOJ,cAAc,CAACS,SAAS,CAACD,KAAK,EAAEH,WAAW,CAAC,CAAA;AACpD,GAAA;AAEA,EAAA,OAAcK,eAAe,CAACN,KAAa,EAAEC,WAAoB,EAAE;IAClE,IAAID,KAAK,KAAKE,SAAS,EAAE;AACxB,MAAA,MAAM,IAAIC,KAAK,CAAE,CAAA,oCAAA,CAAqC,CAAC,CAAA;AACxD,KAAA;IAEA,MAAMC,KAAK,GAAGJ,KAAK,CAACI,KAAK,CAACR,cAAc,CAACE,WAAW,CAAC,CAAA;IAErD,IAAI,CAACM,KAAK,EAAE;AACX,MAAA,MAAM,IAAID,KAAK,CAAE,CAAsCH,oCAAAA,EAAAA,KAAM,EAAC,CAAC,CAAA;AAChE,KAAA;AAEA,IAAA,OAAOJ,cAAc,CAACS,SAAS,CAACD,KAAK,EAAEH,WAAW,CAAC,CAAA;AACpD,GAAA;EAEA,OAAcM,MAAM,CACnBC,CAAiB,EACjBC,CAAiB,EACjBC,eAAe,GAAG,KAAK,EACtB;IACD,IAAIF,CAAC,CAACG,KAAK,KAAKF,CAAC,CAACE,KAAK,IAAIH,CAAC,CAACI,KAAK,KAAKH,CAAC,CAACG,KAAK,IAAIJ,CAAC,CAACK,KAAK,KAAKJ,CAAC,CAACI,KAAK,EAAE;AACtE,MAAA,OAAO,KAAK,CAAA;AACb,KAAA;IAEA,IAAIH,eAAe,KAAK,KAAK,EAAE;AAC9B,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AAEA,IAAA,IAAIF,CAAC,CAACM,UAAU,KAAKL,CAAC,CAACK,UAAU,EAAE;AAClC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;IAEA,IAAIN,CAAC,CAACM,UAAU,KAAKZ,SAAS,IAAIO,CAAC,CAACK,UAAU,KAAKZ,SAAS,EAAE;AAC7D,MAAA,OAAO,KAAK,CAAA;AACb,KAAA;IAEA,OACCM,CAAC,CAACM,UAAU,CAACC,IAAI,KAAKN,CAAC,CAACK,UAAU,CAACC,IAAI,IACvCP,CAAC,CAACM,UAAU,CAACE,OAAO,KAAKP,CAAC,CAACK,UAAU,CAACE,OAAO,CAAA;AAE/C,GAAA;EAEA,OAAeX,SAAS,CACvB,GAECM,KAAK,GAELC,KAAK,GAAG,GAAG,GAEXC,KAAK,GAAG,GAAG,GAEXI,KAAK,GAELC,cAAc,EACdC,gBAAgB,CACE,EACnBlB,WAAoB,EACnB;IACD,IAAIa,UAAwC,GAAGZ,SAAS,CAAA;IACxD,IAAIkB,WAAW,GAAG,GAAG,CAAA;IAErB,IAAIF,cAAc,IAAIC,gBAAgB,EAAE;AACvCL,MAAAA,UAAU,GAAG;AACZC,QAAAA,IAAI,EAAEG,cAAc;QACpBF,OAAO,EAAEK,QAAQ,CAACF,gBAAgB,CAAA;OAClC,CAAA;AACF,KAAA;AAEA,IAAA,IAAIF,KAAK,EAAE;AACVG,MAAAA,WAAW,GAAGE,MAAM,CAACL,KAAK,CAAC,CAAA;KAC3B,MAAM,IAAIhB,WAAW,EAAE;AACvB,MAAA,MAAMsB,gBAAgB,GAAGtB,WAAW,CAACG,KAAK,CAAC,UAAU,CAAC,CAAA;AAEtD,MAAA,IAAImB,gBAAgB,EAAE;AACrBH,QAAAA,WAAW,GAAGC,QAAQ,CAACE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,OAAA;AACD,KAAA;IAEA,OAAO,IAAI3B,cAAc,CACxByB,QAAQ,CAACV,KAAK,CAAC,EACfU,QAAQ,CAACT,KAAK,CAAC,EACfS,QAAQ,CAACR,KAAK,CAAC,EACfC,UAAU,EACVM,WAAW,CACX,CAAA;AACF,GAAA;EAEA,OAAcI,IAAI,CACjBhB,CAAiB,EACjBC,CAAiB,EACjBgB,SAAkB,GAAG,IAAI,EACxB;AACD,IAAA,MAAMC,gBAAgB,GAAG,CAAClB,CAAS,EAAEC,CAAS,KAC7CgB,SAAS,GAAGjB,CAAC,GAAGC,CAAC,GAAGA,CAAC,GAAGD,CAAC,CAAA;AAE1B,IAAA,IAAIA,CAAC,CAACG,KAAK,KAAKF,CAAC,CAACE,KAAK,EAAE;MACxB,OAAOe,gBAAgB,CAAClB,CAAC,CAACG,KAAK,EAAEF,CAAC,CAACE,KAAK,CAAC,CAAA;AAC1C,KAAA;AAEA,IAAA,IAAIH,CAAC,CAACI,KAAK,KAAKH,CAAC,CAACG,KAAK,EAAE;MACxB,OAAOc,gBAAgB,CAAClB,CAAC,CAACI,KAAK,EAAEH,CAAC,CAACG,KAAK,CAAC,CAAA;AAC1C,KAAA;AAEA,IAAA,IAAIJ,CAAC,CAACK,KAAK,KAAKJ,CAAC,CAACI,KAAK,EAAE;MACxB,OAAOa,gBAAgB,CAAClB,CAAC,CAACK,KAAK,EAAEJ,CAAC,CAACI,KAAK,CAAC,CAAA;AAC1C,KAAA;IAEA,OAAOa,gBAAgB,CACtBlB,CAAC,CAACM,UAAU,GAAGN,CAAC,CAACM,UAAU,CAACE,OAAO,GAAG,CAAC,EACvCP,CAAC,CAACK,UAAU,GAAGL,CAAC,CAACK,UAAU,CAACE,OAAO,GAAG,CAAC,CACvC,CAAA;AACF,GAAA;EAEA,OAAeW,QAAQ,CAACX,OAAuB,EAAE;IAChD,OACC,CAAC,CAACA,OAAO,CAACL,KAAK,GAAG,IAAI,GAAGK,OAAO,CAACJ,KAAK,IAAI,IAAI,GAAGI,OAAO,CAACH,KAAK,IAC7D,IAAI,GACLG,OAAO,CAACI,WAAW,CAAA;AAErB,GAAA;EAEAQ,WAAW,CACHjB,KAAa,EACbC,KAAa,EACbC,KAAa,EACbC,UAAyD,EACzDM,WAAmB,EACzB;IAAA,IALMT,CAAAA,KAAa,GAAbA,KAAa,CAAA;IAAA,IACbC,CAAAA,KAAa,GAAbA,KAAa,CAAA;IAAA,IACbC,CAAAA,KAAa,GAAbA,KAAa,CAAA;IAAA,IACbC,CAAAA,UAAyD,GAAzDA,UAAyD,CAAA;IAAA,IACzDM,CAAAA,WAAmB,GAAnBA,WAAmB,CAAA;AACxB,GAAA;AAEIS,EAAAA,YAAY,GAAG;AACrB,IAAA,OAAO,IAAI,CAACf,UAAU,KAAKZ,SAAS,CAAA;AACrC,GAAA;AAEO4B,EAAAA,KAAK,GAAG;AACd,IAAA,OAAO,IAAIlC,cAAc,CACxB,IAAI,CAACe,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,UAAU,GAAG;AAAE,MAAA,GAAG,IAAI,CAACA,UAAAA;AAAW,KAAC,GAAGZ,SAAS,EACpD,IAAI,CAACkB,WAAW,CAChB,CAAA;AACF,GAAA;AAEOW,EAAAA,cAAc,GAAG;IACvB,IAAI,CAACjB,UAAU,GAAGZ,SAAS,CAAA;IAC3B,IAAI,CAACW,KAAK,GAAG,CAAC,CAAA;IACd,IAAI,CAACD,KAAK,GAAG,CAAC,CAAA;IACd,IAAI,CAACD,KAAK,EAAE,CAAA;AACb,GAAA;AAEOqB,EAAAA,cAAc,GAAG;IACvB,IAAI,CAAClB,UAAU,GAAGZ,SAAS,CAAA;IAC3B,IAAI,CAACW,KAAK,GAAG,CAAC,CAAA;IACd,IAAI,CAACD,KAAK,EAAE,CAAA;AACb,GAAA;AAEOqB,EAAAA,cAAc,GAAG;IACvB,IAAI,CAACnB,UAAU,GAAGZ,SAAS,CAAA;IAC3B,IAAI,CAACW,KAAK,EAAE,CAAA;AACb,GAAA;EAEOqB,gBAAgB,CAACnB,IAAY,EAAE;AACrC,IAAA,IAAI,CAAC,IAAI,CAACD,UAAU,EAAE;MACrB,IAAI,CAACM,WAAW,GAAG,CAAC,CAAA;AACrB,KAAC,MAAM;MACN,IAAI,CAACA,WAAW,EAAE,CAAA;AACnB,KAAA;IAEA,IAAI,IAAI,CAACN,UAAU,IAAIC,IAAI,KAAK,IAAI,CAACD,UAAU,CAACC,IAAI,EAAE;AACrD,MAAA,IAAI,CAACD,UAAU,CAACE,OAAO,EAAE,CAAA;AACzB,MAAA,OAAA;AACD,KAAA;IAEA,IAAI,CAACF,UAAU,GAAG;AACjBE,MAAAA,OAAO,EAAE,CAAC;AACVD,MAAAA,IAAAA;KACA,CAAA;AACF,GAAA;AAEOoB,EAAAA,aAAa,GAAG;IACtB,IAAI,CAACrB,UAAU,GAAGZ,SAAS,CAAA;IAC3B,IAAI,CAACkB,WAAW,GAAG,GAAG,CAAA;AACvB,GAAA;AAEOgB,EAAAA,eAAe,CAAC;AACtBhB,IAAAA,WAAAA;GACqC,GAAG,EAAE,EAAE;AAC5C,IAAA,IAAIJ,OAAO,GAAG,CAAC,IAAI,CAACL,KAAK,EAAE,IAAI,CAACC,KAAK,EAAE,IAAI,CAACC,KAAK,CAAC,CAACwB,IAAI,CAAC,GAAG,CAAC,CAAA;AAE5D,IAAA,IAAIjB,WAAW,EAAE;AAChBJ,MAAAA,OAAO,IAAI,GAAG,GAAG,IAAI,CAACI,WAAW,CAAA;AAClC,KAAA;IAEA,IAAI,IAAI,CAACN,UAAU,EAAE;AACpBE,MAAAA,OAAO,IAAK,CAAA,CAAA,EAAG,IAAI,CAACF,UAAU,CAACC,IAAK,CAAA,CAAA,EAAG,IAAI,CAACD,UAAU,CAACE,OAAQ,CAAC,CAAA,CAAA;AACjE,KAAA;AAEA,IAAA,OAAOA,OAAO,CAAA;AACf,GAAA;EAEOsB,mBAAmB,CAACC,WAAmB,EAAE;AAC/C,IAAA,MAAMC,IAAI,GAAG,CAAC,IAAI,CAAC7B,KAAK,EAAE,IAAI,CAACC,KAAK,EAAE,IAAI,CAACC,KAAK,CAAC,CAACwB,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3D,IAAA,MAAMI,KAA0B,GAAG,CAACF,WAAW,EAAEC,IAAI,CAAC,CAAA;IAEtD,IAAI,IAAI,CAAC1B,UAAU,EAAE;MACpB2B,KAAK,CAACC,IAAI,CAACC,cAAc,CAAC,IAAI,CAAC7B,UAAU,CAACC,IAAI,CAAC,CAAC,CAAA;MAChD0B,KAAK,CAACC,IAAI,CAAC,IAAI,CAAC5B,UAAU,CAACE,OAAO,CAAC,CAAA;AACpC,KAAA;IAEAyB,KAAK,CAACC,IAAI,CAAE,CAAGF,CAAAA,EAAAA,IAAK,IAAG,IAAI,CAACpB,WAAY,CAAA,CAAA,CAAE,CAAC,CAAA;AAE3C,IAAA,OAAOqB,KAAK,CAACJ,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,GAAA;;AAEA;AACD;AACA;AACA;AACA;AACA;EACQO,YAAY,CAAC5B,OAAuB,EAAE;AAC5C,IAAA,OAAOpB,cAAc,CAAC+B,QAAQ,CAAC,IAAI,CAAC,GAAG/B,cAAc,CAAC+B,QAAQ,CAACX,OAAO,CAAC,CAAA;AACxE,GAAA;;AAEA;AACD;AACA;AACA;AACA;AACA;EACQ6B,aAAa,CAAC7B,OAAuB,EAAE;AAC7C,IAAA,OAAOpB,cAAc,CAAC+B,QAAQ,CAAC,IAAI,CAAC,GAAG/B,cAAc,CAAC+B,QAAQ,CAACX,OAAO,CAAC,CAAA;AACxE,GAAA;AACD,CAAA;AAEA,MAAM2B,cAAc,GAAI3C,KAAa,IAAK;AACzC,EAAA,OAAOA,KAAK,CAAC8C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,WAAW,EAAE,GAAG/C,KAAK,CAAC8C,KAAK,CAAC,CAAC,CAAC,CAAA;AACxD,CAAC;;;;"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { PackageVersion } from './packageVersion.mjs';
|
|
2
|
-
|
|
3
|
-
const parseVersionFromString = input => {
|
|
4
|
-
if (input === undefined) {
|
|
5
|
-
throw new Error(`Can not parse version from undefined`);
|
|
6
|
-
}
|
|
7
|
-
let match;
|
|
8
|
-
let major;
|
|
9
|
-
let minor;
|
|
10
|
-
let patch;
|
|
11
|
-
let build;
|
|
12
|
-
let preReleaseType;
|
|
13
|
-
let preReleaseNumber;
|
|
14
|
-
if (
|
|
15
|
-
// first try to find a full match with build number
|
|
16
|
-
(match = input.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)(-([^\.]+)\.(\d+))?/)) !== null) {
|
|
17
|
-
[, major, minor, patch, build, preReleaseType, preReleaseNumber] = match;
|
|
18
|
-
} else if ((match = input.match(/(\d+)\.(\d+)\.(\d+)(-([^\.]+)\.(\d+))?/)) !== null) {
|
|
19
|
-
[, major, minor, patch,, preReleaseType, preReleaseNumber] = match;
|
|
20
|
-
}
|
|
21
|
-
if (match === null) {
|
|
22
|
-
throw new Error(`Could not parse version from input: ${input}`);
|
|
23
|
-
}
|
|
24
|
-
let preRelease = undefined;
|
|
25
|
-
let buildNumber = 100;
|
|
26
|
-
if (preReleaseType && preReleaseNumber) {
|
|
27
|
-
preRelease = {
|
|
28
|
-
type: preReleaseType,
|
|
29
|
-
version: parseInt(preReleaseNumber)
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
if (build) {
|
|
33
|
-
buildNumber = Number(build);
|
|
34
|
-
} else if (input) {
|
|
35
|
-
const descriptionMatch = input.match(/(\d+)\)$/);
|
|
36
|
-
if (descriptionMatch) {
|
|
37
|
-
buildNumber = parseInt(descriptionMatch[1]);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return new PackageVersion(parseInt(major), parseInt(minor), parseInt(patch), preRelease, buildNumber);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
// 1000001001 -> 1.0.1.1
|
|
44
|
-
// 1002017001 -> 1.2.17.1
|
|
45
|
-
const parseVersionFromNumericVersion = version => {
|
|
46
|
-
const major = Math.floor(version / 1000000000);
|
|
47
|
-
const minor = Math.floor(version % 1000000000 / 1000000);
|
|
48
|
-
const patch = Math.floor(version % 1000000 / 1000);
|
|
49
|
-
const buildNumber = version % 1000;
|
|
50
|
-
return new PackageVersion(major, minor, patch, undefined, buildNumber);
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export { parseVersionFromNumericVersion, parseVersionFromString };
|
|
54
|
-
//# sourceMappingURL=parseVersion.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseVersion.mjs","sources":["../../src/lib/parseVersion.ts"],"sourcesContent":["import { PackageVersion } from \"./packageVersion\";\n\nexport const parseVersionFromString = (input: string) => {\n\tif (input === undefined) {\n\t\tthrow new Error(`Can not parse version from undefined`);\n\t}\n\n\tlet match: RegExpMatchArray | null;\n\n\tlet major!: string;\n\tlet minor!: string;\n\tlet patch!: string;\n\tlet build: string | undefined;\n\tlet preReleaseType: string | undefined;\n\tlet preReleaseNumber: string | undefined;\n\n\tif (\n\t\t// first try to find a full match with build number\n\t\t(match = input.match(\n\t\t\t/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/,\n\t\t)) !== null\n\t) {\n\t\t[, major, minor, patch, build, preReleaseType, preReleaseNumber] =\n\t\t\tmatch;\n\t} else if (\n\t\t(match = input.match(/(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/)) !== null\n\t) {\n\t\t[, major, minor, patch, , preReleaseType, preReleaseNumber] = match;\n\t}\n\n\tif (match === null) {\n\t\tthrow new Error(`Could not parse version from input: ${input}`);\n\t}\n\n\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\n\tlet buildNumber = 100;\n\n\tif (preReleaseType && preReleaseNumber) {\n\t\tpreRelease = {\n\t\t\ttype: preReleaseType,\n\t\t\tversion: parseInt(preReleaseNumber),\n\t\t};\n\t}\n\n\tif (build) {\n\t\tbuildNumber = Number(build);\n\t} else if (input) {\n\t\tconst descriptionMatch = input.match(/(\\d+)\\)$/);\n\n\t\tif (descriptionMatch) {\n\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\n\t\t}\n\t}\n\n\treturn new PackageVersion(\n\t\tparseInt(major),\n\t\tparseInt(minor),\n\t\tparseInt(patch),\n\t\tpreRelease,\n\t\tbuildNumber,\n\t);\n};\n\n// 1000001001 -> 1.0.1.1\n// 1002017001 -> 1.2.17.1\nexport const parseVersionFromNumericVersion = (\n\tversion: number,\n): PackageVersion => {\n\tconst major = Math.floor(version / 1000000000);\n\tconst minor = Math.floor((version % 1000000000) / 1000000);\n\tconst patch = Math.floor((version % 1000000) / 1000);\n\tconst buildNumber = version % 1000;\n\n\treturn new PackageVersion(major, minor, patch, undefined, buildNumber);\n};\n"],"names":["parseVersionFromString","input","undefined","Error","match","major","minor","patch","build","preReleaseType","preReleaseNumber","preRelease","buildNumber","type","version","parseInt","Number","descriptionMatch","PackageVersion","parseVersionFromNumericVersion","Math","floor"],"mappings":";;AAEaA,MAAAA,sBAAsB,GAAIC,KAAa,IAAK;EACxD,IAAIA,KAAK,KAAKC,SAAS,EAAE;AACxB,IAAA,MAAM,IAAIC,KAAK,CAAE,CAAA,oCAAA,CAAqC,CAAC,CAAA;AACxD,GAAA;AAEA,EAAA,IAAIC,KAA8B,CAAA;AAElC,EAAA,IAAIC,KAAc,CAAA;AAClB,EAAA,IAAIC,KAAc,CAAA;AAClB,EAAA,IAAIC,KAAc,CAAA;AAClB,EAAA,IAAIC,KAAyB,CAAA;AAC7B,EAAA,IAAIC,cAAkC,CAAA;AACtC,EAAA,IAAIC,gBAAoC,CAAA;AAExC,EAAA;AACC;EACA,CAACN,KAAK,GAAGH,KAAK,CAACG,KAAK,CACnB,+CAA+C,CAC/C,MAAM,IAAI,EACV;AACD,IAAA,GAAGC,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEC,cAAc,EAAEC,gBAAgB,CAAC,GAC/DN,KAAK,CAAA;AACP,GAAC,MAAM,IACN,CAACA,KAAK,GAAGH,KAAK,CAACG,KAAK,CAAC,wCAAwC,CAAC,MAAM,IAAI,EACvE;IACD,GAAGC,KAAK,EAAEC,KAAK,EAAEC,KAAK,GAAIE,cAAc,EAAEC,gBAAgB,CAAC,GAAGN,KAAK,CAAA;AACpE,GAAA;EAEA,IAAIA,KAAK,KAAK,IAAI,EAAE;AACnB,IAAA,MAAM,IAAID,KAAK,CAAE,CAAsCF,oCAAAA,EAAAA,KAAM,EAAC,CAAC,CAAA;AAChE,GAAA;EAEA,IAAIU,UAAwC,GAAGT,SAAS,CAAA;EACxD,IAAIU,WAAW,GAAG,GAAG,CAAA;EAErB,IAAIH,cAAc,IAAIC,gBAAgB,EAAE;AACvCC,IAAAA,UAAU,GAAG;AACZE,MAAAA,IAAI,EAAEJ,cAAc;MACpBK,OAAO,EAAEC,QAAQ,CAACL,gBAAgB,CAAA;KAClC,CAAA;AACF,GAAA;AAEA,EAAA,IAAIF,KAAK,EAAE;AACVI,IAAAA,WAAW,GAAGI,MAAM,CAACR,KAAK,CAAC,CAAA;GAC3B,MAAM,IAAIP,KAAK,EAAE;AACjB,IAAA,MAAMgB,gBAAgB,GAAGhB,KAAK,CAACG,KAAK,CAAC,UAAU,CAAC,CAAA;AAEhD,IAAA,IAAIa,gBAAgB,EAAE;AACrBL,MAAAA,WAAW,GAAGG,QAAQ,CAACE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,KAAA;AACD,GAAA;EAEA,OAAO,IAAIC,cAAc,CACxBH,QAAQ,CAACV,KAAK,CAAC,EACfU,QAAQ,CAACT,KAAK,CAAC,EACfS,QAAQ,CAACR,KAAK,CAAC,EACfI,UAAU,EACVC,WAAW,CACX,CAAA;AACF,EAAC;;AAED;AACA;AACaO,MAAAA,8BAA8B,GAC1CL,OAAe,IACK;EACpB,MAAMT,KAAK,GAAGe,IAAI,CAACC,KAAK,CAACP,OAAO,GAAG,UAAU,CAAC,CAAA;EAC9C,MAAMR,KAAK,GAAGc,IAAI,CAACC,KAAK,CAAEP,OAAO,GAAG,UAAU,GAAI,OAAO,CAAC,CAAA;EAC1D,MAAMP,KAAK,GAAGa,IAAI,CAACC,KAAK,CAAEP,OAAO,GAAG,OAAO,GAAI,IAAI,CAAC,CAAA;AACpD,EAAA,MAAMF,WAAW,GAAGE,OAAO,GAAG,IAAI,CAAA;AAElC,EAAA,OAAO,IAAII,cAAc,CAACb,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEL,SAAS,EAAEU,WAAW,CAAC,CAAA;AACvE;;;;"}
|
package/build/lib/prompter.mjs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import inquirer from 'inquirer';
|
|
2
|
-
|
|
3
|
-
const createDefaultPrompter = () => {
|
|
4
|
-
return {
|
|
5
|
-
confirm: async message => {
|
|
6
|
-
const {
|
|
7
|
-
confirm
|
|
8
|
-
} = await inquirer.prompt([{
|
|
9
|
-
type: "confirm",
|
|
10
|
-
message,
|
|
11
|
-
name: "confirm"
|
|
12
|
-
}]);
|
|
13
|
-
return confirm;
|
|
14
|
-
},
|
|
15
|
-
ask: async question => {
|
|
16
|
-
const {
|
|
17
|
-
answer
|
|
18
|
-
} = await inquirer.prompt([{
|
|
19
|
-
type: "list",
|
|
20
|
-
message: question.message,
|
|
21
|
-
name: "answer",
|
|
22
|
-
choices: question.options,
|
|
23
|
-
default: question.default
|
|
24
|
-
}]);
|
|
25
|
-
return answer;
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export { createDefaultPrompter };
|
|
31
|
-
//# sourceMappingURL=prompter.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompter.mjs","sources":["../../src/lib/prompter.ts"],"sourcesContent":["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"],"names":["createDefaultPrompter","confirm","message","inquirer","prompt","type","name","ask","question","answer","choices","options","default"],"mappings":";;AAcO,MAAMA,qBAAqB,GAAG,MAAgB;EACpD,OAAO;IACNC,OAAO,EAAE,MAAOC,OAAO,IAAK;MAC3B,MAAM;AAAED,QAAAA,OAAAA;AAAQ,OAAC,GAAG,MAAME,QAAQ,CAACC,MAAM,CAAC,CACzC;AACCC,QAAAA,IAAI,EAAE,SAAS;QACfH,OAAO;AACPI,QAAAA,IAAI,EAAE,SAAA;AACP,OAAC,CACD,CAAC,CAAA;AACF,MAAA,OAAOL,OAAO,CAAA;KACd;IAEDM,GAAG,EAAE,MAAOC,QAAQ,IAAK;MACxB,MAAM;AAAEC,QAAAA,MAAAA;AAAO,OAAC,GAAG,MAAMN,QAAQ,CAACC,MAAM,CAAC,CACxC;AACCC,QAAAA,IAAI,EAAE,MAAM;QACZH,OAAO,EAAEM,QAAQ,CAACN,OAAO;AACzBI,QAAAA,IAAI,EAAE,QAAQ;QACdI,OAAO,EAAEF,QAAQ,CAACG,OAAO;QACzBC,OAAO,EAAEJ,QAAQ,CAACI,OAAAA;AACnB,OAAC,CACD,CAAC,CAAA;AACF,MAAA,OAAOH,MAAM,CAAA;AACd,KAAA;GACA,CAAA;AACF;;;;"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import * as path from 'path';
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
import resolve from 'resolve';
|
|
4
|
-
import { readNpmManifest } from './npmPackage.mjs';
|
|
5
|
-
import { PACKAGE_FILE, INDEX_FILE } from './package.mjs';
|
|
6
|
-
import { isErrorENOENT } from './error.mjs';
|
|
7
|
-
import { stripUtf8Bom } from './stripUtf8Bom.mjs';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Describes the location of a single published package.
|
|
11
|
-
*
|
|
12
|
-
* I.e. node_modules/@intelligentgraphics/3d.ig.gfx.core
|
|
13
|
-
*
|
|
14
|
-
* @export
|
|
15
|
-
* @interface PublishedPackageLocation
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
const detectPublishedPackageFromPath = (resolveBasePath, name) => {
|
|
19
|
-
const manifestPath = resolve.sync(name + "/package.json", {
|
|
20
|
-
basedir: resolveBasePath
|
|
21
|
-
});
|
|
22
|
-
const dir = path.dirname(manifestPath);
|
|
23
|
-
return {
|
|
24
|
-
_kind: "PublishedPackageLocation",
|
|
25
|
-
path: dir
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
const readPublishedPackageNpmManifest = location => {
|
|
29
|
-
return readNpmManifest(location.path);
|
|
30
|
-
};
|
|
31
|
-
const readPublishedPackageCreatorManifest = location => {
|
|
32
|
-
try {
|
|
33
|
-
const packageJsonPath = path.join(location.path, PACKAGE_FILE);
|
|
34
|
-
const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {
|
|
35
|
-
encoding: "utf8"
|
|
36
|
-
}));
|
|
37
|
-
const result = JSON.parse(packageJson);
|
|
38
|
-
return {
|
|
39
|
-
...result,
|
|
40
|
-
Scope: result.Scope || result.Package
|
|
41
|
-
};
|
|
42
|
-
} catch (err) {
|
|
43
|
-
if (isErrorENOENT(err)) {
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
throw err;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
const readPublishedPackageCreatorIndex = location => {
|
|
50
|
-
try {
|
|
51
|
-
const packageJsonPath = path.join(location.path, INDEX_FILE);
|
|
52
|
-
const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {
|
|
53
|
-
encoding: "utf8"
|
|
54
|
-
}));
|
|
55
|
-
const result = JSON.parse(packageJson);
|
|
56
|
-
return result;
|
|
57
|
-
} catch (err) {
|
|
58
|
-
if (isErrorENOENT(err)) {
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
61
|
-
throw err;
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
export { detectPublishedPackageFromPath, readPublishedPackageCreatorIndex, readPublishedPackageCreatorManifest, readPublishedPackageNpmManifest };
|
|
66
|
-
//# sourceMappingURL=publishedPackage.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publishedPackage.mjs","sources":["../../src/lib/publishedPackage.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport resolve from \"resolve\";\n\nimport { readNpmManifest } from \"./npmPackage\";\nimport {\n\tCreatorPackage,\n\tINDEX_FILE,\n\tPackageNpmManifest,\n\tPACKAGE_FILE,\n} from \"./package\";\nimport { isErrorENOENT } from \"./error\";\nimport { stripUtf8Bom } from \"./stripUtf8Bom\";\n\n/**\n * Describes the location of a single published package.\n *\n * I.e. node_modules/@intelligentgraphics/3d.ig.gfx.core\n *\n * @export\n * @interface PublishedPackageLocation\n */\nexport interface PublishedPackageLocation {\n\t_kind: \"PublishedPackageLocation\";\n\tpath: string;\n}\n\nexport const detectPublishedPackageFromPath = (\n\tresolveBasePath: string,\n\tname: string,\n): PublishedPackageLocation => {\n\tconst manifestPath = resolve.sync(name + \"/package.json\", {\n\t\tbasedir: resolveBasePath,\n\t});\n\tconst dir = path.dirname(manifestPath);\n\treturn {\n\t\t_kind: \"PublishedPackageLocation\",\n\t\tpath: dir,\n\t};\n};\n\nexport const readPublishedPackageNpmManifest = (\n\tlocation: PublishedPackageLocation,\n): PackageNpmManifest => {\n\treturn readNpmManifest<PackageNpmManifest>(location.path);\n};\n\nexport const readPublishedPackageCreatorManifest = (\n\tlocation: PublishedPackageLocation,\n): CreatorPackage | undefined => {\n\ttry {\n\t\tconst packageJsonPath = path.join(location.path, PACKAGE_FILE);\n\t\tconst packageJson = stripUtf8Bom(\n\t\t\tfs.readFileSync(packageJsonPath, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t}),\n\t\t);\n\t\tconst result: Omit<CreatorPackage, \"Scope\"> & { Scope?: string } =\n\t\t\tJSON.parse(packageJson);\n\t\treturn {\n\t\t\t...result,\n\t\t\tScope: result.Scope || result.Package,\n\t\t};\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tthrow err;\n\t}\n};\n\nexport const readPublishedPackageCreatorIndex = (\n\tlocation: PublishedPackageLocation,\n) => {\n\ttry {\n\t\tconst packageJsonPath = path.join(location.path, INDEX_FILE);\n\t\tconst packageJson = stripUtf8Bom(\n\t\t\tfs.readFileSync(packageJsonPath, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t}),\n\t\t);\n\t\tconst result: object = JSON.parse(packageJson);\n\t\treturn result;\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tthrow err;\n\t}\n};\n"],"names":["detectPublishedPackageFromPath","resolveBasePath","name","manifestPath","resolve","sync","basedir","dir","path","dirname","_kind","readPublishedPackageNpmManifest","location","readNpmManifest","readPublishedPackageCreatorManifest","packageJsonPath","join","PACKAGE_FILE","packageJson","stripUtf8Bom","fs","readFileSync","encoding","result","JSON","parse","Scope","Package","err","isErrorENOENT","undefined","readPublishedPackageCreatorIndex","INDEX_FILE"],"mappings":";;;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MAMaA,8BAA8B,GAAG,CAC7CC,eAAuB,EACvBC,IAAY,KACkB;EAC9B,MAAMC,YAAY,GAAGC,OAAO,CAACC,IAAI,CAACH,IAAI,GAAG,eAAe,EAAE;AACzDI,IAAAA,OAAO,EAAEL,eAAAA;AACV,GAAC,CAAC,CAAA;AACF,EAAA,MAAMM,GAAG,GAAGC,IAAI,CAACC,OAAO,CAACN,YAAY,CAAC,CAAA;EACtC,OAAO;AACNO,IAAAA,KAAK,EAAE,0BAA0B;AACjCF,IAAAA,IAAI,EAAED,GAAAA;GACN,CAAA;AACF,EAAC;AAEYI,MAAAA,+BAA+B,GAC3CC,QAAkC,IACV;AACxB,EAAA,OAAOC,eAAe,CAAqBD,QAAQ,CAACJ,IAAI,CAAC,CAAA;AAC1D,EAAC;AAEYM,MAAAA,mCAAmC,GAC/CF,QAAkC,IACF;EAChC,IAAI;IACH,MAAMG,eAAe,GAAGP,IAAI,CAACQ,IAAI,CAACJ,QAAQ,CAACJ,IAAI,EAAES,YAAY,CAAC,CAAA;IAC9D,MAAMC,WAAW,GAAGC,YAAY,CAC/BC,EAAE,CAACC,YAAY,CAACN,eAAe,EAAE;AAChCO,MAAAA,QAAQ,EAAE,MAAA;AACX,KAAC,CAAC,CACF,CAAA;AACD,IAAA,MAAMC,MAA0D,GAC/DC,IAAI,CAACC,KAAK,CAACP,WAAW,CAAC,CAAA;IACxB,OAAO;AACN,MAAA,GAAGK,MAAM;AACTG,MAAAA,KAAK,EAAEH,MAAM,CAACG,KAAK,IAAIH,MAAM,CAACI,OAAAA;KAC9B,CAAA;GACD,CAAC,OAAOC,GAAG,EAAE;AACb,IAAA,IAAIC,aAAa,CAACD,GAAG,CAAC,EAAE;AACvB,MAAA,OAAOE,SAAS,CAAA;AACjB,KAAA;AAEA,IAAA,MAAMF,GAAG,CAAA;AACV,GAAA;AACD,EAAC;AAEYG,MAAAA,gCAAgC,GAC5CnB,QAAkC,IAC9B;EACJ,IAAI;IACH,MAAMG,eAAe,GAAGP,IAAI,CAACQ,IAAI,CAACJ,QAAQ,CAACJ,IAAI,EAAEwB,UAAU,CAAC,CAAA;IAC5D,MAAMd,WAAW,GAAGC,YAAY,CAC/BC,EAAE,CAACC,YAAY,CAACN,eAAe,EAAE;AAChCO,MAAAA,QAAQ,EAAE,MAAA;AACX,KAAC,CAAC,CACF,CAAA;AACD,IAAA,MAAMC,MAAc,GAAGC,IAAI,CAACC,KAAK,CAACP,WAAW,CAAC,CAAA;AAC9C,IAAA,OAAOK,MAAM,CAAA;GACb,CAAC,OAAOK,GAAG,EAAE;AACb,IAAA,IAAIC,aAAa,CAACD,GAAG,CAAC,EAAE;AACvB,MAAA,OAAOE,SAAS,CAAA;AACjB,KAAA;AAEA,IAAA,MAAMF,GAAG,CAAA;AACV,GAAA;AACD;;;;"}
|
package/build/lib/scripts.mjs
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import glob from 'glob';
|
|
2
|
-
|
|
3
|
-
const getPackageTypescriptFiles = location => glob.sync("**/*.ts", {
|
|
4
|
-
absolute: true,
|
|
5
|
-
cwd: location.scriptsDir,
|
|
6
|
-
ignore: "node_modules/**/*"
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
export { getPackageTypescriptFiles };
|
|
10
|
-
//# sourceMappingURL=scripts.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.mjs","sources":["../../src/lib/scripts.ts"],"sourcesContent":["import glob from \"glob\";\n\nimport { PackageLocation } from \"./package\";\n\nexport const getPackageTypescriptFiles = (location: PackageLocation) =>\n\tglob.sync(\"**/*.ts\", {\n\t\tabsolute: true,\n\t\tcwd: location.scriptsDir,\n\t\tignore: \"node_modules/**/*\",\n\t});\n"],"names":["getPackageTypescriptFiles","location","glob","sync","absolute","cwd","scriptsDir","ignore"],"mappings":";;AAIO,MAAMA,yBAAyB,GAAIC,QAAyB,IAClEC,IAAI,CAACC,IAAI,CAAC,SAAS,EAAE;AACpBC,EAAAA,QAAQ,EAAE,IAAI;EACdC,GAAG,EAAEJ,QAAQ,CAACK,UAAU;AACxBC,EAAAA,MAAM,EAAE,mBAAA;AACT,CAAC;;;;"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const stripUtf8Bom = text => {
|
|
2
|
-
// Catches EFBBBF (UTF-8 BOM) because the buffer-to-string
|
|
3
|
-
// conversion translates it to FEFF (UTF-16 BOM).
|
|
4
|
-
if (text.charCodeAt(0) === 0xfeff) {
|
|
5
|
-
return text.slice(1);
|
|
6
|
-
}
|
|
7
|
-
return text;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export { stripUtf8Bom };
|
|
11
|
-
//# sourceMappingURL=stripUtf8Bom.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stripUtf8Bom.mjs","sources":["../../src/lib/stripUtf8Bom.ts"],"sourcesContent":["export const stripUtf8Bom = (text: string) => {\n\t// Catches EFBBBF (UTF-8 BOM) because the buffer-to-string\n\t// conversion translates it to FEFF (UTF-16 BOM).\n\tif (text.charCodeAt(0) === 0xfeff) {\n\t\treturn text.slice(1);\n\t}\n\n\treturn text;\n};\n"],"names":["stripUtf8Bom","text","charCodeAt","slice"],"mappings":"AAAaA,MAAAA,YAAY,GAAIC,IAAY,IAAK;AAC7C;AACA;EACA,IAAIA,IAAI,CAACC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AAClC,IAAA,OAAOD,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC,CAAA;AACrB,GAAA;AAEA,EAAA,OAAOF,IAAI,CAAA;AACZ;;;;"}
|
package/build/lib/toposort.mjs
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// Stolen from ig.tools.core
|
|
2
|
-
|
|
3
|
-
const toposort = packages => {
|
|
4
|
-
const queue = Object.getOwnPropertyNames(packages);
|
|
5
|
-
const result = [];
|
|
6
|
-
let index = 0;
|
|
7
|
-
while (queue.length > 0) {
|
|
8
|
-
if (index >= queue.length) {
|
|
9
|
-
throw new Error("Packages can not have cyclic dependencies");
|
|
10
|
-
}
|
|
11
|
-
const queueEntry = queue[index];
|
|
12
|
-
const dependencies = packages[queueEntry];
|
|
13
|
-
const dependencyQueued = dependencies.some(dependency => queue.includes(dependency));
|
|
14
|
-
if (dependencyQueued) {
|
|
15
|
-
index++;
|
|
16
|
-
continue;
|
|
17
|
-
}
|
|
18
|
-
queue.splice(index, 1);
|
|
19
|
-
index = 0;
|
|
20
|
-
result.push(queueEntry);
|
|
21
|
-
}
|
|
22
|
-
return result;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export { toposort };
|
|
26
|
-
//# sourceMappingURL=toposort.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toposort.mjs","sources":["../../src/lib/toposort.ts"],"sourcesContent":["// 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"],"names":["toposort","packages","queue","Object","getOwnPropertyNames","result","index","length","Error","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","push"],"mappings":"AAAA;;AAEaA,MAAAA,QAAQ,GAAIC,QAAkC,IAAK;AAC/D,EAAA,MAAMC,KAAK,GAAGC,MAAM,CAACC,mBAAmB,CAACH,QAAQ,CAAC,CAAA;EAClD,MAAMI,MAAgB,GAAG,EAAE,CAAA;EAE3B,IAAIC,KAAK,GAAG,CAAC,CAAA;AAEb,EAAA,OAAOJ,KAAK,CAACK,MAAM,GAAG,CAAC,EAAE;AACxB,IAAA,IAAID,KAAK,IAAIJ,KAAK,CAACK,MAAM,EAAE;AAC1B,MAAA,MAAM,IAAIC,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAC7D,KAAA;AAEA,IAAA,MAAMC,UAAU,GAAGP,KAAK,CAACI,KAAK,CAAC,CAAA;AAE/B,IAAA,MAAMI,YAAY,GAAGT,QAAQ,CAACQ,UAAU,CAAC,CAAA;AACzC,IAAA,MAAME,gBAAgB,GAAGD,YAAY,CAACE,IAAI,CAAEC,UAAU,IACrDX,KAAK,CAACY,QAAQ,CAACD,UAAU,CAAC,CAC1B,CAAA;AAED,IAAA,IAAIF,gBAAgB,EAAE;AACrBL,MAAAA,KAAK,EAAE,CAAA;AACP,MAAA,SAAA;AACD,KAAA;AAEAJ,IAAAA,KAAK,CAACa,MAAM,CAACT,KAAK,EAAE,CAAC,CAAC,CAAA;AACtBA,IAAAA,KAAK,GAAG,CAAC,CAAA;AACTD,IAAAA,MAAM,CAACW,IAAI,CAACP,UAAU,CAAC,CAAA;AACxB,GAAA;AAEA,EAAA,OAAOJ,MAAM,CAAA;AACd;;;;"}
|