@napi-rs/cli 3.0.0-alpha.7 → 3.0.0-alpha.71
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 +1 -1
- package/dist/api/artifacts.js +28 -7
- package/dist/api/artifacts.js.map +1 -1
- package/dist/api/build.js +247 -47
- package/dist/api/build.js.map +1 -1
- package/dist/api/create-npm-dirs.js +46 -9
- package/dist/api/create-npm-dirs.js.map +1 -1
- package/dist/api/new.js +57 -20
- package/dist/api/new.js.map +1 -1
- package/dist/api/pre-publish.js +9 -7
- package/dist/api/pre-publish.js.map +1 -1
- package/dist/api/rename.js +9 -1
- package/dist/api/rename.js.map +1 -1
- package/dist/api/templates/cargo.toml.js +1 -0
- package/dist/api/templates/cargo.toml.js.map +1 -1
- package/dist/api/templates/ci-template.d.ts +3 -1
- package/dist/api/templates/ci-template.js +144 -131
- package/dist/api/templates/ci-template.js.map +1 -1
- package/dist/api/templates/ci.yml.d.ts +3 -1
- package/dist/api/templates/ci.yml.js +21 -5
- package/dist/api/templates/ci.yml.js.map +1 -1
- package/dist/api/templates/js-binding.d.ts +1 -0
- package/dist/api/templates/js-binding.js +135 -221
- package/dist/api/templates/js-binding.js.map +1 -1
- package/dist/api/templates/lib.rs.js +1 -4
- package/dist/api/templates/lib.rs.js.map +1 -1
- package/dist/api/templates/load-wasi-template.d.ts +2 -0
- package/dist/api/templates/load-wasi-template.js +166 -0
- package/dist/api/templates/load-wasi-template.js.map +1 -0
- package/dist/api/templates/package.json.d.ts +9 -2
- package/dist/api/templates/package.json.js +26 -4
- package/dist/api/templates/package.json.js.map +1 -1
- package/dist/api/templates/wasi-worker-template.d.ts +2 -0
- package/dist/api/templates/wasi-worker-template.js +122 -0
- package/dist/api/templates/wasi-worker-template.js.map +1 -0
- package/dist/api/universalize.js +5 -5
- package/dist/api/universalize.js.map +1 -1
- package/dist/api/version.js +2 -2
- package/dist/api/version.js.map +1 -1
- package/dist/commands/artifacts.js +2 -2
- package/dist/commands/artifacts.js.map +1 -1
- package/dist/commands/build.js +1 -1
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/new.js +34 -34
- package/dist/commands/new.js.map +1 -1
- package/dist/def/artifacts.d.ts +21 -1
- package/dist/def/artifacts.js +10 -2
- package/dist/def/artifacts.js.map +1 -1
- package/dist/def/build.d.ts +155 -4
- package/dist/def/build.js +30 -4
- package/dist/def/build.js.map +1 -1
- package/dist/def/create-npm-dirs.d.ts +10 -0
- package/dist/def/create-npm-dirs.js +4 -0
- package/dist/def/create-npm-dirs.js.map +1 -1
- package/dist/def/new.d.ts +25 -7
- package/dist/def/new.js +11 -1
- package/dist/def/new.js.map +1 -1
- package/dist/def/pre-publish.d.ts +12 -2
- package/dist/def/pre-publish.js +7 -3
- package/dist/def/pre-publish.js.map +1 -1
- package/dist/def/rename.d.ts +16 -6
- package/dist/def/rename.js +5 -1
- package/dist/def/rename.js.map +1 -1
- package/dist/def/universalize.d.ts +10 -0
- package/dist/def/universalize.js +4 -0
- package/dist/def/universalize.js.map +1 -1
- package/dist/def/version.d.ts +10 -0
- package/dist/def/version.js +4 -0
- package/dist/def/version.js.map +1 -1
- package/dist/index.cjs +8146 -14672
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/__tests__/config.spec.d.ts +1 -0
- package/dist/utils/__tests__/config.spec.js +63 -0
- package/dist/utils/__tests__/config.spec.js.map +1 -0
- package/dist/utils/__tests__/typegen.spec.js +8 -4
- package/dist/utils/__tests__/typegen.spec.js.map +1 -1
- package/dist/utils/cargo.js +2 -2
- package/dist/utils/cargo.js.map +1 -1
- package/dist/utils/config.d.ts +48 -4
- package/dist/utils/config.js +37 -5
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/metadata.js +2 -2
- package/dist/utils/metadata.js.map +1 -1
- package/dist/utils/misc.d.ts +1 -2
- package/dist/utils/misc.js +3 -3
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/target.d.ts +7 -5
- package/dist/utils/target.js +17 -3
- package/dist/utils/target.js.map +1 -1
- package/dist/utils/typegen.d.ts +1 -1
- package/dist/utils/typegen.js +51 -17
- package/dist/utils/typegen.js.map +1 -1
- package/dist/utils/version.d.ts +2 -1
- package/dist/utils/version.js +10 -8
- package/dist/utils/version.js.map +1 -1
- package/package.json +27 -26
- package/src/api/artifacts.ts +81 -9
- package/src/api/build.ts +403 -66
- package/src/api/create-npm-dirs.ts +57 -9
- package/src/api/new.ts +89 -31
- package/src/api/pre-publish.ts +13 -7
- package/src/api/rename.ts +10 -1
- package/src/api/templates/cargo.toml.ts +1 -0
- package/src/api/templates/ci-template.ts +154 -131
- package/src/api/templates/ci.yml.ts +27 -6
- package/src/api/templates/js-binding.ts +141 -219
- package/src/api/templates/lib.rs.ts +1 -4
- package/src/api/templates/load-wasi-template.ts +180 -0
- package/src/api/templates/package.json.ts +47 -5
- package/src/api/templates/wasi-worker-template.ts +122 -0
- package/src/api/universalize.ts +13 -8
- package/src/api/version.ts +5 -2
- package/src/commands/artifacts.ts +2 -2
- package/src/commands/build.ts +1 -1
- package/src/commands/new.ts +46 -45
- package/src/def/artifacts.ts +22 -3
- package/src/def/build.ts +64 -8
- package/src/def/create-npm-dirs.ts +9 -0
- package/src/def/new.ts +28 -3
- package/src/def/pre-publish.ts +12 -3
- package/src/def/rename.ts +11 -2
- package/src/def/universalize.ts +9 -0
- package/src/def/version.ts +9 -0
- package/src/index.ts +2 -0
- package/src/utils/__tests__/__fixtures__/napi_type_def +130 -130
- package/src/utils/__tests__/__snapshots__/config.spec.ts.md +97 -0
- package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.md +28 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +711 -158
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/version.spec.ts.md +8 -7
- package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
- package/src/utils/__tests__/config.spec.ts +81 -0
- package/src/utils/__tests__/typegen.spec.ts +18 -3
- package/src/utils/cargo.ts +2 -2
- package/src/utils/config.ts +112 -10
- package/src/utils/index.ts +0 -1
- package/src/utils/metadata.ts +2 -2
- package/src/utils/misc.ts +11 -3
- package/src/utils/target.ts +22 -4
- package/src/utils/typegen.ts +81 -36
- package/src/utils/version.ts +10 -8
- package/dist/api/load-wasi-template.d.ts +0 -1
- package/dist/api/load-wasi-template.js +0 -63
- package/dist/api/load-wasi-template.js.map +0 -1
- package/dist/api/wasi-worker-template.d.ts +0 -1
- package/dist/api/wasi-worker-template.js +0 -53
- package/dist/api/wasi-worker-template.js.map +0 -1
- package/dist/utils/ci.d.ts +0 -11
- package/dist/utils/ci.js +0 -96
- package/dist/utils/ci.js.map +0 -1
- package/src/api/load-wasi-template.ts +0 -65
- package/src/api/wasi-worker-template.ts +0 -52
- package/src/utils/ci.ts +0 -111
package/src/def/new.ts
CHANGED
|
@@ -10,7 +10,7 @@ export abstract class BaseNewCommand extends Command {
|
|
|
10
10
|
description: 'Create a new project with pre-configured boilerplate',
|
|
11
11
|
})
|
|
12
12
|
|
|
13
|
-
$$path = Option.String({ required:
|
|
13
|
+
$$path = Option.String({ required: false })
|
|
14
14
|
|
|
15
15
|
$$name?: string = Option.String('--name,-n', {
|
|
16
16
|
description:
|
|
@@ -22,6 +22,10 @@ export abstract class BaseNewCommand extends Command {
|
|
|
22
22
|
description: 'The minimum Node-API version to support',
|
|
23
23
|
})
|
|
24
24
|
|
|
25
|
+
packageManager = Option.String('--package-manager', 'yarn', {
|
|
26
|
+
description: 'The package manager to use. Only support yarn 4.x for now.',
|
|
27
|
+
})
|
|
28
|
+
|
|
25
29
|
license = Option.String('--license,-l', 'MIT', {
|
|
26
30
|
description: 'License for open-sourced project',
|
|
27
31
|
})
|
|
@@ -47,6 +51,11 @@ export abstract class BaseNewCommand extends Command {
|
|
|
47
51
|
description: 'Whether generate preconfigured GitHub Actions workflow',
|
|
48
52
|
})
|
|
49
53
|
|
|
54
|
+
testFramework = Option.String('--test-framework', 'ava', {
|
|
55
|
+
description:
|
|
56
|
+
'The JavaScript test framework to use, only support `ava` for now',
|
|
57
|
+
})
|
|
58
|
+
|
|
50
59
|
dryRun = Option.Boolean('--dry-run', false, {
|
|
51
60
|
description: 'Whether to run the command in dry-run mode',
|
|
52
61
|
})
|
|
@@ -56,12 +65,14 @@ export abstract class BaseNewCommand extends Command {
|
|
|
56
65
|
path: this.$$path,
|
|
57
66
|
name: this.$$name,
|
|
58
67
|
minNodeApiVersion: this.minNodeApiVersion,
|
|
68
|
+
packageManager: this.packageManager,
|
|
59
69
|
license: this.license,
|
|
60
70
|
targets: this.targets,
|
|
61
71
|
enableDefaultTargets: this.enableDefaultTargets,
|
|
62
72
|
enableAllTargets: this.enableAllTargets,
|
|
63
73
|
enableTypeDef: this.enableTypeDef,
|
|
64
74
|
enableGithubActions: this.enableGithubActions,
|
|
75
|
+
testFramework: this.testFramework,
|
|
65
76
|
dryRun: this.dryRun,
|
|
66
77
|
}
|
|
67
78
|
}
|
|
@@ -72,9 +83,9 @@ export abstract class BaseNewCommand extends Command {
|
|
|
72
83
|
*/
|
|
73
84
|
export interface NewOptions {
|
|
74
85
|
/**
|
|
75
|
-
* The path where the
|
|
86
|
+
* The path where the NAPI-RS project will be created.
|
|
76
87
|
*/
|
|
77
|
-
path
|
|
88
|
+
path?: string
|
|
78
89
|
/**
|
|
79
90
|
* The name of the project, default to the name of the directory if not provided
|
|
80
91
|
*/
|
|
@@ -85,6 +96,12 @@ export interface NewOptions {
|
|
|
85
96
|
* @default 4
|
|
86
97
|
*/
|
|
87
98
|
minNodeApiVersion?: number
|
|
99
|
+
/**
|
|
100
|
+
* The package manager to use. Only support yarn 4.x for now.
|
|
101
|
+
*
|
|
102
|
+
* @default 'yarn'
|
|
103
|
+
*/
|
|
104
|
+
packageManager?: string
|
|
88
105
|
/**
|
|
89
106
|
* License for open-sourced project
|
|
90
107
|
*
|
|
@@ -121,6 +138,12 @@ export interface NewOptions {
|
|
|
121
138
|
* @default true
|
|
122
139
|
*/
|
|
123
140
|
enableGithubActions?: boolean
|
|
141
|
+
/**
|
|
142
|
+
* The JavaScript test framework to use, only support `ava` for now
|
|
143
|
+
*
|
|
144
|
+
* @default 'ava'
|
|
145
|
+
*/
|
|
146
|
+
testFramework?: string
|
|
124
147
|
/**
|
|
125
148
|
* Whether to run the command in dry-run mode
|
|
126
149
|
*
|
|
@@ -132,12 +155,14 @@ export interface NewOptions {
|
|
|
132
155
|
export function applyDefaultNewOptions(options: NewOptions) {
|
|
133
156
|
return {
|
|
134
157
|
minNodeApiVersion: 4,
|
|
158
|
+
packageManager: 'yarn',
|
|
135
159
|
license: 'MIT',
|
|
136
160
|
targets: [],
|
|
137
161
|
enableDefaultTargets: true,
|
|
138
162
|
enableAllTargets: false,
|
|
139
163
|
enableTypeDef: true,
|
|
140
164
|
enableGithubActions: true,
|
|
165
|
+
testFramework: 'ava',
|
|
141
166
|
dryRun: false,
|
|
142
167
|
...options,
|
|
143
168
|
}
|
package/src/def/pre-publish.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { Command, Option } from 'clipanion'
|
|
4
4
|
|
|
5
5
|
export abstract class BasePrePublishCommand extends Command {
|
|
6
|
-
static paths = [['pre-publish']]
|
|
6
|
+
static paths = [['pre-publish'], ['prepublish']]
|
|
7
7
|
|
|
8
8
|
static usage = Command.Usage({
|
|
9
9
|
description:
|
|
@@ -15,15 +15,19 @@ export abstract class BasePrePublishCommand extends Command {
|
|
|
15
15
|
'The working directory of where napi command will be executed in, all other paths options are relative to this path',
|
|
16
16
|
})
|
|
17
17
|
|
|
18
|
+
configPath?: string = Option.String('--config-path,-c', {
|
|
19
|
+
description: 'Path to `napi` config json file',
|
|
20
|
+
})
|
|
21
|
+
|
|
18
22
|
packageJsonPath = Option.String('--package-json-path', 'package.json', {
|
|
19
23
|
description: 'Path to `package.json`',
|
|
20
24
|
})
|
|
21
25
|
|
|
22
|
-
npmDir = Option.String('--npm-dir', 'npm', {
|
|
26
|
+
npmDir = Option.String('--npm-dir,-p', 'npm', {
|
|
23
27
|
description: 'Path to the folder where the npm packages put',
|
|
24
28
|
})
|
|
25
29
|
|
|
26
|
-
tagStyle = Option.String('--tag-style', 'lerna', {
|
|
30
|
+
tagStyle = Option.String('--tag-style,--tagstyle,-t', 'lerna', {
|
|
27
31
|
description: 'git tag style, `npm` or `lerna`',
|
|
28
32
|
})
|
|
29
33
|
|
|
@@ -46,6 +50,7 @@ export abstract class BasePrePublishCommand extends Command {
|
|
|
46
50
|
getOptions() {
|
|
47
51
|
return {
|
|
48
52
|
cwd: this.cwd,
|
|
53
|
+
configPath: this.configPath,
|
|
49
54
|
packageJsonPath: this.packageJsonPath,
|
|
50
55
|
npmDir: this.npmDir,
|
|
51
56
|
tagStyle: this.tagStyle,
|
|
@@ -67,6 +72,10 @@ export interface PrePublishOptions {
|
|
|
67
72
|
* @default process.cwd()
|
|
68
73
|
*/
|
|
69
74
|
cwd?: string
|
|
75
|
+
/**
|
|
76
|
+
* Path to `napi` config json file
|
|
77
|
+
*/
|
|
78
|
+
configPath?: string
|
|
70
79
|
/**
|
|
71
80
|
* Path to `package.json`
|
|
72
81
|
*
|
package/src/def/rename.ts
CHANGED
|
@@ -6,7 +6,7 @@ export abstract class BaseRenameCommand extends Command {
|
|
|
6
6
|
static paths = [['rename']]
|
|
7
7
|
|
|
8
8
|
static usage = Command.Usage({
|
|
9
|
-
description: 'Rename the
|
|
9
|
+
description: 'Rename the NAPI-RS project',
|
|
10
10
|
})
|
|
11
11
|
|
|
12
12
|
cwd = Option.String('--cwd', process.cwd(), {
|
|
@@ -14,6 +14,10 @@ export abstract class BaseRenameCommand extends Command {
|
|
|
14
14
|
'The working directory of where napi command will be executed in, all other paths options are relative to this path',
|
|
15
15
|
})
|
|
16
16
|
|
|
17
|
+
configPath?: string = Option.String('--config-path,-c', {
|
|
18
|
+
description: 'Path to `napi` config json file',
|
|
19
|
+
})
|
|
20
|
+
|
|
17
21
|
packageJsonPath = Option.String('--package-json-path', 'package.json', {
|
|
18
22
|
description: 'Path to `package.json`',
|
|
19
23
|
})
|
|
@@ -49,6 +53,7 @@ export abstract class BaseRenameCommand extends Command {
|
|
|
49
53
|
getOptions() {
|
|
50
54
|
return {
|
|
51
55
|
cwd: this.cwd,
|
|
56
|
+
configPath: this.configPath,
|
|
52
57
|
packageJsonPath: this.packageJsonPath,
|
|
53
58
|
npmDir: this.npmDir,
|
|
54
59
|
name: this.$$name,
|
|
@@ -62,7 +67,7 @@ export abstract class BaseRenameCommand extends Command {
|
|
|
62
67
|
}
|
|
63
68
|
|
|
64
69
|
/**
|
|
65
|
-
* Rename the
|
|
70
|
+
* Rename the NAPI-RS project
|
|
66
71
|
*/
|
|
67
72
|
export interface RenameOptions {
|
|
68
73
|
/**
|
|
@@ -71,6 +76,10 @@ export interface RenameOptions {
|
|
|
71
76
|
* @default process.cwd()
|
|
72
77
|
*/
|
|
73
78
|
cwd?: string
|
|
79
|
+
/**
|
|
80
|
+
* Path to `napi` config json file
|
|
81
|
+
*/
|
|
82
|
+
configPath?: string
|
|
74
83
|
/**
|
|
75
84
|
* Path to `package.json`
|
|
76
85
|
*
|
package/src/def/universalize.ts
CHANGED
|
@@ -14,6 +14,10 @@ export abstract class BaseUniversalizeCommand extends Command {
|
|
|
14
14
|
'The working directory of where napi command will be executed in, all other paths options are relative to this path',
|
|
15
15
|
})
|
|
16
16
|
|
|
17
|
+
configPath?: string = Option.String('--config-path,-c', {
|
|
18
|
+
description: 'Path to `napi` config json file',
|
|
19
|
+
})
|
|
20
|
+
|
|
17
21
|
packageJsonPath = Option.String('--package-json-path', 'package.json', {
|
|
18
22
|
description: 'Path to `package.json`',
|
|
19
23
|
})
|
|
@@ -26,6 +30,7 @@ export abstract class BaseUniversalizeCommand extends Command {
|
|
|
26
30
|
getOptions() {
|
|
27
31
|
return {
|
|
28
32
|
cwd: this.cwd,
|
|
33
|
+
configPath: this.configPath,
|
|
29
34
|
packageJsonPath: this.packageJsonPath,
|
|
30
35
|
outputDir: this.outputDir,
|
|
31
36
|
}
|
|
@@ -42,6 +47,10 @@ export interface UniversalizeOptions {
|
|
|
42
47
|
* @default process.cwd()
|
|
43
48
|
*/
|
|
44
49
|
cwd?: string
|
|
50
|
+
/**
|
|
51
|
+
* Path to `napi` config json file
|
|
52
|
+
*/
|
|
53
|
+
configPath?: string
|
|
45
54
|
/**
|
|
46
55
|
* Path to `package.json`
|
|
47
56
|
*
|
package/src/def/version.ts
CHANGED
|
@@ -14,6 +14,10 @@ export abstract class BaseVersionCommand extends Command {
|
|
|
14
14
|
'The working directory of where napi command will be executed in, all other paths options are relative to this path',
|
|
15
15
|
})
|
|
16
16
|
|
|
17
|
+
configPath?: string = Option.String('--config-path,-c', {
|
|
18
|
+
description: 'Path to `napi` config json file',
|
|
19
|
+
})
|
|
20
|
+
|
|
17
21
|
packageJsonPath = Option.String('--package-json-path', 'package.json', {
|
|
18
22
|
description: 'Path to `package.json`',
|
|
19
23
|
})
|
|
@@ -25,6 +29,7 @@ export abstract class BaseVersionCommand extends Command {
|
|
|
25
29
|
getOptions() {
|
|
26
30
|
return {
|
|
27
31
|
cwd: this.cwd,
|
|
32
|
+
configPath: this.configPath,
|
|
28
33
|
packageJsonPath: this.packageJsonPath,
|
|
29
34
|
npmDir: this.npmDir,
|
|
30
35
|
}
|
|
@@ -41,6 +46,10 @@ export interface VersionOptions {
|
|
|
41
46
|
* @default process.cwd()
|
|
42
47
|
*/
|
|
43
48
|
cwd?: string
|
|
49
|
+
/**
|
|
50
|
+
* Path to `napi` config json file
|
|
51
|
+
*/
|
|
52
|
+
configPath?: string
|
|
44
53
|
/**
|
|
45
54
|
* Path to `package.json`
|
|
46
55
|
*
|