@opcat-labs/scrypt-ts-transpiler-opcat 1.0.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/dist/compile/compilerWrapper.d.ts +203 -0
- package/dist/compile/compilerWrapper.d.ts.map +1 -0
- package/dist/compile/compilerWrapper.js +1019 -0
- package/dist/compile/compilerWrapper.js.map +1 -0
- package/dist/compile/findCompiler.d.ts +3 -0
- package/dist/compile/findCompiler.d.ts.map +1 -0
- package/dist/compile/findCompiler.js +102 -0
- package/dist/compile/findCompiler.js.map +1 -0
- package/dist/compile/getBinary.d.ts +3 -0
- package/dist/compile/getBinary.d.ts.map +1 -0
- package/dist/compile/getBinary.js +94 -0
- package/dist/compile/getBinary.js.map +1 -0
- package/dist/debug.d.ts +25 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/debug.js +110 -0
- package/dist/debug.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +110 -0
- package/dist/index.js.map +1 -0
- package/dist/indexer.d.ts +52 -0
- package/dist/indexer.d.ts.map +1 -0
- package/dist/indexer.js +189 -0
- package/dist/indexer.js.map +1 -0
- package/dist/relinker.d.ts +44 -0
- package/dist/relinker.d.ts.map +1 -0
- package/dist/relinker.js +321 -0
- package/dist/relinker.js.map +1 -0
- package/dist/resolver.d.ts +3 -0
- package/dist/resolver.d.ts.map +1 -0
- package/dist/resolver.js +280 -0
- package/dist/resolver.js.map +1 -0
- package/dist/scryptParser.d.ts +31 -0
- package/dist/scryptParser.d.ts.map +1 -0
- package/dist/scryptParser.js +372 -0
- package/dist/scryptParser.js.map +1 -0
- package/dist/snippets.d.ts +39 -0
- package/dist/snippets.d.ts.map +1 -0
- package/dist/snippets.js +54 -0
- package/dist/snippets.js.map +1 -0
- package/dist/transpiler.d.ts +314 -0
- package/dist/transpiler.d.ts.map +1 -0
- package/dist/transpiler.js +4239 -0
- package/dist/transpiler.js.map +1 -0
- package/dist/types.d.ts +33 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +31 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +23 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +352 -0
- package/dist/utils.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compilerWrapper.js","sourceRoot":"","sources":["../../src/compile/compilerWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findCompiler.d.ts","sourceRoot":"","sources":["../../src/compile/findCompiler.ts"],"names":[],"mappings":"AAWA,wBAAgB,kBAAkB,IAAI,MAAM,CAW3C;AA8BD,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAkCjD"}
|
|
@@ -0,0 +1,102 @@
|
|
|
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.findCompiler = exports.getPlatformScryptc = void 0;
|
|
30
|
+
const child_process_1 = require("child_process");
|
|
31
|
+
const fs_1 = require("fs");
|
|
32
|
+
const minimist_1 = __importDefault(require("minimist"));
|
|
33
|
+
const os = __importStar(require("os"));
|
|
34
|
+
const path_1 = require("path");
|
|
35
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
36
|
+
function showNoCompilerFound() {
|
|
37
|
+
console.info(`${chalk_1.default.yellow.bold('**WARNING**: No sCrypt compiler found.')}`);
|
|
38
|
+
}
|
|
39
|
+
function getPlatformScryptc() {
|
|
40
|
+
switch (os.platform()) {
|
|
41
|
+
case 'win32':
|
|
42
|
+
return 'compiler/scryptc/win32/scryptc.exe';
|
|
43
|
+
case 'linux':
|
|
44
|
+
return 'compiler/scryptc/linux/scryptc';
|
|
45
|
+
case 'darwin':
|
|
46
|
+
return 'compiler/scryptc/mac/scryptc';
|
|
47
|
+
default:
|
|
48
|
+
throw `sCrypt doesn't support ${os.platform()}`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.getPlatformScryptc = getPlatformScryptc;
|
|
52
|
+
function find_compiler_local(directory = __dirname) {
|
|
53
|
+
const compiler = (0, path_1.resolve)(directory, 'compiler');
|
|
54
|
+
if ((0, fs_1.existsSync)(compiler) && (0, fs_1.statSync)(compiler).isDirectory()) {
|
|
55
|
+
const scryptc = (0, path_1.join)(compiler, '..', getPlatformScryptc());
|
|
56
|
+
return (0, fs_1.existsSync)(scryptc) ? scryptc : undefined;
|
|
57
|
+
}
|
|
58
|
+
const parent = (0, path_1.resolve)(directory, '..');
|
|
59
|
+
if (parent === directory) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
return find_compiler_local(parent);
|
|
63
|
+
}
|
|
64
|
+
function find_compiler_PATH() {
|
|
65
|
+
const isWin = os.platform().indexOf('win') > -1;
|
|
66
|
+
const where = isWin ? 'where' : 'which';
|
|
67
|
+
try {
|
|
68
|
+
const scryptc = (0, child_process_1.execSync)(`${where} scryptc`, { stdio: [] }).toString();
|
|
69
|
+
return scryptc.replace(/\r\n/g, '');
|
|
70
|
+
}
|
|
71
|
+
catch (_) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Searches known directories for a specific platform and returns Path object of the sCrypt compiler binary if found.
|
|
76
|
+
function findCompiler() {
|
|
77
|
+
const argv = (0, minimist_1.default)(process.argv.slice(2));
|
|
78
|
+
let scryptc = argv.scryptc;
|
|
79
|
+
if (scryptc && scryptc.startsWith('"') && scryptc.endsWith('"')) {
|
|
80
|
+
scryptc = scryptc.substring(1, scryptc.length - 1);
|
|
81
|
+
}
|
|
82
|
+
// If a special compiler is specified on the command line, the specified compiler is used
|
|
83
|
+
if (scryptc && (0, fs_1.existsSync)(scryptc)) {
|
|
84
|
+
return scryptc;
|
|
85
|
+
}
|
|
86
|
+
// special compiler by Enviroment Variables
|
|
87
|
+
if (process.env.SCRYPTC && (0, fs_1.existsSync)(process.env.SCRYPTC)) {
|
|
88
|
+
return process.env.SCRYPTC;
|
|
89
|
+
}
|
|
90
|
+
scryptc = find_compiler_local();
|
|
91
|
+
if (scryptc && (0, fs_1.existsSync)(scryptc)) {
|
|
92
|
+
return scryptc;
|
|
93
|
+
}
|
|
94
|
+
scryptc = find_compiler_PATH();
|
|
95
|
+
if (scryptc && (0, fs_1.existsSync)(scryptc)) {
|
|
96
|
+
return scryptc;
|
|
97
|
+
}
|
|
98
|
+
showNoCompilerFound(); // TODO: change to download compiler
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
exports.findCompiler = findCompiler;
|
|
102
|
+
//# sourceMappingURL=findCompiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findCompiler.js","sourceRoot":"","sources":["../../src/compile/findCompiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBinary.d.ts","sourceRoot":"","sources":["../../src/compile/getBinary.ts"],"names":[],"mappings":"AAeA,wBAAgB,mBAAmB,CAAC,GAAG,KAAA,UAMtC;AAED,eAAO,MAAM,SAAS,aAAoB,MAAM,kBA+E/C,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
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.getBinary = exports.safeCompilerVersion = void 0;
|
|
7
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
8
|
+
const os_1 = require("os");
|
|
9
|
+
const path_1 = require("path");
|
|
10
|
+
const fs_1 = require("fs");
|
|
11
|
+
const compilerWrapper_1 = require("./compilerWrapper");
|
|
12
|
+
const findCompiler_1 = require("./findCompiler");
|
|
13
|
+
const get_proxy_settings_1 = require("get-proxy-settings");
|
|
14
|
+
const https_proxy_agent_1 = require("https-proxy-agent");
|
|
15
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
16
|
+
const util_1 = require("util");
|
|
17
|
+
const stream_1 = require("stream");
|
|
18
|
+
const DEFAULT_COMPILER_VERSION = '1.21.0';
|
|
19
|
+
function safeCompilerVersion(cmd) {
|
|
20
|
+
try {
|
|
21
|
+
return (0, compilerWrapper_1.compilerVersion)(cmd);
|
|
22
|
+
}
|
|
23
|
+
catch (_) {
|
|
24
|
+
return '0.0.0';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.safeCompilerVersion = safeCompilerVersion;
|
|
28
|
+
const getBinary = async (version) => {
|
|
29
|
+
const architecture = (0, os_1.arch)();
|
|
30
|
+
let FILENAME = 'Windows-AMD64.exe';
|
|
31
|
+
version = version || DEFAULT_COMPILER_VERSION;
|
|
32
|
+
const proxy = await (0, get_proxy_settings_1.getProxySettings)();
|
|
33
|
+
if (version === 'latest') {
|
|
34
|
+
const fromAPI = await (0, node_fetch_1.default)('https://api.github.com/repos/scrypt-inc/compiler_dist/releases', proxy !== null && proxy.https ? { agent: new https_proxy_agent_1.HttpsProxyAgent(proxy.https.toString()) } : {});
|
|
35
|
+
const res = await fromAPI.json();
|
|
36
|
+
if (res && res[0] && res[0].tag_name) {
|
|
37
|
+
version = res[0].tag_name.substring(1);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.info(`${chalk_1.default.green.bold(`
|
|
41
|
+
${chalk_1.default.grey.bold('x')}`)}`, `fetch latest sCrypt compiler version failed, using default version: ${DEFAULT_COMPILER_VERSION}`);
|
|
42
|
+
version = DEFAULT_COMPILER_VERSION;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if ((0, os_1.platform)() === 'linux') {
|
|
46
|
+
if (architecture == 'arm64') {
|
|
47
|
+
FILENAME = 'Linux-aarch64';
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
FILENAME = 'Linux-x86_64';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else if ((0, os_1.platform)() === 'darwin') {
|
|
54
|
+
FILENAME = 'macOS-x86_64';
|
|
55
|
+
}
|
|
56
|
+
const streamPipeline = (0, util_1.promisify)(stream_1.pipeline);
|
|
57
|
+
const urlCompiler = `https://github.com/sCrypt-Inc/compiler_dist/releases/download/v${version}/scryptc-${version}-${FILENAME}`;
|
|
58
|
+
const filePathCompiler = (0, path_1.join)(__dirname, (0, findCompiler_1.getPlatformScryptc)());
|
|
59
|
+
const dirCompiler = (0, path_1.dirname)(filePathCompiler);
|
|
60
|
+
if (!(0, fs_1.existsSync)(dirCompiler)) {
|
|
61
|
+
(0, fs_1.mkdirSync)(dirCompiler, { recursive: true });
|
|
62
|
+
}
|
|
63
|
+
console.info(`${chalk_1.default.yellow.bold(`
|
|
64
|
+
${chalk_1.default.grey('•')}`, `Downloading sCrypt compiler: ${version} ...`)}`);
|
|
65
|
+
try {
|
|
66
|
+
const fromRelease = await (0, node_fetch_1.default)(urlCompiler, proxy !== null && proxy.https
|
|
67
|
+
? {
|
|
68
|
+
agent: new https_proxy_agent_1.HttpsProxyAgent(proxy.https.toString()),
|
|
69
|
+
}
|
|
70
|
+
: {});
|
|
71
|
+
if (!fromRelease.ok || !fromRelease.body) {
|
|
72
|
+
showDownloadFailed();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
await streamPipeline(fromRelease.body, (0, fs_1.createWriteStream)(filePathCompiler));
|
|
77
|
+
(0, fs_1.chmodSync)(filePathCompiler, '755');
|
|
78
|
+
console.info(`${chalk_1.default.green.bold(`
|
|
79
|
+
${chalk_1.default.green('✔')}`)}`, chalk_1.default.green.bold(`Successfully downloaded. File Path: ${filePathCompiler}`));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (_) {
|
|
83
|
+
showDownloadFailed();
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
exports.getBinary = getBinary;
|
|
87
|
+
function showDownloadFailed() {
|
|
88
|
+
console.info(`${chalk_1.default.bgRed.bold('**ERROR**: Downloading sCrypt compiler failed.')}`);
|
|
89
|
+
console.info(`Go to ${chalk_1.default.blue.bold('https://github.com/sCrypt-Inc/compiler_dist/releases')} to download sCrypt compiler.\n`);
|
|
90
|
+
}
|
|
91
|
+
if (require.main === module) {
|
|
92
|
+
(0, exports.getBinary)();
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=getBinary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBinary.js","sourceRoot":"","sources":["../../src/compile/getBinary.ts"],"names":[],"mappings":"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"}
|
package/dist/debug.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import ts, { SortedReadonlyArray } from 'typescript';
|
|
2
|
+
export declare const enum Comparison {
|
|
3
|
+
LessThan = -1,
|
|
4
|
+
EqualTo = 0,
|
|
5
|
+
GreaterThan = 1
|
|
6
|
+
}
|
|
7
|
+
export type Comparer<T> = (a: T, b: T) => Comparison;
|
|
8
|
+
export declare function indicesOf(array: readonly unknown[]): number[];
|
|
9
|
+
/**
|
|
10
|
+
* Stable sort of an array. Elements equal to each other maintain their relative position in the array.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function stableSort<T>(array: readonly T[], comparer: Comparer<T>): SortedReadonlyArray<T>;
|
|
15
|
+
/**
|
|
16
|
+
* Compare two numeric values for their order relative to each other.
|
|
17
|
+
* To compare strings, use any of the `compareStrings` functions.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export declare function compareValues(a: number | undefined, b: number | undefined): Comparison;
|
|
22
|
+
export declare function formatEnum(value: number, enumObject: object, isFlags?: boolean): string;
|
|
23
|
+
export declare function formatTypeFlags(flags: ts.TypeFlags | undefined): string;
|
|
24
|
+
export declare function formatObjectFlags(flags: ts.ObjectFlags | undefined): string;
|
|
25
|
+
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,mBAAmB,EAAe,MAAM,YAAY,CAAC;AAElE,0BAAkB,UAAU;IAC1B,QAAQ,KAAK;IACb,OAAO,IAAI;IACX,WAAW,IAAI;CAChB;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC;AAQrD,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,CAE7D;AAOD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAIhG;AAgBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAEtF;AAwBD,wBAAgB,UAAU,CAAC,KAAK,QAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,UA4B1E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,GAAG,SAAS,GAAG,MAAM,CAEvE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,GAAG,SAAS,GAAG,MAAM,CAE3E"}
|
package/dist/debug.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
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.formatObjectFlags = exports.formatTypeFlags = exports.formatEnum = exports.compareValues = exports.stableSort = exports.indicesOf = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const enumMemberCache = new Map();
|
|
9
|
+
function selectIndex(_, i) {
|
|
10
|
+
return i;
|
|
11
|
+
}
|
|
12
|
+
function indicesOf(array) {
|
|
13
|
+
return array.map(selectIndex);
|
|
14
|
+
}
|
|
15
|
+
exports.indicesOf = indicesOf;
|
|
16
|
+
function stableSortIndices(array, indices, comparer) {
|
|
17
|
+
// sort indices by value then position
|
|
18
|
+
indices.sort((x, y) => comparer(array[x], array[y]) || compareValues(x, y));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Stable sort of an array. Elements equal to each other maintain their relative position in the array.
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
function stableSort(array, comparer) {
|
|
26
|
+
const indices = indicesOf(array);
|
|
27
|
+
stableSortIndices(array, indices, comparer);
|
|
28
|
+
return indices.map((i) => array[i]);
|
|
29
|
+
}
|
|
30
|
+
exports.stableSort = stableSort;
|
|
31
|
+
function compareComparableValues(a, b) {
|
|
32
|
+
return a === b
|
|
33
|
+
? 0 /* Comparison.EqualTo */
|
|
34
|
+
: a === undefined
|
|
35
|
+
? -1 /* Comparison.LessThan */
|
|
36
|
+
: b === undefined
|
|
37
|
+
? 1 /* Comparison.GreaterThan */
|
|
38
|
+
: a < b
|
|
39
|
+
? -1 /* Comparison.LessThan */
|
|
40
|
+
: 1 /* Comparison.GreaterThan */;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Compare two numeric values for their order relative to each other.
|
|
44
|
+
* To compare strings, use any of the `compareStrings` functions.
|
|
45
|
+
*
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
function compareValues(a, b) {
|
|
49
|
+
return compareComparableValues(a, b);
|
|
50
|
+
}
|
|
51
|
+
exports.compareValues = compareValues;
|
|
52
|
+
function getEnumMembers(enumObject) {
|
|
53
|
+
// Assuming enum objects do not change at runtime, we can cache the enum members list
|
|
54
|
+
// to reuse later. This saves us from reconstructing this each and every time we call
|
|
55
|
+
// a formatting function (which can be expensive for large enums like SyntaxKind).
|
|
56
|
+
const existing = enumMemberCache.get(enumObject);
|
|
57
|
+
if (existing) {
|
|
58
|
+
return existing;
|
|
59
|
+
}
|
|
60
|
+
const result = [];
|
|
61
|
+
for (const name in enumObject) {
|
|
62
|
+
const value = enumObject[name];
|
|
63
|
+
if (typeof value === 'number') {
|
|
64
|
+
result.push([value, name]);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const sorted = stableSort(result, (x, y) => compareValues(x[0], y[0]));
|
|
68
|
+
enumMemberCache.set(enumObject, sorted);
|
|
69
|
+
return sorted;
|
|
70
|
+
}
|
|
71
|
+
function formatEnum(value = 0, enumObject, isFlags) {
|
|
72
|
+
const members = getEnumMembers(enumObject);
|
|
73
|
+
if (value === 0) {
|
|
74
|
+
return members.length > 0 && members[0][0] === 0 ? members[0][1] : '0';
|
|
75
|
+
}
|
|
76
|
+
if (isFlags) {
|
|
77
|
+
const result = [];
|
|
78
|
+
let remainingFlags = value;
|
|
79
|
+
for (const [enumValue, enumName] of members) {
|
|
80
|
+
if (enumValue > value) {
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
if (enumValue !== 0 && enumValue & value) {
|
|
84
|
+
result.push(enumName);
|
|
85
|
+
remainingFlags &= ~enumValue;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (remainingFlags === 0) {
|
|
89
|
+
return result.join('|');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
for (const [enumValue, enumName] of members) {
|
|
94
|
+
if (enumValue === value) {
|
|
95
|
+
return enumName;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return value.toString();
|
|
100
|
+
}
|
|
101
|
+
exports.formatEnum = formatEnum;
|
|
102
|
+
function formatTypeFlags(flags) {
|
|
103
|
+
return formatEnum(flags, typescript_1.default.TypeFlags, /*isFlags*/ true);
|
|
104
|
+
}
|
|
105
|
+
exports.formatTypeFlags = formatTypeFlags;
|
|
106
|
+
function formatObjectFlags(flags) {
|
|
107
|
+
return formatEnum(flags, typescript_1.default.ObjectFlags, /*isFlags*/ true);
|
|
108
|
+
}
|
|
109
|
+
exports.formatObjectFlags = formatObjectFlags;
|
|
110
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import { PluginConfig, ProgramTransformerExtras } from 'ts-patch';
|
|
3
|
+
/***
|
|
4
|
+
* @ignore
|
|
5
|
+
*/
|
|
6
|
+
export default function transformProgram(program: ts.Program, host: ts.CompilerHost | undefined, pluginOptions: PluginConfig, { ts: tsInstance }: ProgramTransformerExtras): ts.Program;
|
|
7
|
+
export { Indexer, Symbol, readArtifact } from './indexer';
|
|
8
|
+
export * from './compile/findCompiler';
|
|
9
|
+
export * from './compile/compilerWrapper';
|
|
10
|
+
export * from './compile/getBinary';
|
|
11
|
+
export * from './resolver';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAgBlE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,IAAI,EAAE,EAAE,CAAC,YAAY,GAAG,SAAS,EACjC,aAAa,EAAE,YAAY,EAC3B,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,wBAAwB,GAC3C,EAAE,CAAC,OAAO,CAwCZ;AAiDD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE1D,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.readArtifact = exports.Indexer = void 0;
|
|
30
|
+
const path = __importStar(require("path"));
|
|
31
|
+
const indexer_1 = require("./indexer");
|
|
32
|
+
const transpiler_1 = require("./transpiler");
|
|
33
|
+
const fs_1 = require("fs");
|
|
34
|
+
const fs_2 = require("fs");
|
|
35
|
+
const relinker_1 = require("./relinker");
|
|
36
|
+
/***
|
|
37
|
+
* @ignore
|
|
38
|
+
*/
|
|
39
|
+
const allMissImportedLocalSymbols = new Map();
|
|
40
|
+
/***
|
|
41
|
+
* @ignore
|
|
42
|
+
*/
|
|
43
|
+
const allContractsAST = new Map();
|
|
44
|
+
let relinker = null;
|
|
45
|
+
/***
|
|
46
|
+
* @ignore
|
|
47
|
+
*/
|
|
48
|
+
function transformProgram(program, host, pluginOptions, { ts: tsInstance }) {
|
|
49
|
+
const compilerOptions = program.getCompilerOptions();
|
|
50
|
+
let tsconfigDir = process.env['TS_NODE_PROJECT']
|
|
51
|
+
? path.dirname(process.env['TS_NODE_PROJECT'])
|
|
52
|
+
: '.';
|
|
53
|
+
tsconfigDir = path.isAbsolute(tsconfigDir)
|
|
54
|
+
? tsconfigDir
|
|
55
|
+
: path.join(program.getCurrentDirectory(), tsconfigDir);
|
|
56
|
+
const tsRootDir = program.getCompilerOptions().rootDir ?? tsconfigDir;
|
|
57
|
+
const jsOutDir = program.getCompilerOptions().outDir ?? tsconfigDir;
|
|
58
|
+
const scryptOutDir = pluginOptions.outDir
|
|
59
|
+
? path.join(tsconfigDir, pluginOptions.outDir)
|
|
60
|
+
: jsOutDir;
|
|
61
|
+
if (pluginOptions.debug) {
|
|
62
|
+
console.log('activate scrypt-ts transformer plugin');
|
|
63
|
+
console.log('transformer loaded with options:', pluginOptions, '\n');
|
|
64
|
+
console.log(Array(20).fill('*').join(''), 'path context', Array(20).fill('*').join(''));
|
|
65
|
+
console.log(`tsRootDir: ${tsRootDir}\ntsconfigDir: ${tsconfigDir}\njsOutDir: ${jsOutDir}\nscryptOutDir: ${scryptOutDir}`);
|
|
66
|
+
console.log(Array(50).fill('*').join(''), '\n');
|
|
67
|
+
}
|
|
68
|
+
const tplOutDir = path.join(scryptOutDir, relinker_1.TEMPLATE_FOLDER_NAME);
|
|
69
|
+
if (!(0, fs_2.existsSync)(tplOutDir)) {
|
|
70
|
+
(0, fs_1.mkdirSync)(tplOutDir, { recursive: true });
|
|
71
|
+
}
|
|
72
|
+
const indexer = indexer_1.Indexer.create(tsconfigDir, tplOutDir);
|
|
73
|
+
const checker = program.getTypeChecker();
|
|
74
|
+
/* Apply the transformation */
|
|
75
|
+
tsInstance.transform(program.getSourceFiles(), [transformFile.bind(tsInstance, host, checker, tsRootDir, tplOutDir, indexer)], compilerOptions);
|
|
76
|
+
return program;
|
|
77
|
+
}
|
|
78
|
+
exports.default = transformProgram;
|
|
79
|
+
function transformFile(host, checker, tsRootDir, tplOutDir, indexer, ctx) {
|
|
80
|
+
return (sourceFile) => {
|
|
81
|
+
// skip declaration files of *.d.ts
|
|
82
|
+
if (sourceFile.fileName.endsWith('.d.ts')) {
|
|
83
|
+
return sourceFile;
|
|
84
|
+
}
|
|
85
|
+
const compilerOptions = ctx.getCompilerOptions();
|
|
86
|
+
if (!relinker) {
|
|
87
|
+
relinker = new relinker_1.Relinker(process.cwd(), indexer.scryptBasePath);
|
|
88
|
+
}
|
|
89
|
+
const transpiler = new transpiler_1.Transpiler(sourceFile, host, checker, tsRootDir, tplOutDir, // output to .templates dir
|
|
90
|
+
indexer, compilerOptions);
|
|
91
|
+
if (!transpiler.isTransformable()) {
|
|
92
|
+
return sourceFile;
|
|
93
|
+
}
|
|
94
|
+
transpiler.transform(allMissImportedLocalSymbols, relinker);
|
|
95
|
+
const scComponents = transpiler.getSCComponents();
|
|
96
|
+
// TODO: process duplicated names.
|
|
97
|
+
scComponents.forEach((cls) => {
|
|
98
|
+
allContractsAST.set(cls.name.getText(), cls);
|
|
99
|
+
});
|
|
100
|
+
return sourceFile;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
var indexer_2 = require("./indexer");
|
|
104
|
+
Object.defineProperty(exports, "Indexer", { enumerable: true, get: function () { return indexer_2.Indexer; } });
|
|
105
|
+
Object.defineProperty(exports, "readArtifact", { enumerable: true, get: function () { return indexer_2.readArtifact; } });
|
|
106
|
+
__exportStar(require("./compile/findCompiler"), exports);
|
|
107
|
+
__exportStar(require("./compile/compilerWrapper"), exports);
|
|
108
|
+
__exportStar(require("./compile/getBinary"), exports);
|
|
109
|
+
__exportStar(require("./resolver"), exports);
|
|
110
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|