@samchon/ts-patch 3.2.2-dev.20241204
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/CHANGELOG.md +268 -0
- package/LICENSE.md +13 -0
- package/README.md +348 -0
- package/actions/check.d.ts +11 -0
- package/actions/check.js +45 -0
- package/actions/check.js.map +1 -0
- package/actions/index.d.ts +5 -0
- package/actions/index.js +22 -0
- package/actions/index.js.map +1 -0
- package/actions/install.d.ts +5 -0
- package/actions/install.js +25 -0
- package/actions/install.js.map +1 -0
- package/actions/patch.d.ts +6 -0
- package/actions/patch.js +82 -0
- package/actions/patch.js.map +1 -0
- package/actions/uninstall.d.ts +5 -0
- package/actions/uninstall.js +26 -0
- package/actions/uninstall.js.map +1 -0
- package/actions/unpatch.d.ts +3 -0
- package/actions/unpatch.js +82 -0
- package/actions/unpatch.js.map +1 -0
- package/bin/ts-patch.d.ts +1 -0
- package/bin/ts-patch.js +33 -0
- package/bin/ts-patch.js.map +1 -0
- package/bin/tspc.d.ts +0 -0
- package/bin/tspc.js +14 -0
- package/bin/tspc.js.map +1 -0
- package/cli/cli.d.ts +14 -0
- package/cli/cli.js +96 -0
- package/cli/cli.js.map +1 -0
- package/cli/commands.d.ts +5 -0
- package/cli/commands.js +49 -0
- package/cli/commands.js.map +1 -0
- package/cli/help-menu.d.ts +1 -0
- package/cli/help-menu.js +43 -0
- package/cli/help-menu.js.map +1 -0
- package/cli/options.d.ts +14 -0
- package/cli/options.js +63 -0
- package/cli/options.js.map +1 -0
- package/compiler/package.json +4 -0
- package/compiler/tsc.js +19 -0
- package/compiler/tsserver.js +19 -0
- package/compiler/tsserverlibrary.js +19 -0
- package/compiler/typescript.js +19 -0
- package/config.d.ts +18 -0
- package/config.js +50 -0
- package/config.js.map +1 -0
- package/index.d.ts +4 -0
- package/index.js +29 -0
- package/index.js.map +1 -0
- package/module/get-live-module.d.ts +5 -0
- package/module/get-live-module.js +25 -0
- package/module/get-live-module.js.map +1 -0
- package/module/index.d.ts +4 -0
- package/module/index.js +21 -0
- package/module/index.js.map +1 -0
- package/module/module-file.d.ts +9 -0
- package/module/module-file.js +97 -0
- package/module/module-file.js.map +1 -0
- package/module/module-source.d.ts +15 -0
- package/module/module-source.js +35 -0
- package/module/module-source.js.map +1 -0
- package/module/source-section.d.ts +20 -0
- package/module/source-section.js +73 -0
- package/module/source-section.js.map +1 -0
- package/module/ts-module.d.ts +35 -0
- package/module/ts-module.js +100 -0
- package/module/ts-module.js.map +1 -0
- package/options.d.ts +19 -0
- package/options.js +32 -0
- package/options.js.map +1 -0
- package/package.json +107 -0
- package/patch/get-patched-source.d.ts +12 -0
- package/patch/get-patched-source.js +69 -0
- package/patch/get-patched-source.js.map +1 -0
- package/patch/patch-detail.d.ts +36 -0
- package/patch/patch-detail.js +67 -0
- package/patch/patch-detail.js.map +1 -0
- package/patch/patch-module.d.ts +5 -0
- package/patch/patch-module.js +182 -0
- package/patch/patch-module.js.map +1 -0
- package/patch/transformers/add-original-create-program.d.ts +3 -0
- package/patch/transformers/add-original-create-program.js +71 -0
- package/patch/transformers/add-original-create-program.js.map +1 -0
- package/patch/transformers/fix-ts-early-return.d.ts +2 -0
- package/patch/transformers/fix-ts-early-return.js +51 -0
- package/patch/transformers/fix-ts-early-return.js.map +1 -0
- package/patch/transformers/hook-tsc-exec.d.ts +2 -0
- package/patch/transformers/hook-tsc-exec.js +32 -0
- package/patch/transformers/hook-tsc-exec.js.map +1 -0
- package/patch/transformers/index.d.ts +6 -0
- package/patch/transformers/index.js +23 -0
- package/patch/transformers/index.js.map +1 -0
- package/patch/transformers/merge-statements.d.ts +2 -0
- package/patch/transformers/merge-statements.js +60 -0
- package/patch/transformers/merge-statements.js.map +1 -0
- package/patch/transformers/patch-create-program.d.ts +2 -0
- package/patch/transformers/patch-create-program.js +36 -0
- package/patch/transformers/patch-create-program.js.map +1 -0
- package/patch/transformers/patch-emitter.d.ts +2 -0
- package/patch/transformers/patch-emitter.js +44 -0
- package/patch/transformers/patch-emitter.js.map +1 -0
- package/plugin-types.d.ts +95 -0
- package/plugin-types.js +4 -0
- package/plugin-types.js.map +1 -0
- package/resources/module-patch.d.ts +50 -0
- package/resources/module-patch.js +609 -0
- package/slice/module-slice.d.ts +19 -0
- package/slice/module-slice.js +37 -0
- package/slice/module-slice.js.map +1 -0
- package/slice/ts54.d.ts +6 -0
- package/slice/ts54.js +70 -0
- package/slice/ts54.js.map +1 -0
- package/slice/ts55.d.ts +6 -0
- package/slice/ts55.js +70 -0
- package/slice/ts55.js.map +1 -0
- package/slice/ts552.d.ts +6 -0
- package/slice/ts552.js +70 -0
- package/slice/ts552.js.map +1 -0
- package/system/cache.d.ts +3 -0
- package/system/cache.js +69 -0
- package/system/cache.js.map +1 -0
- package/system/errors.d.ts +35 -0
- package/system/errors.js +82 -0
- package/system/errors.js.map +1 -0
- package/system/index.d.ts +4 -0
- package/system/index.js +21 -0
- package/system/index.js.map +1 -0
- package/system/logger.d.ts +7 -0
- package/system/logger.js +48 -0
- package/system/logger.js.map +1 -0
- package/system/types.d.ts +4 -0
- package/system/types.js +7 -0
- package/system/types.js.map +1 -0
- package/ts-package.d.ts +18 -0
- package/ts-package.js +73 -0
- package/ts-package.js.map +1 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/utils/file-utils.d.ts +9 -0
- package/utils/file-utils.js +98 -0
- package/utils/file-utils.js.map +1 -0
- package/utils/find-cache-dir.d.ts +23 -0
- package/utils/find-cache-dir.js +93 -0
- package/utils/find-cache-dir.js.map +1 -0
- package/utils/general.d.ts +5 -0
- package/utils/general.js +16 -0
- package/utils/general.js.map +1 -0
- package/utils/index.d.ts +3 -0
- package/utils/index.js +20 -0
- package/utils/index.js.map +1 -0
package/actions/check.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.check = check;
|
|
7
|
+
const system_1 = require("../system");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const ts_package_1 = require("../ts-package");
|
|
10
|
+
const module_1 = require("../module");
|
|
11
|
+
const options_1 = require("../options");
|
|
12
|
+
function check(moduleNameOrNames, opts) {
|
|
13
|
+
let targetModuleNames = moduleNameOrNames ? [moduleNameOrNames].flat() : undefined;
|
|
14
|
+
const options = (0, options_1.getInstallerOptions)(opts);
|
|
15
|
+
const { logger: log, dir } = options;
|
|
16
|
+
/* Load Package */
|
|
17
|
+
const tsPackage = (0, ts_package_1.getTsPackage)(dir);
|
|
18
|
+
const { packageDir, version } = tsPackage;
|
|
19
|
+
targetModuleNames ?? (targetModuleNames = tsPackage.moduleNames);
|
|
20
|
+
/* Check Modules */
|
|
21
|
+
log(`Checking TypeScript ${chalk_1.default.blueBright(`v${version}`)} installation in ${chalk_1.default.blueBright(packageDir)}\r\n`);
|
|
22
|
+
let res = {};
|
|
23
|
+
for (const moduleName of targetModuleNames) {
|
|
24
|
+
/* Validate */
|
|
25
|
+
if (!tsPackage.moduleNames.includes(moduleName))
|
|
26
|
+
throw new system_1.PatchError(`${moduleName} is not a valid TypeScript module in ${packageDir}`);
|
|
27
|
+
/* Report */
|
|
28
|
+
const tsModule = (0, module_1.getTsModule)(tsPackage, moduleName, { skipCache: options.skipCache });
|
|
29
|
+
const { patchDetail } = tsModule.moduleFile;
|
|
30
|
+
if (patchDetail !== undefined) {
|
|
31
|
+
const { isOutdated } = patchDetail;
|
|
32
|
+
log(['+',
|
|
33
|
+
`${chalk_1.default.blueBright(moduleName)} is patched with ts-patch version ` +
|
|
34
|
+
`${chalk_1.default[isOutdated ? 'redBright' : 'blueBright'](patchDetail.tspVersion)} ${isOutdated ? '(out of date)' : ''}`
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
else
|
|
38
|
+
log(['-', `${chalk_1.default.blueBright(moduleName)} is not patched.`]);
|
|
39
|
+
res[moduleName] = patchDetail;
|
|
40
|
+
log('', system_1.LogLevel.verbose);
|
|
41
|
+
}
|
|
42
|
+
return res;
|
|
43
|
+
}
|
|
44
|
+
// endregion
|
|
45
|
+
//# sourceMappingURL=check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../projects/core/src/actions/check.ts"],"names":[],"mappings":";;;;;AA4BA,sBAuCC;AAnED,sCAAiD;AACjD,kDAA0B;AAC1B,8CAA6C;AAE7C,sCAAwC;AACxC,wCAAmE;AAuBnE,SAAgB,KAAK,CAAC,iBAAqC,EAAE,IAAgC;IAC3F,IAAI,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAE,iBAAiB,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,MAAM,OAAO,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAErC,kBAAkB;IAClB,MAAM,SAAS,GAAG,IAAA,yBAAY,EAAC,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAG1C,iBAAiB,KAAjB,iBAAiB,GAAK,SAAS,CAAC,WAAW,EAAC;IAE5C,mBAAmB;IACnB,GAAG,CAAC,uBAAuB,eAAK,CAAC,UAAU,CAAC,IAAI,OAAO,EAAE,CAAC,oBAAoB,eAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAElH,IAAI,GAAG,GAAgB,EAAE,CAAC;IAC1B,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAC3C,cAAc;QACd,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC7C,MAAM,IAAI,mBAAU,CAAC,GAAG,UAAU,wCAAwC,UAAU,EAAE,CAAC,CAAC;QAE1F,YAAY;QACZ,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,SAAS,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACtF,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC;QAE5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;YACnC,GAAG,CAAC,CAAE,GAAG;gBACP,GAAG,eAAK,CAAC,UAAU,CAAC,UAAU,CAAC,oCAAoC;oBACnE,GAAG,eAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE;aACjH,CAAC,CAAC;QACL,CAAC;;YAAM,GAAG,CAAC,CAAE,GAAG,EAAE,GAAG,eAAK,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAE,CAAC,CAAC;QAEvE,GAAG,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;QAE9B,GAAG,CAAC,EAAE,EAAE,iBAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,YAAY"}
|
package/actions/index.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./patch"), exports);
|
|
18
|
+
__exportStar(require("./unpatch"), exports);
|
|
19
|
+
__exportStar(require("./check"), exports);
|
|
20
|
+
__exportStar(require("./install"), exports);
|
|
21
|
+
__exportStar(require("./uninstall"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../projects/core/src/actions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,4CAAyB;AACzB,0CAAuB;AACvB,4CAAyB;AACzB,8CAA2B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.install = install;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const __1 = require("..");
|
|
9
|
+
const config_1 = require("../config");
|
|
10
|
+
/* ****************************************************************************************************************** */
|
|
11
|
+
// region: Utils
|
|
12
|
+
/* ****************************************************************************************************************** */
|
|
13
|
+
/**
|
|
14
|
+
* Patch TypeScript modules
|
|
15
|
+
*/
|
|
16
|
+
function install(opts) {
|
|
17
|
+
const options = (0, __1.getInstallerOptions)(opts);
|
|
18
|
+
const { logger: log } = options;
|
|
19
|
+
const ret = (0, __1.patch)(config_1.defaultInstallLibraries, options);
|
|
20
|
+
if (ret)
|
|
21
|
+
log(['+', chalk_1.default.green(`ts-patch installed!`)]);
|
|
22
|
+
return ret;
|
|
23
|
+
}
|
|
24
|
+
// endregion
|
|
25
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../projects/core/src/actions/install.ts"],"names":[],"mappings":";;;;;AAYA,0BAQC;AApBD,kDAA0B;AAC1B,0BAAkE;AAClE,sCAAoD;AAGpD,wHAAwH;AACxH,gBAAgB;AAChB,wHAAwH;AAExH;;GAEG;AACH,SAAgB,OAAO,CAAC,IAAgC;IACtD,MAAM,OAAO,GAAG,IAAA,uBAAmB,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEhC,MAAM,GAAG,GAAG,IAAA,SAAK,EAAC,gCAAuB,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,GAAG;QAAE,GAAG,CAAC,CAAE,GAAG,EAAE,eAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAE,CAAC,CAAC;IAE1D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,YAAY"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InstallerOptions } from '../options';
|
|
2
|
+
/**
|
|
3
|
+
* Patch a TypeScript module
|
|
4
|
+
*/
|
|
5
|
+
export declare function patch(moduleName: string, opts?: Partial<InstallerOptions>): boolean;
|
|
6
|
+
export declare function patch(moduleNames: string[], opts?: Partial<InstallerOptions>): boolean;
|
package/actions/patch.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.patch = patch;
|
|
7
|
+
const system_1 = require("../system");
|
|
8
|
+
const ts_package_1 = require("../ts-package");
|
|
9
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
10
|
+
const module_1 = require("../module");
|
|
11
|
+
const path_1 = __importDefault(require("path"));
|
|
12
|
+
const options_1 = require("../options");
|
|
13
|
+
const utils_1 = require("../utils");
|
|
14
|
+
const get_patched_source_1 = require("../patch/get-patched-source");
|
|
15
|
+
const fs_1 = require("fs");
|
|
16
|
+
function patch(moduleNameOrNames, opts) {
|
|
17
|
+
const targetModuleNames = [moduleNameOrNames].flat();
|
|
18
|
+
if (!targetModuleNames.length)
|
|
19
|
+
throw new system_1.PatchError(`Must provide at least one module name to patch`);
|
|
20
|
+
const options = (0, options_1.getInstallerOptions)(opts);
|
|
21
|
+
const { logger: log, dir, skipCache } = options;
|
|
22
|
+
/* Load Package */
|
|
23
|
+
const tsPackage = (0, ts_package_1.getTsPackage)(dir);
|
|
24
|
+
/* Get modules to patch and patch info */
|
|
25
|
+
const moduleFiles = targetModuleNames
|
|
26
|
+
.filter(m => (0, fs_1.existsSync)(tsPackage.getModulePath(m)))
|
|
27
|
+
.map(m => [m, (0, module_1.getModuleFile)(tsPackage.getModulePath(m))]);
|
|
28
|
+
if (!moduleFiles.length)
|
|
29
|
+
throw new system_1.PatchError(`No valid modules found to patch`);
|
|
30
|
+
/* Determine files not already patched or outdated */
|
|
31
|
+
const patchableFiles = moduleFiles.filter(entry => {
|
|
32
|
+
const [moduleName, moduleFile] = entry;
|
|
33
|
+
if (!moduleFile.patchDetail || moduleFile.patchDetail.isOutdated)
|
|
34
|
+
return true;
|
|
35
|
+
else {
|
|
36
|
+
log(['!',
|
|
37
|
+
`${chalk_1.default.blueBright(moduleName)} is already patched with the latest version. For details, run: ` +
|
|
38
|
+
chalk_1.default.bgBlackBright('ts-patch check')
|
|
39
|
+
]);
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
if (!patchableFiles.length)
|
|
44
|
+
return true;
|
|
45
|
+
/* Patch modules */
|
|
46
|
+
const failedModulePaths = [];
|
|
47
|
+
for (let entry of patchableFiles) {
|
|
48
|
+
/* Load Module */
|
|
49
|
+
const { 1: moduleFile } = entry;
|
|
50
|
+
const tsModule = (0, module_1.getTsModule)(tsPackage, moduleFile, { skipCache: true });
|
|
51
|
+
const { moduleName, modulePath } = tsModule;
|
|
52
|
+
log(['~', `Patching ${chalk_1.default.blueBright(moduleName)} in ${chalk_1.default.blueBright(path_1.default.dirname(modulePath))}`], system_1.LogLevel.verbose);
|
|
53
|
+
try {
|
|
54
|
+
const { js, dts, loadedFromCache } = (0, get_patched_source_1.getPatchedSource)(tsModule, { skipCache, log });
|
|
55
|
+
/* Write Patched Module */
|
|
56
|
+
log([
|
|
57
|
+
'~',
|
|
58
|
+
`Writing patched ${chalk_1.default.blueBright(moduleName)} to ` +
|
|
59
|
+
`${chalk_1.default.blueBright(modulePath)}${loadedFromCache ? ' (cached)' : ''}`
|
|
60
|
+
], system_1.LogLevel.verbose);
|
|
61
|
+
(0, utils_1.writeFileWithLock)(tsModule.modulePath, js);
|
|
62
|
+
if (dts)
|
|
63
|
+
(0, utils_1.writeFileWithLock)(tsModule.dtsPath, dts);
|
|
64
|
+
log(['+', chalk_1.default.green(`Successfully patched ${chalk_1.default.bold.yellow(moduleName)}.\r\n`)], system_1.LogLevel.verbose);
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
if (e instanceof system_1.TspError || options.logLevel >= system_1.LogLevel.verbose)
|
|
68
|
+
log(['!', e.message]);
|
|
69
|
+
failedModulePaths.push(tsModule.modulePath);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (failedModulePaths.length > 1) {
|
|
73
|
+
log(['!',
|
|
74
|
+
`Some files can't be patched! You can run again with --verbose to get specific error detail. The following files are unable to be ` +
|
|
75
|
+
`patched:\n - ${failedModulePaths.join('\n - ')}`
|
|
76
|
+
]);
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
// endregion
|
|
82
|
+
//# sourceMappingURL=patch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../projects/core/src/actions/patch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.uninstall = uninstall;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const config_1 = require("../config");
|
|
9
|
+
const unpatch_1 = require("./unpatch");
|
|
10
|
+
const options_1 = require("../options");
|
|
11
|
+
/* ****************************************************************************************************************** */
|
|
12
|
+
// region: Utils
|
|
13
|
+
/* ****************************************************************************************************************** */
|
|
14
|
+
/**
|
|
15
|
+
* Remove patches from TypeScript modules
|
|
16
|
+
*/
|
|
17
|
+
function uninstall(opts) {
|
|
18
|
+
const options = (0, options_1.getInstallerOptions)(opts);
|
|
19
|
+
const { logger: log } = options;
|
|
20
|
+
const ret = (0, unpatch_1.unpatch)(config_1.defaultInstallLibraries, opts);
|
|
21
|
+
if (ret)
|
|
22
|
+
log(['-', chalk_1.default.green(`ts-patch removed!`)]);
|
|
23
|
+
return ret;
|
|
24
|
+
}
|
|
25
|
+
// endregion
|
|
26
|
+
//# sourceMappingURL=uninstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../projects/core/src/actions/uninstall.ts"],"names":[],"mappings":";;;;;AAaA,8BAQC;AArBD,kDAA0B;AAC1B,sCAAoD;AACpD,uCAAoC;AACpC,wCAAmE;AAGnE,wHAAwH;AACxH,gBAAgB;AAChB,wHAAwH;AAExH;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAgC;IACxD,MAAM,OAAO,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEhC,MAAM,GAAG,GAAG,IAAA,iBAAO,EAAC,gCAAuB,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,GAAG;QAAE,GAAG,CAAC,CAAE,GAAG,EAAE,eAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAE,CAAC,CAAC;IAExD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,YAAY"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.unpatch = unpatch;
|
|
7
|
+
const system_1 = require("../system");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const ts_package_1 = require("../ts-package");
|
|
11
|
+
const module_1 = require("../module");
|
|
12
|
+
const fs_1 = __importDefault(require("fs"));
|
|
13
|
+
const options_1 = require("../options");
|
|
14
|
+
const utils_1 = require("../utils");
|
|
15
|
+
function unpatch(moduleNameOrNames, opts) {
|
|
16
|
+
let res = false;
|
|
17
|
+
const targetModuleNames = [moduleNameOrNames].flat();
|
|
18
|
+
if (!targetModuleNames.length)
|
|
19
|
+
throw new system_1.PatchError(`Must provide at least one module name to patch`);
|
|
20
|
+
const options = (0, options_1.getInstallerOptions)(opts);
|
|
21
|
+
const { logger: log, dir } = options;
|
|
22
|
+
/* Load Package */
|
|
23
|
+
const tsPackage = (0, ts_package_1.getTsPackage)(dir);
|
|
24
|
+
/* Get modules to patch and patch info */
|
|
25
|
+
const moduleFiles = targetModuleNames.map(m => [m, (0, module_1.getModuleFile)(tsPackage.getModulePath(m))]);
|
|
26
|
+
/* Determine patched files */
|
|
27
|
+
const unpatchableFiles = moduleFiles.filter(entry => {
|
|
28
|
+
const [moduleName, moduleFile] = entry;
|
|
29
|
+
if (moduleFile.patchDetail)
|
|
30
|
+
return true;
|
|
31
|
+
else {
|
|
32
|
+
log(['!', `${chalk_1.default.blueBright(moduleName)} is not patched. For details, run: ` + chalk_1.default.bgBlackBright('ts-patch check')]);
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
/* Restore files */
|
|
37
|
+
const errors = {};
|
|
38
|
+
for (const entry of unpatchableFiles) {
|
|
39
|
+
/* Load Module */
|
|
40
|
+
const { 1: moduleFile } = entry;
|
|
41
|
+
const tsModule = (0, module_1.getTsModule)(tsPackage, moduleFile, { skipCache: true });
|
|
42
|
+
try {
|
|
43
|
+
/* Get Backups */
|
|
44
|
+
const backupPaths = [];
|
|
45
|
+
backupPaths.push(tsModule.backupCachePaths.js);
|
|
46
|
+
if (tsModule.backupCachePaths.dts)
|
|
47
|
+
backupPaths.push(tsModule.backupCachePaths.dts);
|
|
48
|
+
const baseNames = backupPaths.map(p => path_1.default.basename(p)).join(' & ');
|
|
49
|
+
log([
|
|
50
|
+
'~',
|
|
51
|
+
`Restoring ${chalk_1.default.blueBright(baseNames)} in ${chalk_1.default.blueBright(path_1.default.dirname(tsPackage.libDir))}`
|
|
52
|
+
], system_1.LogLevel.verbose);
|
|
53
|
+
/* Restore files */
|
|
54
|
+
for (const backupPath of backupPaths) {
|
|
55
|
+
if (!fs_1.default.existsSync(backupPath))
|
|
56
|
+
throw new Error(`Cannot find backup file: ${backupPath}. Try reinstalling typescript.`);
|
|
57
|
+
const moduleDir = path_1.default.dirname(tsModule.modulePath);
|
|
58
|
+
const destPath = path_1.default.join(moduleDir, path_1.default.basename(backupPath));
|
|
59
|
+
(0, utils_1.copyFileWithLock)(backupPath, destPath);
|
|
60
|
+
}
|
|
61
|
+
log(['+', chalk_1.default.green(`Successfully restored ${chalk_1.default.bold.yellow(baseNames)}.\r\n`)], system_1.LogLevel.verbose);
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
errors[tsModule.moduleName] = e;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/* Handle errors */
|
|
68
|
+
if (Object.keys(errors).length > 0) {
|
|
69
|
+
Object.values(errors).forEach(e => {
|
|
70
|
+
log(['!', e.message], system_1.LogLevel.verbose);
|
|
71
|
+
});
|
|
72
|
+
log('');
|
|
73
|
+
throw new system_1.RestoreError(`[${Object.keys(errors).join(', ')}]`, 'Try reinstalling typescript.' +
|
|
74
|
+
(options.logLevel < system_1.LogLevel.verbose ? ' (Or, run uninstall again with --verbose for specific error detail)' : ''));
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
res = true;
|
|
78
|
+
}
|
|
79
|
+
return res;
|
|
80
|
+
}
|
|
81
|
+
// endregion
|
|
82
|
+
//# sourceMappingURL=unpatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unpatch.js","sourceRoot":"","sources":["../../../projects/core/src/actions/unpatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/bin/ts-patch.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
+
}) : function(o, v) {
|
|
18
|
+
o["default"] = v;
|
|
19
|
+
});
|
|
20
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
21
|
+
if (mod && mod.__esModule) return mod;
|
|
22
|
+
var result = {};
|
|
23
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
24
|
+
__setModuleDefault(result, mod);
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
const cliModule = __importStar(require("../cli/cli"));
|
|
29
|
+
/* ****************************************************************************************************************** *
|
|
30
|
+
* Entry
|
|
31
|
+
* ****************************************************************************************************************** */
|
|
32
|
+
cliModule.run();
|
|
33
|
+
//# sourceMappingURL=ts-patch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-patch.js","sourceRoot":"","sources":["../../../projects/core/src/bin/ts-patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAuC;AAEvC;;wHAEwH;AAExH,SAAS,CAAC,GAAG,EAAE,CAAC"}
|
package/bin/tspc.d.ts
ADDED
|
File without changes
|
package/bin/tspc.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
/* ****************************************************************************************************************** *
|
|
5
|
+
* Entry
|
|
6
|
+
* ****************************************************************************************************************** */
|
|
7
|
+
// Run if main module cli
|
|
8
|
+
if (require.main === module) {
|
|
9
|
+
require('../compiler/tsc');
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
throw new Error('tspc must be run as a CLI');
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=tspc.js.map
|
package/bin/tspc.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tspc.js","sourceRoot":"","sources":["../../../projects/core/src/bin/tspc.ts"],"names":[],"mappings":";AAEA;;wHAEwH;AAExH,yBAAyB;AACzB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC7B,CAAC;KAAM,CAAC;IACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
|
package/cli/cli.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import minimist from 'minimist';
|
|
2
|
+
export type CliConfig = Record<string, {
|
|
3
|
+
short?: string;
|
|
4
|
+
caption: string;
|
|
5
|
+
paramCaption?: string;
|
|
6
|
+
inverse?: boolean;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function run(opt?: {
|
|
9
|
+
cmdArgs?: string;
|
|
10
|
+
}): {
|
|
11
|
+
cmd: string | undefined;
|
|
12
|
+
args: minimist.ParsedArgs;
|
|
13
|
+
options: import("..").InstallerOptions;
|
|
14
|
+
};
|
package/cli/cli.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.run = run;
|
|
30
|
+
const minimist_1 = __importDefault(require("minimist"));
|
|
31
|
+
const system_1 = require("../system");
|
|
32
|
+
const ts_package_1 = require("../ts-package");
|
|
33
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
34
|
+
const actions = __importStar(require("../actions"));
|
|
35
|
+
const options_1 = require("./options");
|
|
36
|
+
const commands_1 = require("./commands");
|
|
37
|
+
const help_menu_1 = require("./help-menu");
|
|
38
|
+
const config_1 = require("../config");
|
|
39
|
+
const fs_1 = __importDefault(require("fs"));
|
|
40
|
+
// endregion
|
|
41
|
+
/* ****************************************************************************************************************** */
|
|
42
|
+
// region: Utils
|
|
43
|
+
/* ****************************************************************************************************************** */
|
|
44
|
+
function run(opt) {
|
|
45
|
+
/* Parse Input */
|
|
46
|
+
const args = (0, minimist_1.default)(opt?.cmdArgs?.split(' ') ?? process.argv.slice(2));
|
|
47
|
+
const cliOptions = (0, options_1.getCliOptions)(args);
|
|
48
|
+
const cmd = (0, commands_1.getCliCommand)(args);
|
|
49
|
+
/* Setup */
|
|
50
|
+
const options = (0, options_1.getInstallerOptionsFromCliOptions)(cliOptions);
|
|
51
|
+
const log = (0, system_1.createLogger)(options.logLevel, options.useColor, options.silent);
|
|
52
|
+
try {
|
|
53
|
+
/* Handle commands */
|
|
54
|
+
(() => {
|
|
55
|
+
switch (cmd) {
|
|
56
|
+
case 'help':
|
|
57
|
+
return log((0, help_menu_1.getHelpMenu)(), system_1.LogLevel.system);
|
|
58
|
+
case 'version':
|
|
59
|
+
const { version: tsVersion, packageDir } = (0, ts_package_1.getTsPackage)(options.dir);
|
|
60
|
+
return log('\r\n' +
|
|
61
|
+
chalk_1.default.bold.blue('ts-patch: ') + config_1.tspPackageJSON.version + '\r\n' +
|
|
62
|
+
chalk_1.default.bold.blue('typescript: ') + tsVersion + chalk_1.default.gray(` [${packageDir}]`), system_1.LogLevel.system);
|
|
63
|
+
case 'install':
|
|
64
|
+
return actions.install(options);
|
|
65
|
+
case 'uninstall':
|
|
66
|
+
return actions.uninstall(options);
|
|
67
|
+
case 'patch':
|
|
68
|
+
return actions.patch(args._.slice(1).join(' '), options);
|
|
69
|
+
case 'unpatch':
|
|
70
|
+
return actions.unpatch(args._.slice(1).join(' '), options);
|
|
71
|
+
case 'check':
|
|
72
|
+
return actions.check(undefined, options);
|
|
73
|
+
case 'clear-cache':
|
|
74
|
+
const cacheRoot = (0, system_1.getCacheRoot)();
|
|
75
|
+
/* Clear dir */
|
|
76
|
+
fs_1.default.rmSync(cacheRoot, { recursive: true, force: true });
|
|
77
|
+
/* Recreate Dirs */
|
|
78
|
+
(0, system_1.getCacheRoot)();
|
|
79
|
+
(0, system_1.getLockFilePath)('');
|
|
80
|
+
return log(['+', 'Cleared cache & lock-files'], system_1.LogLevel.system);
|
|
81
|
+
default:
|
|
82
|
+
log(['!', 'Invalid command. Try ts-patch /? for more info'], system_1.LogLevel.system);
|
|
83
|
+
}
|
|
84
|
+
})();
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
log([
|
|
88
|
+
'!',
|
|
89
|
+
chalk_1.default.bold.yellow(e.name && (e.name !== 'Error') ? `[${e.name}]: ` : 'Error: ') + chalk_1.default.red(e.message)
|
|
90
|
+
], system_1.LogLevel.system);
|
|
91
|
+
}
|
|
92
|
+
// Output for analysis by tests
|
|
93
|
+
return ({ cmd, args, options });
|
|
94
|
+
}
|
|
95
|
+
// endregion
|
|
96
|
+
//# sourceMappingURL=cli.js.map
|
package/cli/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../projects/core/src/cli/cli.ts"],"names":[],"mappings":"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"}
|
package/cli/commands.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.cliCommandsConfig = void 0;
|
|
7
|
+
exports.getCliCommand = getCliCommand;
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
/* ****************************************************************************************************************** */
|
|
10
|
+
// region: Config
|
|
11
|
+
/* ****************************************************************************************************************** */
|
|
12
|
+
/** @internal */
|
|
13
|
+
exports.cliCommandsConfig = {
|
|
14
|
+
install: { short: 'i', caption: `Installs ts-patch (to main libraries)` },
|
|
15
|
+
uninstall: { short: 'u', caption: 'Restores original typescript files' },
|
|
16
|
+
check: {
|
|
17
|
+
short: 'c', caption: `Check patch status (use with ${chalk_1.default.cyanBright('--dir')} to specify TS package location)`
|
|
18
|
+
},
|
|
19
|
+
patch: {
|
|
20
|
+
short: void 0, paramCaption: '<module_file> | <glob>', caption: 'Patch specific module(s) ' + chalk_1.default.yellow('(advanced)')
|
|
21
|
+
},
|
|
22
|
+
unpatch: {
|
|
23
|
+
short: void 0, paramCaption: '<module_file> | <glob>', caption: 'Un-patch specific module(s) ' + chalk_1.default.yellow('(advanced)')
|
|
24
|
+
},
|
|
25
|
+
'clear-cache': { caption: 'Clears cache and lock-files' },
|
|
26
|
+
version: { short: 'v', caption: 'Show version' },
|
|
27
|
+
help: { short: '/?', caption: 'Show help menu' },
|
|
28
|
+
};
|
|
29
|
+
// endregion
|
|
30
|
+
/* ****************************************************************************************************************** */
|
|
31
|
+
// region: Utils
|
|
32
|
+
/* ****************************************************************************************************************** */
|
|
33
|
+
function getCliCommand(args) {
|
|
34
|
+
let cmd = args._[0] ? args._[0].toLowerCase() : void 0;
|
|
35
|
+
/* Handle special cases */
|
|
36
|
+
if ((args.v) && (!cmd))
|
|
37
|
+
return 'version';
|
|
38
|
+
if (args.h)
|
|
39
|
+
return 'help';
|
|
40
|
+
if (!cmd)
|
|
41
|
+
return cmd;
|
|
42
|
+
/* Get long command */
|
|
43
|
+
cmd = Object
|
|
44
|
+
.entries(exports.cliCommandsConfig)
|
|
45
|
+
.find(([long, { short }]) => long === cmd || short === cmd)?.[0];
|
|
46
|
+
return cmd;
|
|
47
|
+
}
|
|
48
|
+
// endregion
|
|
49
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../projects/core/src/cli/commands.ts"],"names":[],"mappings":";;;;;;AAqCA,sCAeC;AApDD,kDAA0B;AAK1B,wHAAwH;AACxH,iBAAiB;AACjB,wHAAwH;AAExH,gBAAgB;AACH,QAAA,iBAAiB,GAAc;IAC1C,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,uCAAuC,EAAE;IACzE,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,oCAAoC,EAAE;IACxE,KAAK,EAAE;QACL,KAAK,EAAE,GAAG,EAAE,OAAO,EACjB,gCAAgC,eAAK,CAAC,UAAU,CAAC,OAAO,CAAC,kCAAkC;KAC9F;IACD,KAAK,EAAE;QACL,KAAK,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,wBAAwB,EAAE,OAAO,EAC5D,2BAA2B,GAAG,eAAK,CAAC,MAAM,CAAC,YAAY,CAAC;KAC3D;IACD,OAAO,EAAE;QACP,KAAK,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,wBAAwB,EAAE,OAAO,EAC5D,8BAA8B,GAAG,eAAK,CAAC,MAAM,CAAC,YAAY,CAAC;KAC9D;IACD,aAAa,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;IACzD,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE;IAChD,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE;CACjD,CAAC;AAEF,YAAY;AAGZ,wHAAwH;AACxH,gBAAgB;AAChB,wHAAwH;AAExH,SAAgB,aAAa,CAAC,IAAyB;IACrD,IAAI,GAAG,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAE3E,0BAA0B;IAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,IAAI,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAE1B,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IAErB,sBAAsB;IACtB,GAAG,GAAG,MAAM;SACT,OAAO,CAAC,yBAAiB,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAE,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,YAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getHelpMenu(): string;
|