@napi-rs/cli 3.0.0-alpha.4 → 3.0.0-alpha.6
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/cli.mjs +0 -0
- package/dist/api/artifacts.js +5 -2
- package/dist/api/artifacts.js.map +1 -0
- package/dist/api/build.d.ts +1 -1
- package/dist/api/build.js +98 -27
- package/dist/api/build.js.map +1 -0
- package/dist/api/create-npm-dirs.js +1 -0
- package/dist/api/create-npm-dirs.js.map +1 -0
- package/dist/api/load-wasi-template.d.ts +1 -0
- package/dist/api/load-wasi-template.js +63 -0
- package/dist/api/load-wasi-template.js.map +1 -0
- package/dist/api/new.js +2 -1
- package/dist/api/new.js.map +1 -0
- package/dist/api/pre-publish.js +1 -0
- package/dist/api/pre-publish.js.map +1 -0
- package/dist/api/rename.js +1 -0
- package/dist/api/rename.js.map +1 -0
- package/dist/api/templates/.gitignore.d.ts +1 -1
- package/dist/api/templates/.gitignore.js +2 -0
- package/dist/api/templates/.gitignore.js.map +1 -0
- package/dist/api/templates/.npmignore.js +1 -0
- package/dist/api/templates/.npmignore.js.map +1 -0
- package/dist/api/templates/build.rs.js +1 -0
- package/dist/api/templates/build.rs.js.map +1 -0
- package/dist/api/templates/cargo.toml.js +1 -0
- package/dist/api/templates/cargo.toml.js.map +1 -0
- package/dist/api/templates/ci-template.js +48 -35
- package/dist/api/templates/ci-template.js.map +1 -0
- package/dist/api/templates/ci.yml.d.ts +1 -1
- package/dist/api/templates/ci.yml.js +10 -3
- package/dist/api/templates/ci.yml.js.map +1 -0
- package/dist/api/templates/index.js +1 -0
- package/dist/api/templates/index.js.map +1 -0
- package/dist/api/templates/js-binding.d.ts +1 -1
- package/dist/api/templates/js-binding.js +49 -13
- package/dist/api/templates/js-binding.js.map +1 -0
- package/dist/api/templates/lib.rs.js +1 -0
- package/dist/api/templates/lib.rs.js.map +1 -0
- package/dist/api/templates/package.json.js +30 -27
- package/dist/api/templates/package.json.js.map +1 -0
- package/dist/api/universalize.js +1 -0
- package/dist/api/universalize.js.map +1 -0
- package/dist/api/version.js +1 -0
- package/dist/api/version.js.map +1 -0
- package/dist/api/wasi-worker-template.d.ts +1 -0
- package/dist/api/wasi-worker-template.js +53 -0
- package/dist/api/wasi-worker-template.js.map +1 -0
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/artifacts.js +2 -2
- package/dist/commands/artifacts.js.map +1 -0
- package/dist/commands/build.js +1 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/create-npm-dirs.js +1 -0
- package/dist/commands/create-npm-dirs.js.map +1 -0
- package/dist/commands/help.js +2 -2
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/new.js +2 -4
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/pre-publish.js +1 -0
- package/dist/commands/pre-publish.js.map +1 -0
- package/dist/commands/rename.js +1 -0
- package/dist/commands/rename.js.map +1 -0
- package/dist/commands/universalize.js +1 -0
- package/dist/commands/universalize.js.map +1 -0
- package/dist/commands/version.js +1 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/def/artifacts.js +2 -2
- package/dist/def/artifacts.js.map +1 -0
- package/dist/def/build.js +2 -2
- package/dist/def/build.js.map +1 -0
- package/dist/def/create-npm-dirs.js +2 -2
- package/dist/def/create-npm-dirs.js.map +1 -0
- package/dist/def/new.js +2 -2
- package/dist/def/new.js.map +1 -0
- package/dist/def/pre-publish.js +2 -2
- package/dist/def/pre-publish.js.map +1 -0
- package/dist/def/rename.js +2 -2
- package/dist/def/rename.js.map +1 -0
- package/dist/def/universalize.js +2 -2
- package/dist/def/universalize.js.map +1 -0
- package/dist/def/version.js +2 -2
- package/dist/def/version.js.map +1 -0
- package/dist/index.cjs +2921 -7847
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/__tests__/target.spec.js +1 -0
- package/dist/utils/__tests__/target.spec.js.map +1 -0
- package/dist/utils/__tests__/typegen.spec.js +2 -1
- package/dist/utils/__tests__/typegen.spec.js.map +1 -0
- package/dist/utils/__tests__/version.spec.js +1 -0
- package/dist/utils/__tests__/version.spec.js.map +1 -0
- package/dist/utils/cargo.js +1 -0
- package/dist/utils/cargo.js.map +1 -0
- package/dist/utils/ci.js +1 -0
- package/dist/utils/ci.js.map +1 -0
- package/dist/utils/config.d.ts +9 -1
- package/dist/utils/config.js +1 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/log.js +1 -0
- package/dist/utils/log.js.map +1 -0
- package/dist/utils/metadata.js +1 -0
- package/dist/utils/metadata.js.map +1 -0
- package/dist/utils/misc.js +1 -0
- package/dist/utils/misc.js.map +1 -0
- package/dist/utils/target.d.ts +4 -3
- package/dist/utils/target.js +10 -0
- package/dist/utils/target.js.map +1 -0
- package/dist/utils/typegen.d.ts +4 -1
- package/dist/utils/typegen.js +21 -1
- package/dist/utils/typegen.js.map +1 -0
- package/dist/utils/version.js +3 -2
- package/dist/utils/version.js.map +1 -0
- package/package.json +47 -15
- package/src/api/artifacts.ts +7 -4
- package/src/api/build.ts +133 -25
- package/src/api/load-wasi-template.ts +65 -0
- package/src/api/new.ts +1 -4
- package/src/api/pre-publish.ts +8 -5
- package/src/api/templates/.gitignore.ts +1 -0
- package/src/api/templates/ci-template.ts +47 -35
- package/src/api/templates/ci.yml.ts +9 -6
- package/src/api/templates/js-binding.ts +52 -13
- package/src/api/templates/package.json.ts +31 -26
- package/src/api/wasi-worker-template.ts +52 -0
- package/src/commands/new.ts +1 -5
- package/src/utils/__tests__/__snapshots__/version.spec.ts.md +7 -7
- package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
- package/src/utils/__tests__/typegen.spec.ts +1 -1
- package/src/utils/config.ts +12 -1
- package/src/utils/target.ts +16 -7
- package/src/utils/typegen.ts +20 -1
- package/src/utils/version.ts +1 -1
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export function
|
|
1
|
+
export function createCjsBinding(
|
|
2
|
+
localName: string,
|
|
3
|
+
pkgName: string,
|
|
4
|
+
idents: string[],
|
|
5
|
+
): string {
|
|
2
6
|
return `// prettier-ignore
|
|
3
|
-
/* tslint:disable */
|
|
4
7
|
/* eslint-disable */
|
|
5
|
-
|
|
6
8
|
/* auto-generated by NAPI-RS */
|
|
7
9
|
|
|
8
10
|
const { existsSync, readFileSync } = require('fs')
|
|
@@ -14,18 +16,52 @@ let nativeBinding = null
|
|
|
14
16
|
let localFileExisted = false
|
|
15
17
|
let loadError = null
|
|
16
18
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
19
|
+
const isMusl = () => {
|
|
20
|
+
let musl = false
|
|
21
|
+
if (process.platform === 'linux') {
|
|
22
|
+
musl = isMuslFromFilesystem()
|
|
23
|
+
if (musl === null) {
|
|
24
|
+
musl = isMuslFromReport()
|
|
25
|
+
}
|
|
26
|
+
if (musl === null) {
|
|
27
|
+
musl = isMuslFromChildProcess()
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return musl
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
|
|
34
|
+
|
|
35
|
+
const isMuslFromFilesystem = () => {
|
|
36
|
+
try {
|
|
37
|
+
return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
|
|
38
|
+
} catch {
|
|
39
|
+
return null
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const isMuslFromReport = () => {
|
|
44
|
+
const report = typeof process.report.getReport === 'function' ? process.report.getReport() : null
|
|
45
|
+
if (!report) {
|
|
46
|
+
return null
|
|
47
|
+
}
|
|
48
|
+
if (report.header && report.header.glibcVersionRuntime) {
|
|
49
|
+
return false
|
|
50
|
+
}
|
|
51
|
+
if (Array.isArray(report.sharedObjects)) {
|
|
52
|
+
if (report.sharedObjects.some(isFileMusl)) {
|
|
24
53
|
return true
|
|
25
54
|
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
55
|
+
}
|
|
56
|
+
return false
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const isMuslFromChildProcess = () => {
|
|
60
|
+
try {
|
|
61
|
+
return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
|
|
62
|
+
} catch (e) {
|
|
63
|
+
// If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false
|
|
64
|
+
return false
|
|
29
65
|
}
|
|
30
66
|
}
|
|
31
67
|
|
|
@@ -253,5 +289,8 @@ if (!nativeBinding) {
|
|
|
253
289
|
throw new Error(\`Failed to load native binding\`)
|
|
254
290
|
}
|
|
255
291
|
|
|
292
|
+
${idents
|
|
293
|
+
.map((ident) => `module.exports.${ident} = nativeBinding.${ident}`)
|
|
294
|
+
.join('\n')}
|
|
256
295
|
`
|
|
257
296
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { CommonPackageJsonFields } from '../../utils/config.js'
|
|
2
|
+
|
|
1
3
|
export const createPackageJson = ({
|
|
2
4
|
name,
|
|
3
5
|
binaryName,
|
|
@@ -13,31 +15,34 @@ export const createPackageJson = ({
|
|
|
13
15
|
engineRequirement: string
|
|
14
16
|
cliVersion: string
|
|
15
17
|
}) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
18
|
+
const content: CommonPackageJsonFields = {
|
|
19
|
+
name,
|
|
20
|
+
version: '1.0.0',
|
|
21
|
+
license,
|
|
22
|
+
engines: {
|
|
23
|
+
node: engineRequirement,
|
|
24
|
+
},
|
|
25
|
+
type: 'commonjs',
|
|
26
|
+
main: 'index.js',
|
|
27
|
+
types: 'index.d.ts',
|
|
28
|
+
module: undefined,
|
|
29
|
+
exports: undefined,
|
|
30
|
+
napi: {
|
|
31
|
+
binaryName,
|
|
32
|
+
targets,
|
|
33
|
+
},
|
|
34
|
+
scripts: {
|
|
35
|
+
test: 'node -e "assert(require(\'.\').sum(1, 2) === 3)"',
|
|
36
|
+
build: 'napi build --release --platform --strip',
|
|
37
|
+
'build:debug': 'napi build',
|
|
38
|
+
prepublishOnly: 'napi prepublish -t npm',
|
|
39
|
+
artifacts: 'napi artifacts',
|
|
40
|
+
version: 'napi version',
|
|
41
|
+
},
|
|
42
|
+
devDependencies: {
|
|
43
|
+
'@napi-rs/cli': `^${cliVersion}`,
|
|
44
|
+
},
|
|
41
45
|
}
|
|
42
|
-
|
|
46
|
+
|
|
47
|
+
return JSON.stringify(content, null, 2)
|
|
43
48
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export const WASI_WORKER_TEMPLATE = `import fs from "node:fs";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { parentPort, Worker } from "node:worker_threads";
|
|
4
|
+
|
|
5
|
+
import { instantiateNapiModuleSync, MessageHandler } from "@emnapi/core";
|
|
6
|
+
import { WASI } from "@tybys/wasm-util";
|
|
7
|
+
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
|
|
10
|
+
if (parentPort) {
|
|
11
|
+
parentPort.on("message", (data) => {
|
|
12
|
+
globalThis.onmessage({ data });
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
Object.assign(globalThis, {
|
|
17
|
+
self: globalThis,
|
|
18
|
+
require,
|
|
19
|
+
Worker,
|
|
20
|
+
importScripts: function (f) {
|
|
21
|
+
;(0, eval)(fs.readFileSync(f, "utf8") + "//# sourceURL=" + f);
|
|
22
|
+
},
|
|
23
|
+
postMessage: function (msg) {
|
|
24
|
+
if (parentPort) {
|
|
25
|
+
parentPort.postMessage(msg);
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const handler = new MessageHandler({
|
|
31
|
+
onLoad({ wasmModule, wasmMemory }) {
|
|
32
|
+
const wasi = new WASI({ fs });
|
|
33
|
+
|
|
34
|
+
return instantiateNapiModuleSync(wasmModule, {
|
|
35
|
+
childThread: true,
|
|
36
|
+
wasi,
|
|
37
|
+
overwriteImports(importObject) {
|
|
38
|
+
importObject.env = {
|
|
39
|
+
...importObject.env,
|
|
40
|
+
...importObject.napi,
|
|
41
|
+
...importObject.emnapi,
|
|
42
|
+
memory: wasmMemory
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
globalThis.onmessage = function (e) {
|
|
50
|
+
handler.handle(e);
|
|
51
|
+
};
|
|
52
|
+
`
|
package/src/commands/new.ts
CHANGED
|
@@ -94,10 +94,6 @@ export class NewCommand extends BaseNewCommand {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
private async fetchTargets(): Promise<TargetTriple[]> {
|
|
97
|
-
if (this.enableDefaultTargets) {
|
|
98
|
-
return DEFAULT_TARGETS.concat()
|
|
99
|
-
}
|
|
100
|
-
|
|
101
97
|
if (this.enableAllTargets) {
|
|
102
98
|
return AVAILABLE_TARGETS.concat()
|
|
103
99
|
}
|
|
@@ -107,7 +103,7 @@ export class NewCommand extends BaseNewCommand {
|
|
|
107
103
|
type: 'checkbox',
|
|
108
104
|
loop: false,
|
|
109
105
|
message: 'Choose target(s) your crate will be compiled to',
|
|
110
|
-
default: DEFAULT_TARGETS,
|
|
106
|
+
default: this.enableDefaultTargets ? DEFAULT_TARGETS : [],
|
|
111
107
|
choices: AVAILABLE_TARGETS,
|
|
112
108
|
})
|
|
113
109
|
|
|
@@ -10,11 +10,11 @@ Generated by [AVA](https://avajs.dev).
|
|
|
10
10
|
|
|
11
11
|
[
|
|
12
12
|
'>= 8.6.0',
|
|
13
|
-
'>= 8.10.0
|
|
14
|
-
'>= 6.14.2
|
|
15
|
-
'>= 10.16.0
|
|
16
|
-
'>= 10.17.0
|
|
17
|
-
'>= 10.20.0
|
|
18
|
-
'>= 10.23.0
|
|
19
|
-
'>= 12.22.0
|
|
13
|
+
'>= 8.10.0 < 9 || >= 9.3.0',
|
|
14
|
+
'>= 6.14.2 < 7 || >= 8.11.2 < 9 || >= 9.11.0',
|
|
15
|
+
'>= 10.16.0 < 11 || >= 11.8.0',
|
|
16
|
+
'>= 10.17.0 < 11 || >= 12.11.0',
|
|
17
|
+
'>= 10.20.0 < 11 || >= 12.17.0 < 13 || >= 14.0.0',
|
|
18
|
+
'>= 10.23.0 < 11 || >= 12.19.0 < 13 || >= 14.12.0',
|
|
19
|
+
'>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0',
|
|
20
20
|
]
|
|
Binary file
|
package/src/utils/config.ts
CHANGED
|
@@ -49,7 +49,7 @@ interface UserNapiConfig {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
interface CommonPackageJsonFields {
|
|
52
|
+
export interface CommonPackageJsonFields {
|
|
53
53
|
name: string
|
|
54
54
|
version: string
|
|
55
55
|
description?: string
|
|
@@ -64,6 +64,17 @@ interface CommonPackageJsonFields {
|
|
|
64
64
|
bugs?: any
|
|
65
65
|
// eslint-disable-next-line no-use-before-define
|
|
66
66
|
napi?: UserNapiConfig
|
|
67
|
+
type?: 'module' | 'commonjs'
|
|
68
|
+
scripts?: Record<string, string>
|
|
69
|
+
|
|
70
|
+
// modules
|
|
71
|
+
main?: string
|
|
72
|
+
module?: string
|
|
73
|
+
types?: string
|
|
74
|
+
exports?: any
|
|
75
|
+
|
|
76
|
+
dependencies?: Record<string, string>
|
|
77
|
+
devDependencies?: Record<string, string>
|
|
67
78
|
}
|
|
68
79
|
|
|
69
80
|
export type NapiConfig = Required<
|
package/src/utils/target.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { execSync } from 'child_process'
|
|
2
2
|
|
|
3
|
+
export type Platform = NodeJS.Platform | 'wasm' | 'wasi'
|
|
4
|
+
|
|
3
5
|
export const AVAILABLE_TARGETS = [
|
|
4
6
|
'aarch64-apple-darwin',
|
|
5
7
|
'aarch64-linux-android',
|
|
@@ -63,24 +65,22 @@ export const NodeArchToCpu: Record<string, string> = {
|
|
|
63
65
|
riscv64: 'riscv64gc',
|
|
64
66
|
}
|
|
65
67
|
|
|
66
|
-
const SysToNodePlatform: Record<string,
|
|
68
|
+
const SysToNodePlatform: Record<string, Platform> = {
|
|
67
69
|
linux: 'linux',
|
|
68
70
|
freebsd: 'freebsd',
|
|
69
71
|
darwin: 'darwin',
|
|
70
72
|
windows: 'win32',
|
|
71
73
|
}
|
|
72
74
|
|
|
73
|
-
export const UniArchsByPlatform: Partial<
|
|
74
|
-
Record<NodeJS.Platform, NodeJSArch[]>
|
|
75
|
-
> = {
|
|
75
|
+
export const UniArchsByPlatform: Partial<Record<Platform, NodeJSArch[]>> = {
|
|
76
76
|
darwin: ['x64', 'arm64'],
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
export interface Target {
|
|
80
80
|
triple: string
|
|
81
81
|
platformArchABI: string
|
|
82
|
-
platform:
|
|
83
|
-
arch: NodeJSArch
|
|
82
|
+
platform: Platform
|
|
83
|
+
arch: NodeJSArch | 'wasm32'
|
|
84
84
|
abi: string | null
|
|
85
85
|
}
|
|
86
86
|
|
|
@@ -95,6 +95,15 @@ export interface Target {
|
|
|
95
95
|
* - `abi` = The ABI, for example `gnu`, `android`, `eabi`, etc.
|
|
96
96
|
*/
|
|
97
97
|
export function parseTriple(rawTriple: string): Target {
|
|
98
|
+
if (rawTriple === 'wasm32-wasi-preview1-threads') {
|
|
99
|
+
return {
|
|
100
|
+
triple: rawTriple,
|
|
101
|
+
platformArchABI: rawTriple,
|
|
102
|
+
platform: 'wasi',
|
|
103
|
+
arch: 'wasm32',
|
|
104
|
+
abi: 'wasi',
|
|
105
|
+
}
|
|
106
|
+
}
|
|
98
107
|
const triple = rawTriple.endsWith('eabi')
|
|
99
108
|
? `${rawTriple.slice(0, -4)}-eabi`
|
|
100
109
|
: rawTriple
|
|
@@ -114,7 +123,7 @@ export function parseTriple(rawTriple: string): Target {
|
|
|
114
123
|
;[cpu, , sys, abi = null] = triples
|
|
115
124
|
}
|
|
116
125
|
|
|
117
|
-
const platform = SysToNodePlatform[sys] ?? (sys as
|
|
126
|
+
const platform = SysToNodePlatform[sys] ?? (sys as Platform)
|
|
118
127
|
const arch = CpuToNodeArch[cpu] ?? (cpu as NodeJSArch)
|
|
119
128
|
return {
|
|
120
129
|
triple: rawTriple,
|
package/src/utils/typegen.ts
CHANGED
|
@@ -54,6 +54,7 @@ export async function processTypeDef(
|
|
|
54
54
|
intermediateTypeFile: string,
|
|
55
55
|
header?: string,
|
|
56
56
|
) {
|
|
57
|
+
const exports: string[] = []
|
|
57
58
|
const defs = await readIntermediateTypeFile(intermediateTypeFile)
|
|
58
59
|
const groupedDefs = preprocessTypeDef(defs)
|
|
59
60
|
|
|
@@ -65,8 +66,23 @@ export async function processTypeDef(
|
|
|
65
66
|
if (namespace === TOP_LEVEL_NAMESPACE) {
|
|
66
67
|
for (const def of defs) {
|
|
67
68
|
dts += prettyPrint(def, 0) + '\n\n'
|
|
69
|
+
switch (def.kind) {
|
|
70
|
+
case TypeDefKind.Const:
|
|
71
|
+
case TypeDefKind.Enum:
|
|
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
|
+
}
|
|
68
83
|
}
|
|
69
84
|
} else {
|
|
85
|
+
exports.push(namespace)
|
|
70
86
|
dts += `export namespace ${namespace} {\n`
|
|
71
87
|
for (const def of defs) {
|
|
72
88
|
dts += prettyPrint(def, 2) + '\n'
|
|
@@ -87,7 +103,10 @@ export class ExternalObject<T> {
|
|
|
87
103
|
`
|
|
88
104
|
}
|
|
89
105
|
|
|
90
|
-
return
|
|
106
|
+
return {
|
|
107
|
+
dts: header + dts,
|
|
108
|
+
exports,
|
|
109
|
+
}
|
|
91
110
|
}
|
|
92
111
|
|
|
93
112
|
async function readIntermediateTypeFile(file: string) {
|
package/src/utils/version.ts
CHANGED