@metaverse-systems/the-seed 1.0.4 → 1.2.0
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/.eslintrc.json +1 -0
- package/.vscode/settings.json +14 -0
- package/README.md +530 -0
- package/dist/Build.d.ts +10 -0
- package/dist/Build.js +59 -16
- package/dist/Build.js.map +1 -1
- package/dist/Config.d.ts +1 -1
- package/dist/Config.js +2 -4
- package/dist/Config.js.map +1 -1
- package/dist/Dependencies.d.ts +7 -0
- package/dist/Dependencies.js +76 -0
- package/dist/Dependencies.js.map +1 -0
- package/dist/Package.d.ts +45 -0
- package/dist/Package.js +249 -0
- package/dist/Package.js.map +1 -0
- package/dist/ResourcePak.js +14 -14
- package/dist/ResourcePak.js.map +1 -1
- package/dist/Scopes.d.ts +9 -6
- package/dist/Scopes.js.map +1 -1
- package/dist/Template.d.ts +2 -1
- package/dist/Template.js +18 -16
- package/dist/Template.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/scripts/DependenciesCLI.d.ts +3 -0
- package/dist/scripts/DependenciesCLI.js +58 -0
- package/dist/scripts/DependenciesCLI.js.map +1 -0
- package/dist/scripts/PackageCLI.d.ts +3 -0
- package/dist/scripts/PackageCLI.js +38 -0
- package/dist/scripts/PackageCLI.js.map +1 -0
- package/dist/scripts/the-seed.js +13 -0
- package/dist/scripts/the-seed.js.map +1 -1
- package/dist/types.d.ts +27 -3
- package/native/binding.gyp +20 -0
- package/native/src/addon.cpp +60 -0
- package/package.json +4 -1
- package/src/Build.ts +71 -17
- package/src/Config.ts +3 -5
- package/src/Dependencies.ts +73 -0
- package/src/Package.ts +287 -0
- package/src/ResourcePak.ts +5 -5
- package/src/Scopes.ts +4 -4
- package/src/Template.ts +10 -9
- package/src/index.ts +13 -2
- package/src/scripts/DependenciesCLI.ts +57 -0
- package/src/scripts/PackageCLI.ts +42 -0
- package/src/scripts/the-seed.ts +13 -0
- package/src/types.ts +29 -3
- package/test/Build.test.ts +223 -0
- package/test/Config.test.ts +1 -1
- package/test/Dependencies.test.ts +153 -0
- package/test/Package.test.ts +631 -0
- package/test/Template.test.ts +187 -0
package/dist/Build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Build.js","sourceRoot":"","sources":["../src/Build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Build.js","sourceRoot":"","sources":["../src/Build.ts"],"names":[],"mappings":";;;AACA,iDAAyC;AAG5B,QAAA,OAAO,GAEhB;IACF,MAAM,EAAE,kBAAkB;IAC1B,OAAO,EAAE,oBAAoB;CAC9B,CAAC;AAEF,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,MAAe,EAAE,CAAC;AAE/C,MAAM,KAAK;IAIT,YAAY,MAAc;QAF1B,WAAM,GAAG,OAAO,CAAC;QAMjB,YAAO,GAAG,GAAG,EAAE;YACb,MAAM,eAAe,GAAG,cAAc,CAAC;YACvC,IAAI;gBACF,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;aAClE;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,CAAC;aACT;YAED,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,cAAS,GAAG,GAAG,EAAE;YACf,MAAM,SAAS,GAAG,eAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;YAC3C,IAAI;gBACF,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;aACpE;YAAC,OAAO,CAAC,EAAE,GAAE;YAEd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;YAE3D,MAAM,iBAAiB,GACrB,kBAAkB;gBAClB,MAAM;gBACN,kBAAkB;gBAClB,uBAAuB;gBACvB,MAAM;gBACN,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,eAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAErE,IAAI;gBACF,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;aACpE;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,CAAC;aACT;YAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,MAAc,EAAE,EAAE;YAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC;QAEF,YAAO,GAAG,GAAG,EAAE;YACb,MAAM,YAAY,GAAG,SAAS,CAAC;YAE/B,IAAI;gBACF,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACrB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,CAAC;aACT;QACH,CAAC,CAAC;QAEF,YAAO,GAAG,GAAG,EAAE;YACb,MAAM,eAAe,GAAG,cAAc,CAAC;YAEvC,IAAI;gBACF,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACrB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,CAAC;aACT;QACH,CAAC,CAAC;QAEF;;;;WAIG;QACH,aAAQ,GAAG,CAAC,MAAc,EAAE,eAAwB,EAAe,EAAE;YACnE,MAAM,SAAS,GAAG,eAAO,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;YAE3D,MAAM,KAAK,GAAgB,EAAE,CAAC;YAE9B,IAAI,eAAe,EAAE;gBACnB,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBAEH,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,gBAAgB;oBACzB,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,gBAAgB,GACpB,kBAAkB;oBAClB,MAAM;oBACN,kBAAkB;oBAClB,uBAAuB;oBACvB,MAAM;oBACN,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,eAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAEhE,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,gBAAgB;iBAC1B,CAAC,CAAC;aACJ;YAED,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,cAAc;aACxB,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAxHA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CAwHF;AAED,kBAAe,KAAK,CAAC"}
|
package/dist/Config.d.ts
CHANGED
package/dist/Config.js
CHANGED
|
@@ -24,14 +24,12 @@ class Config {
|
|
|
24
24
|
{
|
|
25
25
|
name: "prefix",
|
|
26
26
|
message: "Installation prefix?",
|
|
27
|
-
default: this.config
|
|
27
|
+
default: this.config.prefix
|
|
28
28
|
}
|
|
29
29
|
];
|
|
30
30
|
};
|
|
31
31
|
this.parseAnswers = (answers) => {
|
|
32
|
-
|
|
33
|
-
this.config[k] = answers[k];
|
|
34
|
-
});
|
|
32
|
+
this.config.prefix = answers.prefix;
|
|
35
33
|
};
|
|
36
34
|
this.configDir = configDir || os_1.default.homedir() + "/the-seed";
|
|
37
35
|
this.configFile = "/config.json";
|
package/dist/Config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":";;;AAAA,oDAAoB;AACpB,oDAAoB;AAGpB,MAAM,MAAM;IAQV,YAAY,SAAkB;QAL9B,WAAM,GAAe;YACnB,MAAM,EAAE,YAAE,CAAC,OAAO,EAAE,GAAG,WAAW;YAClC,MAAM,EAAE,EAAE;SACX,CAAC;QAQF,eAAU,GAAG,GAAG,EAAE;YAChB,oCAAoC;YACpC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE;gBACpD,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC;QAEF,eAAU,GAAG,GAAG,EAAE;YAChB,YAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC;QAEF,iBAAY,GAAG,GAAG,EAAE;YAClB,OAAO;gBACL;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,sBAAsB;oBAC/B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":";;;AAAA,oDAAoB;AACpB,oDAAoB;AAGpB,MAAM,MAAM;IAQV,YAAY,SAAkB;QAL9B,WAAM,GAAe;YACnB,MAAM,EAAE,YAAE,CAAC,OAAO,EAAE,GAAG,WAAW;YAClC,MAAM,EAAE,EAAE;SACX,CAAC;QAQF,eAAU,GAAG,GAAG,EAAE;YAChB,oCAAoC;YACpC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE;gBACpD,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC;QAEF,eAAU,GAAG,GAAG,EAAE;YAChB,YAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC;QAEF,iBAAY,GAAG,GAAG,EAAE;YAClB,OAAO;gBACL;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,sBAAsB;oBAC/B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;iBAC5B;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,iBAAY,GAAG,CAAC,OAA2B,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACtC,CAAC,CAAC;QA7BA,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,YAAE,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;QACjC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CA2BF;AAED,kBAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import Config from "./Config";
|
|
2
|
+
export declare const checkLib: (config: Config, library: string, target: string) => boolean;
|
|
3
|
+
export declare const checkLibEcs: (config: Config, target: string) => boolean;
|
|
4
|
+
export declare const checkLibTheSeed: (config: Config, target: string) => boolean;
|
|
5
|
+
export declare const installLibEcs: (config: Config, target: string) => boolean;
|
|
6
|
+
export declare const installLibTheSeed: (config: Config, target: string) => boolean;
|
|
7
|
+
export declare const installLib: (config: Config, repo: string, installDir: string, target: string) => boolean;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.installLib = exports.installLibTheSeed = exports.installLibEcs = exports.checkLibTheSeed = exports.checkLibEcs = exports.checkLib = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const Build_1 = require("./Build");
|
|
6
|
+
const execOptions = { stdio: "pipe", shell: "/bin/bash", env: Object.assign({}, process.env) };
|
|
7
|
+
const libEcsRepo = "https://github.com/metaverse-systems/libecs-cpp.git";
|
|
8
|
+
const libTheSeedRepo = "https://github.com/metaverse-systems/libthe-seed.git";
|
|
9
|
+
const checkLib = (config, library, target) => {
|
|
10
|
+
const targetPrefix = Build_1.targets[target];
|
|
11
|
+
const prefix = config.config.prefix + "/" + targetPrefix;
|
|
12
|
+
const pkgConfigCommand = "PKG_CONFIG_PATH=" +
|
|
13
|
+
prefix +
|
|
14
|
+
"/lib/pkgconfig/ " +
|
|
15
|
+
"pkg-config --cflags --libs " +
|
|
16
|
+
library;
|
|
17
|
+
try {
|
|
18
|
+
const result = (0, child_process_1.execSync)(pkgConfigCommand, execOptions).toString();
|
|
19
|
+
if (result.includes(library)) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
console.error("pkg-config did not find " + library);
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
};
|
|
29
|
+
exports.checkLib = checkLib;
|
|
30
|
+
const checkLibEcs = (config, target) => {
|
|
31
|
+
return (0, exports.checkLib)(config, "ecs-cpp", target);
|
|
32
|
+
};
|
|
33
|
+
exports.checkLibEcs = checkLibEcs;
|
|
34
|
+
const checkLibTheSeed = (config, target) => {
|
|
35
|
+
return (0, exports.checkLib)(config, "the-seed", target);
|
|
36
|
+
};
|
|
37
|
+
exports.checkLibTheSeed = checkLibTheSeed;
|
|
38
|
+
const installLibEcs = (config, target) => {
|
|
39
|
+
if ((0, exports.installLib)(config, libEcsRepo, "libecs-cpp", target)) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
console.error("Failed to build libecs-cpp");
|
|
43
|
+
return false;
|
|
44
|
+
};
|
|
45
|
+
exports.installLibEcs = installLibEcs;
|
|
46
|
+
const installLibTheSeed = (config, target) => {
|
|
47
|
+
if ((0, exports.installLib)(config, libTheSeedRepo, "libthe-seed", target)) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
console.error("Failed to build libthe-seed");
|
|
51
|
+
return false;
|
|
52
|
+
};
|
|
53
|
+
exports.installLibTheSeed = installLibTheSeed;
|
|
54
|
+
const installLib = (config, repo, installDir, target) => {
|
|
55
|
+
const targetDir = Build_1.targets[target];
|
|
56
|
+
const prefix = config.config.prefix + "/" + targetDir;
|
|
57
|
+
const cloneCommand = "git clone " + repo;
|
|
58
|
+
try {
|
|
59
|
+
const result = (0, child_process_1.execSync)(cloneCommand, execOptions).toString();
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
console.error("Failed to clone " + repo);
|
|
63
|
+
}
|
|
64
|
+
const buildCommand = "cd " + installDir + " && ./autogen.sh && ./configure --prefix=" +
|
|
65
|
+
prefix + (target != "native" ? " --host=" + targetDir : "") +
|
|
66
|
+
" && make && make install";
|
|
67
|
+
try {
|
|
68
|
+
const result = (0, child_process_1.execSync)(buildCommand, execOptions).toString();
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
};
|
|
75
|
+
exports.installLib = installLib;
|
|
76
|
+
//# sourceMappingURL=Dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dependencies.js","sourceRoot":"","sources":["../src/Dependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import Config from "./Config";
|
|
2
|
+
import { DependencyResultType } from "./types";
|
|
3
|
+
declare class Package {
|
|
4
|
+
config: Config;
|
|
5
|
+
constructor(config: Config);
|
|
6
|
+
/**
|
|
7
|
+
* Build the list of search paths from Config prefix and all known build targets.
|
|
8
|
+
* Includes both lib/ and bin/ directories since Windows DLLs are installed to bin/.
|
|
9
|
+
* Also includes the MinGW cross-compiler runtime directory for Windows targets.
|
|
10
|
+
*/
|
|
11
|
+
getSearchPaths: () => string[];
|
|
12
|
+
/**
|
|
13
|
+
* Parse src/Makefile.am in a project directory to determine the binary type and name.
|
|
14
|
+
* Returns { type, name } for programs (bin_PROGRAMS) or libraries (lib_LTLIBRARIES), or null on error.
|
|
15
|
+
*/
|
|
16
|
+
parseMakefileAm: (projectDir: string) => {
|
|
17
|
+
type: "program" | "library";
|
|
18
|
+
name: string;
|
|
19
|
+
} | null;
|
|
20
|
+
/**
|
|
21
|
+
* Resolve actual installed binary paths from a project directory for all build targets.
|
|
22
|
+
* Resolve binary paths from the libtool build output in {projectDir}/src/.libs/.
|
|
23
|
+
* For programs: looks for {name} (native) or {name}.exe (cross-compiled for Windows).
|
|
24
|
+
* For libraries: looks for {name}.so (native) or {name}*.dll (cross-compiled for Windows).
|
|
25
|
+
*/
|
|
26
|
+
resolveBinaryPaths: (projectDir: string) => string[];
|
|
27
|
+
/**
|
|
28
|
+
* Recursively read package.json from a project directory and resolve dependency
|
|
29
|
+
* directories via node_modules. Returns an array of absolute paths to all native
|
|
30
|
+
* dependency project directories (those with src/Makefile.am), including transitive deps.
|
|
31
|
+
*/
|
|
32
|
+
getPackageDeps: (projectDir: string, visited?: Set<string>) => string[];
|
|
33
|
+
/**
|
|
34
|
+
* Invoke the native addon's listDependencies() to call DependencyLister::ListDependencies() directly.
|
|
35
|
+
* Returns the result as a plain JS object.
|
|
36
|
+
*/
|
|
37
|
+
resolveDependencies: (binaryPaths: string[], searchPaths: string[]) => DependencyResultType;
|
|
38
|
+
/**
|
|
39
|
+
* Main entry point: validate inputs, resolve binary paths from project directories,
|
|
40
|
+
* resolve dependencies, create directory, copy files.
|
|
41
|
+
* Returns true on success, false on validation/resolution errors (after printing messages).
|
|
42
|
+
*/
|
|
43
|
+
run: (outputDir: string, projectDirs: string[]) => boolean;
|
|
44
|
+
}
|
|
45
|
+
export default Package;
|
package/dist/Package.js
ADDED
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
5
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
7
|
+
const Build_1 = require("./Build");
|
|
8
|
+
class Package {
|
|
9
|
+
constructor(config) {
|
|
10
|
+
/**
|
|
11
|
+
* Build the list of search paths from Config prefix and all known build targets.
|
|
12
|
+
* Includes both lib/ and bin/ directories since Windows DLLs are installed to bin/.
|
|
13
|
+
* Also includes the MinGW cross-compiler runtime directory for Windows targets.
|
|
14
|
+
*/
|
|
15
|
+
this.getSearchPaths = () => {
|
|
16
|
+
const searchPaths = [];
|
|
17
|
+
for (const target of Object.keys(Build_1.targets)) {
|
|
18
|
+
const targetDir = Build_1.targets[target];
|
|
19
|
+
const prefix = this.config.config.prefix + "/" + targetDir;
|
|
20
|
+
searchPaths.push(prefix + "/lib");
|
|
21
|
+
searchPaths.push(prefix + "/bin");
|
|
22
|
+
}
|
|
23
|
+
// Detect MinGW cross-compiler runtime directory for Windows DLLs
|
|
24
|
+
// (libstdc++-6.dll, libgcc_s_seh-1.dll, libwinpthread-1.dll)
|
|
25
|
+
try {
|
|
26
|
+
const mingwGccPath = (0, child_process_1.execSync)("x86_64-w64-mingw32-gcc -print-file-name=libstdc++-6.dll", { stdio: "pipe" }).toString().trim();
|
|
27
|
+
if (mingwGccPath && mingwGccPath !== "libstdc++-6.dll") {
|
|
28
|
+
searchPaths.push(path_1.default.dirname(mingwGccPath));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (_a) {
|
|
32
|
+
// MinGW cross-compiler not installed — skip
|
|
33
|
+
}
|
|
34
|
+
// Also detect MinGW sysroot lib for libwinpthread-1.dll
|
|
35
|
+
try {
|
|
36
|
+
const mingwWinpthreadPath = (0, child_process_1.execSync)("x86_64-w64-mingw32-gcc -print-file-name=libwinpthread-1.dll", { stdio: "pipe" }).toString().trim();
|
|
37
|
+
if (mingwWinpthreadPath && mingwWinpthreadPath !== "libwinpthread-1.dll") {
|
|
38
|
+
const dir = path_1.default.dirname(mingwWinpthreadPath);
|
|
39
|
+
if (!searchPaths.includes(dir)) {
|
|
40
|
+
searchPaths.push(dir);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (_b) {
|
|
45
|
+
// MinGW cross-compiler not installed — skip
|
|
46
|
+
}
|
|
47
|
+
return searchPaths;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Parse src/Makefile.am in a project directory to determine the binary type and name.
|
|
51
|
+
* Returns { type, name } for programs (bin_PROGRAMS) or libraries (lib_LTLIBRARIES), or null on error.
|
|
52
|
+
*/
|
|
53
|
+
this.parseMakefileAm = (projectDir) => {
|
|
54
|
+
const makefileAmPath = path_1.default.join(projectDir, "src", "Makefile.am");
|
|
55
|
+
if (!fs_extra_1.default.existsSync(makefileAmPath)) {
|
|
56
|
+
console.error("Error: src/Makefile.am not found in " + projectDir);
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const content = fs_extra_1.default.readFileSync(makefileAmPath, "utf-8");
|
|
60
|
+
// Check for bin_PROGRAMS = <name>
|
|
61
|
+
const programMatch = content.match(/^bin_PROGRAMS\s*=\s*(\S+)/m);
|
|
62
|
+
if (programMatch) {
|
|
63
|
+
return { type: "program", name: programMatch[1] };
|
|
64
|
+
}
|
|
65
|
+
// Check for lib_LTLIBRARIES = <name>.la
|
|
66
|
+
const libraryMatch = content.match(/^lib_LTLIBRARIES\s*=\s*(\S+)\.la/m);
|
|
67
|
+
if (libraryMatch) {
|
|
68
|
+
return { type: "library", name: libraryMatch[1] };
|
|
69
|
+
}
|
|
70
|
+
console.error("Error: Could not determine binary type from " + makefileAmPath);
|
|
71
|
+
return null;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Resolve actual installed binary paths from a project directory for all build targets.
|
|
75
|
+
* Resolve binary paths from the libtool build output in {projectDir}/src/.libs/.
|
|
76
|
+
* For programs: looks for {name} (native) or {name}.exe (cross-compiled for Windows).
|
|
77
|
+
* For libraries: looks for {name}.so (native) or {name}*.dll (cross-compiled for Windows).
|
|
78
|
+
*/
|
|
79
|
+
this.resolveBinaryPaths = (projectDir) => {
|
|
80
|
+
const parsed = this.parseMakefileAm(projectDir);
|
|
81
|
+
if (!parsed)
|
|
82
|
+
return [];
|
|
83
|
+
const binaryPaths = [];
|
|
84
|
+
const libsDir = path_1.default.join(projectDir, "src", ".libs");
|
|
85
|
+
if (!fs_extra_1.default.existsSync(libsDir)) {
|
|
86
|
+
return binaryPaths;
|
|
87
|
+
}
|
|
88
|
+
if (parsed.type === "program") {
|
|
89
|
+
// Native binary (no extension)
|
|
90
|
+
const nativePath = path_1.default.join(libsDir, parsed.name);
|
|
91
|
+
if (fs_extra_1.default.existsSync(nativePath) && fs_extra_1.default.statSync(nativePath).isFile()) {
|
|
92
|
+
binaryPaths.push(nativePath);
|
|
93
|
+
}
|
|
94
|
+
// Cross-compiled Windows binary (.exe)
|
|
95
|
+
const windowsPath = path_1.default.join(libsDir, parsed.name + ".exe");
|
|
96
|
+
if (fs_extra_1.default.existsSync(windowsPath)) {
|
|
97
|
+
binaryPaths.push(windowsPath);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// library
|
|
102
|
+
const files = fs_extra_1.default.readdirSync(libsDir);
|
|
103
|
+
for (const file of files) {
|
|
104
|
+
// Native shared library (.so)
|
|
105
|
+
if (file === parsed.name + ".so") {
|
|
106
|
+
binaryPaths.push(path_1.default.join(libsDir, file));
|
|
107
|
+
}
|
|
108
|
+
// Cross-compiled Windows DLL
|
|
109
|
+
if (file.startsWith(parsed.name) && file.endsWith(".dll")) {
|
|
110
|
+
binaryPaths.push(path_1.default.join(libsDir, file));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return binaryPaths;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Recursively read package.json from a project directory and resolve dependency
|
|
118
|
+
* directories via node_modules. Returns an array of absolute paths to all native
|
|
119
|
+
* dependency project directories (those with src/Makefile.am), including transitive deps.
|
|
120
|
+
*/
|
|
121
|
+
this.getPackageDeps = (projectDir, visited = new Set()) => {
|
|
122
|
+
const resolved = path_1.default.resolve(projectDir);
|
|
123
|
+
if (visited.has(resolved))
|
|
124
|
+
return [];
|
|
125
|
+
visited.add(resolved);
|
|
126
|
+
const packageJsonPath = path_1.default.join(projectDir, "package.json");
|
|
127
|
+
if (!fs_extra_1.default.existsSync(packageJsonPath)) {
|
|
128
|
+
return [];
|
|
129
|
+
}
|
|
130
|
+
const packageJson = JSON.parse(fs_extra_1.default.readFileSync(packageJsonPath, "utf-8"));
|
|
131
|
+
const deps = packageJson.dependencies || {};
|
|
132
|
+
const depDirs = [];
|
|
133
|
+
for (const depName of Object.keys(deps)) {
|
|
134
|
+
const depDir = path_1.default.join(projectDir, "node_modules", depName);
|
|
135
|
+
if (fs_extra_1.default.existsSync(depDir) && fs_extra_1.default.existsSync(path_1.default.join(depDir, "src", "Makefile.am"))) {
|
|
136
|
+
depDirs.push(depDir);
|
|
137
|
+
// Recurse into the dependency's own package.json
|
|
138
|
+
depDirs.push(...this.getPackageDeps(depDir, visited));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return depDirs;
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Invoke the native addon's listDependencies() to call DependencyLister::ListDependencies() directly.
|
|
145
|
+
* Returns the result as a plain JS object.
|
|
146
|
+
*/
|
|
147
|
+
this.resolveDependencies = (binaryPaths, searchPaths) => {
|
|
148
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
149
|
+
const addon = require("../native/build/Release/dependency_lister.node");
|
|
150
|
+
return addon.listDependencies(binaryPaths, searchPaths);
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Main entry point: validate inputs, resolve binary paths from project directories,
|
|
154
|
+
* resolve dependencies, create directory, copy files.
|
|
155
|
+
* Returns true on success, false on validation/resolution errors (after printing messages).
|
|
156
|
+
*/
|
|
157
|
+
this.run = (outputDir, projectDirs) => {
|
|
158
|
+
// Validate output directory doesn't already exist
|
|
159
|
+
if (fs_extra_1.default.existsSync(outputDir)) {
|
|
160
|
+
console.error("Error: Output directory already exists: " + outputDir);
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
// Validate all project directories exist and are directories
|
|
164
|
+
for (const projectDir of projectDirs) {
|
|
165
|
+
if (!fs_extra_1.default.existsSync(projectDir)) {
|
|
166
|
+
console.error("Error: Directory not found: " + projectDir);
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
const stat = fs_extra_1.default.statSync(projectDir);
|
|
170
|
+
if (!stat.isDirectory()) {
|
|
171
|
+
console.error("Error: Not a directory: " + projectDir);
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// Resolve binary paths from project directories and their package.json dependencies
|
|
176
|
+
const binaryPaths = [];
|
|
177
|
+
for (const projectDir of projectDirs) {
|
|
178
|
+
const paths = this.resolveBinaryPaths(projectDir);
|
|
179
|
+
if (paths.length === 0) {
|
|
180
|
+
console.error("Error: No installed binaries found for " + projectDir);
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
binaryPaths.push(...paths);
|
|
184
|
+
// Also resolve binaries from package.json dependencies in node_modules
|
|
185
|
+
const depDirs = this.getPackageDeps(projectDir);
|
|
186
|
+
for (const depDir of depDirs) {
|
|
187
|
+
const depPaths = this.resolveBinaryPaths(depDir);
|
|
188
|
+
if (depPaths.length > 0) {
|
|
189
|
+
binaryPaths.push(...depPaths);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// Resolve dependencies recursively — resolved libraries may have their own dependencies
|
|
194
|
+
const searchPaths = this.getSearchPaths();
|
|
195
|
+
const filesToCopy = new Set();
|
|
196
|
+
// Add resolved binary paths
|
|
197
|
+
for (const filePath of binaryPaths) {
|
|
198
|
+
filesToCopy.add(path_1.default.resolve(filePath));
|
|
199
|
+
}
|
|
200
|
+
// Iteratively resolve until no new dependencies are found
|
|
201
|
+
let toAnalyze = [...binaryPaths];
|
|
202
|
+
const analyzed = new Set();
|
|
203
|
+
while (toAnalyze.length > 0) {
|
|
204
|
+
const result = this.resolveDependencies(toAnalyze, searchPaths);
|
|
205
|
+
// Check for errors from DependencyLister
|
|
206
|
+
const errorKeys = Object.keys(result.errors);
|
|
207
|
+
if (errorKeys.length > 0) {
|
|
208
|
+
for (const binaryPath of errorKeys) {
|
|
209
|
+
console.error("Error: Failed to analyze binary: " + binaryPath);
|
|
210
|
+
console.error(" " + result.errors[binaryPath]);
|
|
211
|
+
}
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
// Mark current batch as analyzed
|
|
215
|
+
for (const p of toAnalyze) {
|
|
216
|
+
analyzed.add(path_1.default.resolve(p));
|
|
217
|
+
}
|
|
218
|
+
// Collect newly discovered resolved dependencies
|
|
219
|
+
const nextBatch = [];
|
|
220
|
+
for (const depPath of Object.keys(result.dependencies)) {
|
|
221
|
+
if (path_1.default.isAbsolute(depPath) && fs_extra_1.default.existsSync(depPath)) {
|
|
222
|
+
if (!filesToCopy.has(depPath)) {
|
|
223
|
+
filesToCopy.add(depPath);
|
|
224
|
+
// If not yet analyzed, queue for transitive resolution
|
|
225
|
+
if (!analyzed.has(depPath)) {
|
|
226
|
+
nextBatch.push(depPath);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
toAnalyze = nextBatch;
|
|
232
|
+
}
|
|
233
|
+
// Create output directory
|
|
234
|
+
fs_extra_1.default.mkdirSync(outputDir, { recursive: true });
|
|
235
|
+
// Copy files
|
|
236
|
+
for (const filePath of filesToCopy) {
|
|
237
|
+
const destPath = path_1.default.join(outputDir, path_1.default.basename(filePath));
|
|
238
|
+
console.log("Copying " + path_1.default.basename(filePath) + "...");
|
|
239
|
+
fs_extra_1.default.copyFileSync(filePath, destPath);
|
|
240
|
+
}
|
|
241
|
+
// Report summary
|
|
242
|
+
console.log("Packaged " + filesToCopy.size + " files into " + outputDir + "/");
|
|
243
|
+
return true;
|
|
244
|
+
};
|
|
245
|
+
this.config = config;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
exports.default = Package;
|
|
249
|
+
//# sourceMappingURL=Package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Package.js","sourceRoot":"","sources":["../src/Package.ts"],"names":[],"mappings":"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"}
|
package/dist/ResourcePak.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
6
|
const Scopes_1 = tslib_1.__importDefault(require("./Scopes"));
|
|
7
7
|
class ResourcePak {
|
|
8
8
|
constructor(config) {
|
|
@@ -23,16 +23,16 @@ class ResourcePak {
|
|
|
23
23
|
};
|
|
24
24
|
this.createPackage = (scope, name) => {
|
|
25
25
|
const scopeDir = this.config.config.prefix + "/projects/" + scope;
|
|
26
|
-
if (!
|
|
27
|
-
|
|
26
|
+
if (!fs_extra_1.default.existsSync(scopeDir)) {
|
|
27
|
+
fs_extra_1.default.mkdirSync(scopeDir);
|
|
28
28
|
}
|
|
29
29
|
this.packageDir = scopeDir + "/" + name;
|
|
30
|
-
if (!
|
|
31
|
-
|
|
30
|
+
if (!fs_extra_1.default.existsSync(this.packageDir)) {
|
|
31
|
+
fs_extra_1.default.mkdirSync(this.packageDir);
|
|
32
32
|
}
|
|
33
33
|
// Create default package.json
|
|
34
|
-
execSync("npm init --yes", { cwd: this.packageDir });
|
|
35
|
-
this.package = JSON.parse(
|
|
34
|
+
(0, child_process_1.execSync)("npm init --yes", { cwd: this.packageDir });
|
|
35
|
+
this.package = JSON.parse(fs_extra_1.default.readFileSync(this.packageDir + "/package.json").toString());
|
|
36
36
|
if (!this.package) {
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
@@ -49,11 +49,11 @@ class ResourcePak {
|
|
|
49
49
|
this.save();
|
|
50
50
|
};
|
|
51
51
|
this.save = () => {
|
|
52
|
-
|
|
52
|
+
fs_extra_1.default.writeFileSync(this.packageDir + "/package.json", JSON.stringify(this.package, null, 2));
|
|
53
53
|
};
|
|
54
54
|
this.addResource = (name, filename) => {
|
|
55
55
|
this.packageDir = process.cwd();
|
|
56
|
-
this.package = JSON.parse(
|
|
56
|
+
this.package = JSON.parse(fs_extra_1.default.readFileSync(this.packageDir + "/package.json").toString());
|
|
57
57
|
if (!this.package) {
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
@@ -65,7 +65,7 @@ class ResourcePak {
|
|
|
65
65
|
else {
|
|
66
66
|
this.package.resources = [];
|
|
67
67
|
}
|
|
68
|
-
const stats =
|
|
68
|
+
const stats = fs_extra_1.default.statSync(filename);
|
|
69
69
|
this.package.resources.push({
|
|
70
70
|
name: name,
|
|
71
71
|
filename: filename,
|
|
@@ -75,7 +75,7 @@ class ResourcePak {
|
|
|
75
75
|
};
|
|
76
76
|
this.build = () => {
|
|
77
77
|
this.packageDir = process.cwd();
|
|
78
|
-
this.package = JSON.parse(
|
|
78
|
+
this.package = JSON.parse(fs_extra_1.default.readFileSync(this.packageDir + "/package.json").toString());
|
|
79
79
|
if (!this.package) {
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
@@ -97,9 +97,9 @@ class ResourcePak {
|
|
|
97
97
|
};
|
|
98
98
|
header.headerSize = (JSON.stringify(header).length + 1).toString().padStart(10, "0");
|
|
99
99
|
const [, name] = this.package.name.split("/");
|
|
100
|
-
|
|
100
|
+
fs_extra_1.default.writeFileSync(this.packageDir + "/" + name + ".pak", JSON.stringify(header) + "\n");
|
|
101
101
|
this.package.resources.forEach((r) => {
|
|
102
|
-
|
|
102
|
+
fs_extra_1.default.appendFileSync(name + ".pak", fs_extra_1.default.readFileSync(r.filename));
|
|
103
103
|
});
|
|
104
104
|
};
|
|
105
105
|
this.config = config;
|
package/dist/ResourcePak.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourcePak.js","sourceRoot":"","sources":["../src/ResourcePak.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"ResourcePak.js","sourceRoot":"","sources":["../src/ResourcePak.ts"],"names":[],"mappings":";;;AAAA,gEAA0B;AAC1B,iDAAyC;AAEzC,8DAA8B;AAG9B,MAAM,WAAW;IAMf,YAAY,MAAc;QAL1B,eAAU,GAAG,EAAE,CAAC;QAUhB,YAAO,GAAG,GAAG,EAAE;YACb,OAAO;gBACL;oBACE,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,WAAW;oBACnB,SAAS,EAAE,+BAA+B;oBAC1C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;iBACnC;gBACD;oBACE,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,8BAA8B;iBAC1C;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,kBAAa,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,GAAG,KAAK,CAAC;YAClE,IAAG,CAAC,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC3B,kBAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aACxB;YAED,IAAI,CAAC,UAAU,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC;YACxC,IAAG,CAAC,kBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAClC,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/B;YAED,8BAA8B;YAC9B,IAAA,wBAAQ,EAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAErD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzF,IAAG,CAAC,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO;aACR;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG;gBACrB,MAAM,EAAE,6CAA6C;gBACrD,OAAO,EAAE,6BAA6B;aACvC,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,SAAI,GAAG,GAAG,EAAE;YACV,kBAAE,CAAC,aAAa,CACd,IAAI,CAAC,UAAU,GAAG,eAAe,EACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CACtC,CAAC;QACJ,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;YAC/C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,OAAO;aACR;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBAC1B,IAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;oBACtD,OAAO;iBACR;aACF;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;aAC7B;YAED,MAAM,KAAK,GAAG,kBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,OAAO;aACR;YAED,0EAA0E;YAC1E,WAAW;YACX,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjD,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;qBAClC,MAAM,CAAC,QAAQ,EAAE;qBACjB,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;gBACpB,SAAS,EAAE,SAAS;aACrB,CAAC;YACF,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAErF,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,kBAAE,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YACvF,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnC,kBAAE,CAAC,cAAc,CAAC,IAAI,GAAG,MAAM,EAAE,kBAAE,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAhHA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CA+GF;AAED,kBAAe,WAAW,CAAC"}
|
package/dist/Scopes.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ScopeAnswersType, ScopeDefaultsType } from "./types";
|
|
1
2
|
import Config from "./Config";
|
|
2
3
|
declare class Scopes {
|
|
3
4
|
config: Config;
|
|
@@ -11,24 +12,26 @@ declare class Scopes {
|
|
|
11
12
|
askNewScope: () => ({
|
|
12
13
|
name: string;
|
|
13
14
|
message: string;
|
|
14
|
-
default:
|
|
15
|
+
default: string;
|
|
15
16
|
} | {
|
|
16
17
|
name: string;
|
|
17
18
|
message: string;
|
|
18
19
|
})[];
|
|
19
|
-
askEditScope: (defaults?:
|
|
20
|
+
askEditScope: (defaults?: ScopeDefaultsType | undefined) => {
|
|
20
21
|
name: string;
|
|
21
22
|
message: string;
|
|
22
|
-
default:
|
|
23
|
+
default: string;
|
|
23
24
|
}[];
|
|
24
|
-
createOrEditScope: (answers:
|
|
25
|
+
createOrEditScope: (answers: ScopeAnswersType) => void;
|
|
25
26
|
deleteScope: (scope: string) => void;
|
|
26
27
|
getScopes: () => string[];
|
|
27
28
|
getScope: (scope: string) => import("./types").ScopeType;
|
|
28
|
-
getQuestions: (defaults:
|
|
29
|
+
getQuestions: (defaults: {
|
|
30
|
+
scopeName?: string;
|
|
31
|
+
}) => {
|
|
29
32
|
name: string;
|
|
30
33
|
message: string;
|
|
31
|
-
default:
|
|
34
|
+
default: string | null;
|
|
32
35
|
}[];
|
|
33
36
|
}
|
|
34
37
|
export default Scopes;
|
package/dist/Scopes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scopes.js","sourceRoot":"","sources":["../src/Scopes.ts"],"names":[],"mappings":";;AAIA,MAAM,MAAM;IAGV,YAAY,MAAc;QAI1B,kBAAa,GAAG,GAAG,EAAE;YACnB,OAAO;gBACL;oBACE,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,WAAW;oBACnB,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;iBAC5B;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,gBAAW,GAAG,GAAG,EAAE;YACjB,OAAO;gBACL;oBACE,MAAM,EAAE,WAAW;oBACnB,SAAS,EAAE,iBAAiB;iBAC7B;gBACD,GAAG,IAAI,CAAC,YAAY,EAAE;aACvB,CAAC;QACJ,CAAC,CAAC;QAEF,iBAAY,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Scopes.js","sourceRoot":"","sources":["../src/Scopes.ts"],"names":[],"mappings":"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"}
|
package/dist/Template.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import Config from "./Config";
|
|
2
2
|
import Scopes from "./Scopes";
|
|
3
|
+
import { PackageType } from "./types";
|
|
3
4
|
declare class Template {
|
|
4
5
|
type: string;
|
|
5
6
|
packageDir: string;
|
|
6
7
|
config: Config;
|
|
7
8
|
scopes: Scopes;
|
|
8
|
-
package
|
|
9
|
+
package?: PackageType;
|
|
9
10
|
constructor(config: Config);
|
|
10
11
|
askName: () => ({
|
|
11
12
|
type: string;
|