@napi-rs/cli 3.0.0-alpha.90 → 3.0.0-alpha.91
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/cli.js +3867 -15
- package/dist/index.cjs +9173 -8790
- package/dist/index.js +3618 -32
- package/package.json +10 -8
- package/dist/api/__tests__/new.spec.js +0 -283
- package/dist/api/__tests__/new.spec.js.map +0 -1
- package/dist/api/artifacts.js +0 -74
- package/dist/api/artifacts.js.map +0 -1
- package/dist/api/build.js +0 -707
- package/dist/api/build.js.map +0 -1
- package/dist/api/create-npm-dirs.js +0 -101
- package/dist/api/create-npm-dirs.js.map +0 -1
- package/dist/api/new.js +0 -360
- package/dist/api/new.js.map +0 -1
- package/dist/api/pre-publish.js +0 -160
- package/dist/api/pre-publish.js.map +0 -1
- package/dist/api/rename.js +0 -91
- package/dist/api/rename.js.map +0 -1
- package/dist/api/templates/.gitignore.js +0 -200
- package/dist/api/templates/.gitignore.js.map +0 -1
- package/dist/api/templates/.npmignore.js +0 -15
- package/dist/api/templates/.npmignore.js.map +0 -1
- package/dist/api/templates/build.rs.js +0 -5
- package/dist/api/templates/build.rs.js.map +0 -1
- package/dist/api/templates/cargo.toml.js +0 -27
- package/dist/api/templates/cargo.toml.js.map +0 -1
- package/dist/api/templates/ci-template.js +0 -593
- package/dist/api/templates/ci-template.js.map +0 -1
- package/dist/api/templates/ci.yml.js +0 -115
- package/dist/api/templates/ci.yml.js.map +0 -1
- package/dist/api/templates/index.js +0 -9
- package/dist/api/templates/index.js.map +0 -1
- package/dist/api/templates/js-binding.js +0 -213
- package/dist/api/templates/js-binding.js.map +0 -1
- package/dist/api/templates/lib.rs.js +0 -8
- package/dist/api/templates/lib.rs.js.map +0 -1
- package/dist/api/templates/load-wasi-template.js +0 -168
- package/dist/api/templates/load-wasi-template.js.map +0 -1
- package/dist/api/templates/package.json.js +0 -54
- package/dist/api/templates/package.json.js.map +0 -1
- package/dist/api/templates/wasi-worker-template.js +0 -122
- package/dist/api/templates/wasi-worker-template.js.map +0 -1
- package/dist/api/universalize.js +0 -39
- package/dist/api/universalize.js.map +0 -1
- package/dist/api/version.js +0 -17
- package/dist/api/version.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/commands/artifacts.js +0 -20
- package/dist/commands/artifacts.js.map +0 -1
- package/dist/commands/build.js +0 -35
- package/dist/commands/build.js.map +0 -1
- package/dist/commands/create-npm-dirs.js +0 -8
- package/dist/commands/create-npm-dirs.js.map +0 -1
- package/dist/commands/help.js +0 -13
- package/dist/commands/help.js.map +0 -1
- package/dist/commands/new.js +0 -110
- package/dist/commands/new.js.map +0 -1
- package/dist/commands/pre-publish.js +0 -9
- package/dist/commands/pre-publish.js.map +0 -1
- package/dist/commands/rename.js +0 -8
- package/dist/commands/rename.js.map +0 -1
- package/dist/commands/universalize.js +0 -8
- package/dist/commands/universalize.js.map +0 -1
- package/dist/commands/version.js +0 -8
- package/dist/commands/version.js.map +0 -1
- package/dist/def/artifacts.js +0 -47
- package/dist/def/artifacts.js.map +0 -1
- package/dist/def/build.js +0 -140
- package/dist/def/build.js.map +0 -1
- package/dist/def/create-npm-dirs.js +0 -43
- package/dist/def/create-npm-dirs.js.map +0 -1
- package/dist/def/new.js +0 -77
- package/dist/def/new.js.map +0 -1
- package/dist/def/pre-publish.js +0 -61
- package/dist/def/pre-publish.js.map +0 -1
- package/dist/def/rename.js +0 -63
- package/dist/def/rename.js.map +0 -1
- package/dist/def/universalize.js +0 -38
- package/dist/def/universalize.js.map +0 -1
- package/dist/def/version.js +0 -38
- package/dist/def/version.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/utils/__tests__/config.spec.js +0 -63
- package/dist/utils/__tests__/config.spec.js.map +0 -1
- package/dist/utils/__tests__/target.spec.js +0 -11
- package/dist/utils/__tests__/target.spec.js.map +0 -1
- package/dist/utils/__tests__/typegen.spec.js +0 -42
- package/dist/utils/__tests__/typegen.spec.js.map +0 -1
- package/dist/utils/__tests__/version.spec.js +0 -6
- package/dist/utils/__tests__/version.spec.js.map +0 -1
- package/dist/utils/cargo.js +0 -34
- package/dist/utils/cargo.js.map +0 -1
- package/dist/utils/config.js +0 -75
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/index.js +0 -10
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/log.js +0 -15
- package/dist/utils/log.js.map +0 -1
- package/dist/utils/metadata.js +0 -40
- package/dist/utils/metadata.js.map +0 -1
- package/dist/utils/misc.js +0 -43
- package/dist/utils/misc.js.map +0 -1
- package/dist/utils/read-config.js +0 -8
- package/dist/utils/read-config.js.map +0 -1
- package/dist/utils/target.js +0 -135
- package/dist/utils/target.js.map +0 -1
- package/dist/utils/typegen.js +0 -210
- package/dist/utils/typegen.js.map +0 -1
- package/dist/utils/version.js +0 -62
- package/dist/utils/version.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"read-config.js","sourceRoot":"","sources":["../../src/utils/read-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAQ5C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA2B;IAC1D,MAAM,WAAW,GAAG,CAAC,GAAG,KAAe,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;IAC1E,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,WAAW,CACT,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,eAAe,IAAI,cAAc,CAChE,EACD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CACjE,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/utils/target.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { execSync } from 'node:child_process';
|
|
2
|
-
export const UNIVERSAL_TARGETS = {
|
|
3
|
-
'universal-apple-darwin': ['aarch64-apple-darwin', 'x86_64-apple-darwin'],
|
|
4
|
-
};
|
|
5
|
-
export const AVAILABLE_TARGETS = [
|
|
6
|
-
'aarch64-apple-darwin',
|
|
7
|
-
'aarch64-linux-android',
|
|
8
|
-
'aarch64-unknown-linux-gnu',
|
|
9
|
-
'aarch64-unknown-linux-musl',
|
|
10
|
-
'aarch64-pc-windows-msvc',
|
|
11
|
-
'x86_64-apple-darwin',
|
|
12
|
-
'x86_64-pc-windows-msvc',
|
|
13
|
-
'x86_64-unknown-linux-gnu',
|
|
14
|
-
'x86_64-unknown-linux-musl',
|
|
15
|
-
'x86_64-unknown-freebsd',
|
|
16
|
-
'i686-pc-windows-msvc',
|
|
17
|
-
'armv7-unknown-linux-gnueabihf',
|
|
18
|
-
'armv7-unknown-linux-musleabihf',
|
|
19
|
-
'armv7-linux-androideabi',
|
|
20
|
-
'universal-apple-darwin',
|
|
21
|
-
'riscv64gc-unknown-linux-gnu',
|
|
22
|
-
'powerpc64le-unknown-linux-gnu',
|
|
23
|
-
's390x-unknown-linux-gnu',
|
|
24
|
-
'wasm32-wasi-preview1-threads',
|
|
25
|
-
];
|
|
26
|
-
export const DEFAULT_TARGETS = [
|
|
27
|
-
'x86_64-apple-darwin',
|
|
28
|
-
'aarch64-apple-darwin',
|
|
29
|
-
'x86_64-pc-windows-msvc',
|
|
30
|
-
'x86_64-unknown-linux-gnu',
|
|
31
|
-
];
|
|
32
|
-
export const TARGET_LINKER = {
|
|
33
|
-
'aarch64-unknown-linux-musl': 'aarch64-linux-musl-gcc',
|
|
34
|
-
'riscv64gc-unknown-linux-gnu': 'riscv64-linux-gnu-gcc',
|
|
35
|
-
'powerpc64le-unknown-linux-gnu': 'powerpc64le-linux-gnu-gcc',
|
|
36
|
-
's390x-unknown-linux-gnu': 's390x-linux-gnu-gcc',
|
|
37
|
-
};
|
|
38
|
-
const CpuToNodeArch = {
|
|
39
|
-
x86_64: 'x64',
|
|
40
|
-
aarch64: 'arm64',
|
|
41
|
-
i686: 'ia32',
|
|
42
|
-
armv7: 'arm',
|
|
43
|
-
riscv64gc: 'riscv64',
|
|
44
|
-
powerpc64le: 'ppc64',
|
|
45
|
-
};
|
|
46
|
-
export const NodeArchToCpu = {
|
|
47
|
-
x64: 'x86_64',
|
|
48
|
-
arm64: 'aarch64',
|
|
49
|
-
ia32: 'i686',
|
|
50
|
-
arm: 'armv7',
|
|
51
|
-
riscv64: 'riscv64gc',
|
|
52
|
-
ppc64: 'powerpc64le',
|
|
53
|
-
};
|
|
54
|
-
const SysToNodePlatform = {
|
|
55
|
-
linux: 'linux',
|
|
56
|
-
freebsd: 'freebsd',
|
|
57
|
-
darwin: 'darwin',
|
|
58
|
-
windows: 'win32',
|
|
59
|
-
};
|
|
60
|
-
export const UniArchsByPlatform = {
|
|
61
|
-
darwin: ['x64', 'arm64'],
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* A triple is a specific format for specifying a target architecture.
|
|
65
|
-
* Triples may be referred to as a target triple which is the architecture for the artifact produced, and the host triple which is the architecture that the compiler is running on.
|
|
66
|
-
* The general format of the triple is `<arch><sub>-<vendor>-<sys>-<abi>` where:
|
|
67
|
-
* - `arch` = The base CPU architecture, for example `x86_64`, `i686`, `arm`, `thumb`, `mips`, etc.
|
|
68
|
-
* - `sub` = The CPU sub-architecture, for example `arm` has `v7`, `v7s`, `v5te`, etc.
|
|
69
|
-
* - `vendor` = The vendor, for example `unknown`, `apple`, `pc`, `nvidia`, etc.
|
|
70
|
-
* - `sys` = The system name, for example `linux`, `windows`, `darwin`, etc. none is typically used for bare-metal without an OS.
|
|
71
|
-
* - `abi` = The ABI, for example `gnu`, `android`, `eabi`, etc.
|
|
72
|
-
*/
|
|
73
|
-
export function parseTriple(rawTriple) {
|
|
74
|
-
if (rawTriple === 'wasm32-wasi' ||
|
|
75
|
-
rawTriple === 'wasm32-wasi-preview1-threads' ||
|
|
76
|
-
rawTriple.startsWith('wasm32-wasip')) {
|
|
77
|
-
return {
|
|
78
|
-
triple: rawTriple,
|
|
79
|
-
platformArchABI: 'wasm32-wasi',
|
|
80
|
-
platform: 'wasi',
|
|
81
|
-
arch: 'wasm32',
|
|
82
|
-
abi: 'wasi',
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
const triple = rawTriple.endsWith('eabi')
|
|
86
|
-
? `${rawTriple.slice(0, -4)}-eabi`
|
|
87
|
-
: rawTriple;
|
|
88
|
-
const triples = triple.split('-');
|
|
89
|
-
let cpu;
|
|
90
|
-
let sys;
|
|
91
|
-
let abi = null;
|
|
92
|
-
if (triples.length === 2) {
|
|
93
|
-
// aarch64-fuchsia
|
|
94
|
-
// ^ cpu ^ sys
|
|
95
|
-
;
|
|
96
|
-
[cpu, sys] = triples;
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
// aarch64-unknown-linux-musl
|
|
100
|
-
// ^ cpu ^ sys ^ abi
|
|
101
|
-
// aarch64-apple-darwin
|
|
102
|
-
// ^ cpu ^ sys (abi is None)
|
|
103
|
-
;
|
|
104
|
-
[cpu, , sys, abi = null] = triples;
|
|
105
|
-
}
|
|
106
|
-
const platform = SysToNodePlatform[sys] ?? sys;
|
|
107
|
-
const arch = CpuToNodeArch[cpu] ?? cpu;
|
|
108
|
-
return {
|
|
109
|
-
triple: rawTriple,
|
|
110
|
-
platformArchABI: abi ? `${platform}-${arch}-${abi}` : `${platform}-${arch}`,
|
|
111
|
-
platform,
|
|
112
|
-
arch,
|
|
113
|
-
abi,
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
export function getSystemDefaultTarget() {
|
|
117
|
-
const host = execSync(`rustc -vV`, {
|
|
118
|
-
env: process.env,
|
|
119
|
-
})
|
|
120
|
-
.toString('utf8')
|
|
121
|
-
.split('\n')
|
|
122
|
-
.find((line) => line.startsWith('host: '));
|
|
123
|
-
const triple = host?.slice('host: '.length);
|
|
124
|
-
if (!triple) {
|
|
125
|
-
throw new TypeError(`Can not parse target triple from host`);
|
|
126
|
-
}
|
|
127
|
-
return parseTriple(triple);
|
|
128
|
-
}
|
|
129
|
-
export function getTargetLinker(target) {
|
|
130
|
-
return TARGET_LINKER[target];
|
|
131
|
-
}
|
|
132
|
-
export function targetToEnvVar(target) {
|
|
133
|
-
return target.replace(/-/g, '_').toUpperCase();
|
|
134
|
-
}
|
|
135
|
-
//# sourceMappingURL=target.js.map
|
package/dist/utils/target.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/utils/target.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/typegen.js
DELETED
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
import { sortBy } from 'lodash-es';
|
|
2
|
-
import { readFileAsync } from './misc.js';
|
|
3
|
-
const TOP_LEVEL_NAMESPACE = '__TOP_LEVEL_MODULE__';
|
|
4
|
-
export const DEFAULT_TYPE_DEF_HEADER = `/* auto-generated by NAPI-RS */
|
|
5
|
-
/* eslint-disable */
|
|
6
|
-
`;
|
|
7
|
-
var TypeDefKind;
|
|
8
|
-
(function (TypeDefKind) {
|
|
9
|
-
TypeDefKind["Const"] = "const";
|
|
10
|
-
TypeDefKind["Enum"] = "enum";
|
|
11
|
-
TypeDefKind["StringEnum"] = "string_enum";
|
|
12
|
-
TypeDefKind["Interface"] = "interface";
|
|
13
|
-
TypeDefKind["Type"] = "type";
|
|
14
|
-
TypeDefKind["Fn"] = "fn";
|
|
15
|
-
TypeDefKind["Struct"] = "struct";
|
|
16
|
-
TypeDefKind["Impl"] = "impl";
|
|
17
|
-
})(TypeDefKind || (TypeDefKind = {}));
|
|
18
|
-
function prettyPrint(line, constEnum, ident, ambient = false) {
|
|
19
|
-
let s = line.js_doc ?? '';
|
|
20
|
-
switch (line.kind) {
|
|
21
|
-
case TypeDefKind.Interface:
|
|
22
|
-
s += `export interface ${line.name} {\n${line.def}\n}`;
|
|
23
|
-
break;
|
|
24
|
-
case TypeDefKind.Type:
|
|
25
|
-
s += `export type ${line.name} = \n${line.def}`;
|
|
26
|
-
break;
|
|
27
|
-
case TypeDefKind.Enum:
|
|
28
|
-
const enumName = constEnum ? 'const enum' : 'enum';
|
|
29
|
-
s += `${exportDeclare(ambient)} ${enumName} ${line.name} {\n${line.def}\n}`;
|
|
30
|
-
break;
|
|
31
|
-
case TypeDefKind.StringEnum:
|
|
32
|
-
if (constEnum) {
|
|
33
|
-
s += `${exportDeclare(ambient)} const enum ${line.name} {\n${line.def}\n}`;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
s += `export type ${line.name} = ${line.def.replaceAll(/.*=/g, '').replaceAll(',', '|')};`;
|
|
37
|
-
}
|
|
38
|
-
break;
|
|
39
|
-
case TypeDefKind.Struct:
|
|
40
|
-
s += `${exportDeclare(ambient)} class ${line.name} {\n${line.def}\n}`;
|
|
41
|
-
if (line.original_name && line.original_name !== line.name) {
|
|
42
|
-
s += `\nexport type ${line.original_name} = ${line.name}`;
|
|
43
|
-
}
|
|
44
|
-
break;
|
|
45
|
-
case TypeDefKind.Fn:
|
|
46
|
-
s += `${exportDeclare(ambient)} ${line.def}`;
|
|
47
|
-
break;
|
|
48
|
-
default:
|
|
49
|
-
s += line.def;
|
|
50
|
-
}
|
|
51
|
-
return correctStringIdent(s, ident);
|
|
52
|
-
}
|
|
53
|
-
function exportDeclare(ambient) {
|
|
54
|
-
if (ambient) {
|
|
55
|
-
return 'export';
|
|
56
|
-
}
|
|
57
|
-
return 'export declare';
|
|
58
|
-
}
|
|
59
|
-
export async function processTypeDef(intermediateTypeFile, constEnum) {
|
|
60
|
-
const exports = [];
|
|
61
|
-
const defs = await readIntermediateTypeFile(intermediateTypeFile);
|
|
62
|
-
const groupedDefs = preprocessTypeDef(defs);
|
|
63
|
-
const dts = sortBy(Array.from(groupedDefs), ([namespace]) => namespace)
|
|
64
|
-
.map(([namespace, defs]) => {
|
|
65
|
-
if (namespace === TOP_LEVEL_NAMESPACE) {
|
|
66
|
-
return defs
|
|
67
|
-
.map((def) => {
|
|
68
|
-
switch (def.kind) {
|
|
69
|
-
case TypeDefKind.Const:
|
|
70
|
-
case TypeDefKind.Enum:
|
|
71
|
-
case TypeDefKind.StringEnum:
|
|
72
|
-
case TypeDefKind.Fn:
|
|
73
|
-
case TypeDefKind.Struct: {
|
|
74
|
-
exports.push(def.name);
|
|
75
|
-
if (def.original_name && def.original_name !== def.name) {
|
|
76
|
-
exports.push(def.original_name);
|
|
77
|
-
}
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
default:
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
return prettyPrint(def, constEnum, 0);
|
|
84
|
-
})
|
|
85
|
-
.join('\n\n');
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
exports.push(namespace);
|
|
89
|
-
let declaration = '';
|
|
90
|
-
declaration += `export declare namespace ${namespace} {\n`;
|
|
91
|
-
for (const def of defs) {
|
|
92
|
-
declaration += prettyPrint(def, constEnum, 2, true) + '\n';
|
|
93
|
-
}
|
|
94
|
-
declaration += '}';
|
|
95
|
-
return declaration;
|
|
96
|
-
}
|
|
97
|
-
})
|
|
98
|
-
.join('\n\n') + '\n';
|
|
99
|
-
return {
|
|
100
|
-
dts,
|
|
101
|
-
exports,
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
async function readIntermediateTypeFile(file) {
|
|
105
|
-
const content = await readFileAsync(file, 'utf8');
|
|
106
|
-
const defs = content
|
|
107
|
-
.split('\n')
|
|
108
|
-
.filter(Boolean)
|
|
109
|
-
.map((line) => {
|
|
110
|
-
line = line.trim();
|
|
111
|
-
const parsed = JSON.parse(line);
|
|
112
|
-
// Convert escaped newlines back to actual newlines in js_doc fields
|
|
113
|
-
if (parsed.js_doc) {
|
|
114
|
-
parsed.js_doc = parsed.js_doc.replace(/\\n/g, '\n');
|
|
115
|
-
}
|
|
116
|
-
// Convert escaped newlines to actual newlines in def fields for struct/class/interface/type types
|
|
117
|
-
// where \n represents method/field separators that should be actual newlines
|
|
118
|
-
if (parsed.def) {
|
|
119
|
-
parsed.def = parsed.def.replace(/\\n/g, '\n');
|
|
120
|
-
}
|
|
121
|
-
return parsed;
|
|
122
|
-
});
|
|
123
|
-
// move all `struct` def to the very top
|
|
124
|
-
// and order the rest alphabetically.
|
|
125
|
-
return defs.sort((a, b) => {
|
|
126
|
-
if (a.kind === TypeDefKind.Struct) {
|
|
127
|
-
if (b.kind === TypeDefKind.Struct) {
|
|
128
|
-
return a.name.localeCompare(b.name);
|
|
129
|
-
}
|
|
130
|
-
return -1;
|
|
131
|
-
}
|
|
132
|
-
else if (b.kind === TypeDefKind.Struct) {
|
|
133
|
-
return 1;
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
return a.name.localeCompare(b.name);
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
function preprocessTypeDef(defs) {
|
|
141
|
-
const namespaceGrouped = new Map();
|
|
142
|
-
const classDefs = new Map();
|
|
143
|
-
for (const def of defs) {
|
|
144
|
-
const namespace = def.js_mod ?? TOP_LEVEL_NAMESPACE;
|
|
145
|
-
if (!namespaceGrouped.has(namespace)) {
|
|
146
|
-
namespaceGrouped.set(namespace, []);
|
|
147
|
-
}
|
|
148
|
-
const group = namespaceGrouped.get(namespace);
|
|
149
|
-
if (def.kind === TypeDefKind.Struct) {
|
|
150
|
-
group.push(def);
|
|
151
|
-
classDefs.set(def.name, def);
|
|
152
|
-
}
|
|
153
|
-
else if (def.kind === TypeDefKind.Impl) {
|
|
154
|
-
// merge `impl` into class definition
|
|
155
|
-
const classDef = classDefs.get(def.name);
|
|
156
|
-
if (classDef) {
|
|
157
|
-
if (classDef.def) {
|
|
158
|
-
classDef.def += '\n';
|
|
159
|
-
}
|
|
160
|
-
classDef.def += def.def;
|
|
161
|
-
// Convert any remaining \n sequences in the merged def to actual newlines
|
|
162
|
-
if (classDef.def) {
|
|
163
|
-
classDef.def = classDef.def.replace(/\\n/g, '\n');
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
group.push(def);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
return namespaceGrouped;
|
|
172
|
-
}
|
|
173
|
-
export function correctStringIdent(src, ident) {
|
|
174
|
-
let bracketDepth = 0;
|
|
175
|
-
const result = src
|
|
176
|
-
.split('\n')
|
|
177
|
-
.map((line) => {
|
|
178
|
-
line = line.trim();
|
|
179
|
-
if (line === '') {
|
|
180
|
-
return '';
|
|
181
|
-
}
|
|
182
|
-
const isInMultilineComment = line.startsWith('*');
|
|
183
|
-
const isClosingBracket = line.endsWith('}');
|
|
184
|
-
const isOpeningBracket = line.endsWith('{');
|
|
185
|
-
const isTypeDeclaration = line.endsWith('=');
|
|
186
|
-
const isTypeVariant = line.startsWith('|');
|
|
187
|
-
let rightIndent = ident;
|
|
188
|
-
if ((isOpeningBracket || isTypeDeclaration) && !isInMultilineComment) {
|
|
189
|
-
bracketDepth += 1;
|
|
190
|
-
rightIndent += (bracketDepth - 1) * 2;
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
if (isClosingBracket &&
|
|
194
|
-
bracketDepth > 0 &&
|
|
195
|
-
!isInMultilineComment &&
|
|
196
|
-
!isTypeVariant) {
|
|
197
|
-
bracketDepth -= 1;
|
|
198
|
-
}
|
|
199
|
-
rightIndent += bracketDepth * 2;
|
|
200
|
-
}
|
|
201
|
-
if (isInMultilineComment) {
|
|
202
|
-
rightIndent += 1;
|
|
203
|
-
}
|
|
204
|
-
const s = `${' '.repeat(rightIndent)}${line}`;
|
|
205
|
-
return s;
|
|
206
|
-
})
|
|
207
|
-
.join('\n');
|
|
208
|
-
return result;
|
|
209
|
-
}
|
|
210
|
-
//# sourceMappingURL=typegen.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typegen.js","sourceRoot":"","sources":["../../src/utils/typegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,mBAAmB,GAAG,sBAAsB,CAAA;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG;;CAEtC,CAAA;AAED,IAAK,WASJ;AATD,WAAK,WAAW;IACd,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,yCAA0B,CAAA;IAC1B,sCAAuB,CAAA;IACvB,4BAAa,CAAA;IACb,wBAAS,CAAA;IACT,gCAAiB,CAAA;IACjB,4BAAa,CAAA;AACf,CAAC,EATI,WAAW,KAAX,WAAW,QASf;AAWD,SAAS,WAAW,CAClB,IAAiB,EACjB,SAAkB,EAClB,KAAa,EACb,OAAO,GAAG,KAAK;IAEf,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAA;IACzB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,WAAW,CAAC,SAAS;YACxB,CAAC,IAAI,oBAAoB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,CAAA;YACtD,MAAK;QAEP,KAAK,WAAW,CAAC,IAAI;YACnB,CAAC,IAAI,eAAe,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAA;YAC/C,MAAK;QAEP,KAAK,WAAW,CAAC,IAAI;YACnB,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAA;YAClD,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,CAAA;YAC3E,MAAK;QAEP,KAAK,WAAW,CAAC,UAAU;YACzB,IAAI,SAAS,EAAE,CAAC;gBACd,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,CAAA;YAC5E,CAAC;iBAAM,CAAC;gBACN,CAAC,IAAI,eAAe,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAA;YAC5F,CAAC;YACD,MAAK;QAEP,KAAK,WAAW,CAAC,MAAM;YACrB,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,CAAA;YACrE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3D,CAAC,IAAI,iBAAiB,IAAI,CAAC,aAAa,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YAC3D,CAAC;YACD,MAAK;QAEP,KAAK,WAAW,CAAC,EAAE;YACjB,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;YAC5C,MAAK;QAEP;YACE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,OAAO,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,OAAgB;IACrC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,oBAA4B,EAC5B,SAAkB;IAElB,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,oBAAoB,CAAC,CAAA;IACjE,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAE3C,MAAM,GAAG,GACP,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;SACxD,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;QACzB,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;YACtC,OAAO,IAAI;iBACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;oBACjB,KAAK,WAAW,CAAC,KAAK,CAAC;oBACvB,KAAK,WAAW,CAAC,IAAI,CAAC;oBACtB,KAAK,WAAW,CAAC,UAAU,CAAC;oBAC5B,KAAK,WAAW,CAAC,EAAE,CAAC;oBACpB,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;wBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;wBACtB,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;4BACxD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;wBACjC,CAAC;wBACD,MAAK;oBACP,CAAC;oBACD;wBACE,MAAK;gBACT,CAAC;gBACD,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;YACvC,CAAC,CAAC;iBACD,IAAI,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACvB,IAAI,WAAW,GAAG,EAAE,CAAA;YACpB,WAAW,IAAI,4BAA4B,SAAS,MAAM,CAAA;YAC1D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,WAAW,IAAI,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAA;YAC5D,CAAC;YACD,WAAW,IAAI,GAAG,CAAA;YAClB,OAAO,WAAW,CAAA;QACpB,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAExB,OAAO;QACL,GAAG;QACH,OAAO;KACR,CAAA;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,IAAY;IAClD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAEjD,MAAM,IAAI,GAAG,OAAO;SACjB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAA;QAC9C,oEAAoE;QACpE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACrD,CAAC;QACD,kGAAkG;QAClG,6EAA6E;QAC7E,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IAEJ,wCAAwC;IACxC,qCAAqC;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;gBAClC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACrC,CAAC;YACD,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,CAAC,CAAA;QACV,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAmB;IAC5C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAA;IACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAA;IAEhD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,mBAAmB,CAAA;QACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QACrC,CAAC;QAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAE,CAAA;QAE9C,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YACzC,qCAAqC;YACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACxC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;oBACjB,QAAQ,CAAC,GAAG,IAAI,IAAI,CAAA;gBACtB,CAAC;gBAED,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAA;gBACvB,0EAA0E;gBAC1E,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;oBACjB,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,KAAa;IAC3D,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,MAAM,MAAM,GAAG,GAAG;SACf,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAClB,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAE1C,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,IAAI,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACrE,YAAY,IAAI,CAAC,CAAA;YACjB,WAAW,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,IACE,gBAAgB;gBAChB,YAAY,GAAG,CAAC;gBAChB,CAAC,oBAAoB;gBACrB,CAAC,aAAa,EACd,CAAC;gBACD,YAAY,IAAI,CAAC,CAAA;YACnB,CAAC;YACD,WAAW,IAAI,YAAY,GAAG,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,WAAW,IAAI,CAAC,CAAA;QAClB,CAAC;QAED,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,CAAA;QAE7C,OAAO,CAAC,CAAA;IACV,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/utils/version.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
export var NapiVersion;
|
|
2
|
-
(function (NapiVersion) {
|
|
3
|
-
NapiVersion[NapiVersion["Napi1"] = 1] = "Napi1";
|
|
4
|
-
NapiVersion[NapiVersion["Napi2"] = 2] = "Napi2";
|
|
5
|
-
NapiVersion[NapiVersion["Napi3"] = 3] = "Napi3";
|
|
6
|
-
NapiVersion[NapiVersion["Napi4"] = 4] = "Napi4";
|
|
7
|
-
NapiVersion[NapiVersion["Napi5"] = 5] = "Napi5";
|
|
8
|
-
NapiVersion[NapiVersion["Napi6"] = 6] = "Napi6";
|
|
9
|
-
NapiVersion[NapiVersion["Napi7"] = 7] = "Napi7";
|
|
10
|
-
NapiVersion[NapiVersion["Napi8"] = 8] = "Napi8";
|
|
11
|
-
NapiVersion[NapiVersion["Napi9"] = 9] = "Napi9";
|
|
12
|
-
})(NapiVersion || (NapiVersion = {}));
|
|
13
|
-
/// because node support new napi version in some minor version updates, so we might meet such situation:
|
|
14
|
-
/// `node v10.20.0` supports `napi5` and `napi6`, but `node v12.0.0` only support `napi4`,
|
|
15
|
-
/// by which, we can not tell directly napi version supportless from node version directly.
|
|
16
|
-
const NAPI_VERSION_MATRIX = new Map([
|
|
17
|
-
[NapiVersion.Napi1, '8.6.0 | 9.0.0 | 10.0.0'],
|
|
18
|
-
[NapiVersion.Napi2, '8.10.0 | 9.3.0 | 10.0.0'],
|
|
19
|
-
[NapiVersion.Napi3, '6.14.2 | 8.11.2 | 9.11.0 | 10.0.0'],
|
|
20
|
-
[NapiVersion.Napi4, '10.16.0 | 11.8.0 | 12.0.0'],
|
|
21
|
-
[NapiVersion.Napi5, '10.17.0 | 12.11.0 | 13.0.0'],
|
|
22
|
-
[NapiVersion.Napi6, '10.20.0 | 12.17.0 | 14.0.0'],
|
|
23
|
-
[NapiVersion.Napi7, '10.23.0 | 12.19.0 | 14.12.0 | 15.0.0'],
|
|
24
|
-
[NapiVersion.Napi8, '12.22.0 | 14.17.0 | 15.12.0 | 16.0.0'],
|
|
25
|
-
[NapiVersion.Napi9, '18.17.0 | 20.3.0 | 21.1.0'],
|
|
26
|
-
]);
|
|
27
|
-
function parseNodeVersion(v) {
|
|
28
|
-
const matches = v.match(/v?([0-9]+)\.([0-9]+)\.([0-9]+)/i);
|
|
29
|
-
if (!matches) {
|
|
30
|
-
throw new Error('Unknown node version number: ' + v);
|
|
31
|
-
}
|
|
32
|
-
const [, major, minor, patch] = matches;
|
|
33
|
-
return {
|
|
34
|
-
major: parseInt(major),
|
|
35
|
-
minor: parseInt(minor),
|
|
36
|
-
patch: parseInt(patch),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
function requiredNodeVersions(napiVersion) {
|
|
40
|
-
const requirement = NAPI_VERSION_MATRIX.get(napiVersion);
|
|
41
|
-
if (!requirement) {
|
|
42
|
-
return [parseNodeVersion('10.0.0')];
|
|
43
|
-
}
|
|
44
|
-
return requirement.split('|').map(parseNodeVersion);
|
|
45
|
-
}
|
|
46
|
-
function toEngineRequirement(versions) {
|
|
47
|
-
const requirements = [];
|
|
48
|
-
versions.forEach((v, i) => {
|
|
49
|
-
let req = '';
|
|
50
|
-
if (i !== 0) {
|
|
51
|
-
const lastVersion = versions[i - 1];
|
|
52
|
-
req += `< ${lastVersion.major + 1}`;
|
|
53
|
-
}
|
|
54
|
-
req += `${i === 0 ? '' : ' || '}>= ${v.major}.${v.minor}.${v.patch}`;
|
|
55
|
-
requirements.push(req);
|
|
56
|
-
});
|
|
57
|
-
return requirements.join(' ');
|
|
58
|
-
}
|
|
59
|
-
export function napiEngineRequirement(napiVersion) {
|
|
60
|
-
return toEngineRequirement(requiredNodeVersions(napiVersion));
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"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"}
|