@napi-rs/cli 3.3.1 → 3.4.1
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 +28 -24
- package/dist/index.cjs +61 -24
- package/dist/index.d.cts +404 -10
- package/dist/index.d.ts +403 -9
- package/dist/index.js +53 -25
- package/package.json +1 -1
- package/src/api/build.ts +19 -22
- package/src/api/templates/js-binding.ts +1 -4
- package/src/index.ts +35 -0
package/package.json
CHANGED
package/src/api/build.ts
CHANGED
|
@@ -619,9 +619,7 @@ class Builder {
|
|
|
619
619
|
|
|
620
620
|
private setOpenHarmonyEnv() {
|
|
621
621
|
const { OHOS_SDK_PATH, OHOS_SDK_NATIVE } = process.env
|
|
622
|
-
const ndkPath = OHOS_SDK_PATH
|
|
623
|
-
? `${OHOS_SDK_NATIVE}/native`
|
|
624
|
-
: OHOS_SDK_NATIVE
|
|
622
|
+
const ndkPath = OHOS_SDK_PATH ? `${OHOS_SDK_PATH}/native` : OHOS_SDK_NATIVE
|
|
625
623
|
// @ts-expect-error
|
|
626
624
|
if (!ndkPath && process.platform !== 'openharmony') {
|
|
627
625
|
debug.warn(
|
|
@@ -880,10 +878,8 @@ class Builder {
|
|
|
880
878
|
return []
|
|
881
879
|
}
|
|
882
880
|
|
|
883
|
-
const exports = await generateTypeDef({
|
|
881
|
+
const { exports, dts } = await generateTypeDef({
|
|
884
882
|
typeDefDir,
|
|
885
|
-
outputDir: this.outputDir,
|
|
886
|
-
dts: this.options.dts,
|
|
887
883
|
noDtsHeader: this.options.noDtsHeader,
|
|
888
884
|
dtsHeader: this.options.dtsHeader,
|
|
889
885
|
configDtsHeader: this.config.dtsHeader,
|
|
@@ -892,6 +888,17 @@ class Builder {
|
|
|
892
888
|
cwd: this.options.cwd,
|
|
893
889
|
})
|
|
894
890
|
|
|
891
|
+
const dest = join(this.outputDir, this.options.dts ?? 'index.d.ts')
|
|
892
|
+
|
|
893
|
+
try {
|
|
894
|
+
debug('Writing type def to:')
|
|
895
|
+
debug(' %i', dest)
|
|
896
|
+
await writeFileAsync(dest, dts, 'utf-8')
|
|
897
|
+
} catch (e) {
|
|
898
|
+
debug.error('Failed to write type def file')
|
|
899
|
+
debug.error(e as Error)
|
|
900
|
+
}
|
|
901
|
+
|
|
895
902
|
if (exports.length > 0) {
|
|
896
903
|
const dest = join(this.outputDir, this.options.dts ?? 'index.d.ts')
|
|
897
904
|
this.outputs.push({ kind: 'dts', path: dest })
|
|
@@ -1044,8 +1051,6 @@ export async function writeJsBinding(
|
|
|
1044
1051
|
|
|
1045
1052
|
export interface GenerateTypeDefOptions {
|
|
1046
1053
|
typeDefDir: string
|
|
1047
|
-
outputDir: string
|
|
1048
|
-
dts?: string
|
|
1049
1054
|
noDtsHeader?: boolean
|
|
1050
1055
|
dtsHeader?: string
|
|
1051
1056
|
dtsHeaderFile?: string
|
|
@@ -1057,13 +1062,11 @@ export interface GenerateTypeDefOptions {
|
|
|
1057
1062
|
|
|
1058
1063
|
export async function generateTypeDef(
|
|
1059
1064
|
options: GenerateTypeDefOptions,
|
|
1060
|
-
): Promise<string[]> {
|
|
1065
|
+
): Promise<{ exports: string[]; dts: string }> {
|
|
1061
1066
|
if (!(await dirExistsAsync(options.typeDefDir))) {
|
|
1062
|
-
return []
|
|
1067
|
+
return { exports: [], dts: '' }
|
|
1063
1068
|
}
|
|
1064
1069
|
|
|
1065
|
-
const dest = join(options.outputDir, options.dts ?? 'index.d.ts')
|
|
1066
|
-
|
|
1067
1070
|
let header = ''
|
|
1068
1071
|
let dts = ''
|
|
1069
1072
|
let exports: string[] = []
|
|
@@ -1094,7 +1097,7 @@ export async function generateTypeDef(
|
|
|
1094
1097
|
|
|
1095
1098
|
if (!files.length) {
|
|
1096
1099
|
debug('No type def files found. Skip generating dts file.')
|
|
1097
|
-
return []
|
|
1100
|
+
return { exports: [], dts: '' }
|
|
1098
1101
|
}
|
|
1099
1102
|
|
|
1100
1103
|
for (const file of files) {
|
|
@@ -1130,14 +1133,8 @@ export type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array
|
|
|
1130
1133
|
|
|
1131
1134
|
dts = header + dts
|
|
1132
1135
|
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
await writeFileAsync(dest, dts, 'utf-8')
|
|
1137
|
-
} catch (e) {
|
|
1138
|
-
debug.error('Failed to write type def file')
|
|
1139
|
-
debug.error(e as Error)
|
|
1136
|
+
return {
|
|
1137
|
+
exports,
|
|
1138
|
+
dts,
|
|
1140
1139
|
}
|
|
1141
|
-
|
|
1142
|
-
return exports
|
|
1143
1140
|
}
|
|
@@ -5,9 +5,6 @@ export function createCjsBinding(
|
|
|
5
5
|
packageVersion?: string,
|
|
6
6
|
): string {
|
|
7
7
|
return `${bindingHeader}
|
|
8
|
-
const { createRequire } = require('node:module')
|
|
9
|
-
require = createRequire(__filename)
|
|
10
|
-
|
|
11
8
|
${createCommonBinding(localName, pkgName, packageVersion)}
|
|
12
9
|
module.exports = nativeBinding
|
|
13
10
|
${idents
|
|
@@ -146,7 +143,7 @@ function requireNative() {
|
|
|
146
143
|
}
|
|
147
144
|
} else if (process.platform === 'win32') {
|
|
148
145
|
if (process.arch === 'x64') {
|
|
149
|
-
if (process.
|
|
146
|
+
if (process.config?.variables?.shlib_suffix === 'dll.a' || process.config?.variables?.node_target_type === 'shared_library') {
|
|
150
147
|
${requireTuple('win32-x64-gnu')}
|
|
151
148
|
} else {
|
|
152
149
|
${requireTuple('win32-x64-msvc')}
|
package/src/index.ts
CHANGED
|
@@ -57,6 +57,40 @@ export class NapiCli {
|
|
|
57
57
|
version = version
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
export function createBuildCommand(args: string[]): BuildCommand {
|
|
61
|
+
return cli.process(['build', ...args]) as BuildCommand
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function createArtifactsCommand(args: string[]): ArtifactsCommand {
|
|
65
|
+
return cli.process(['artifacts', ...args]) as ArtifactsCommand
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function createCreateNpmDirsCommand(
|
|
69
|
+
args: string[],
|
|
70
|
+
): CreateNpmDirsCommand {
|
|
71
|
+
return cli.process(['create-npm-dirs', ...args]) as CreateNpmDirsCommand
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function createPrePublishCommand(args: string[]): PrePublishCommand {
|
|
75
|
+
return cli.process(['pre-publish', ...args]) as PrePublishCommand
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function createRenameCommand(args: string[]): RenameCommand {
|
|
79
|
+
return cli.process(['rename', ...args]) as RenameCommand
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export function createUniversalizeCommand(args: string[]): UniversalizeCommand {
|
|
83
|
+
return cli.process(['universalize', ...args]) as UniversalizeCommand
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export function createVersionCommand(args: string[]): VersionCommand {
|
|
87
|
+
return cli.process(['version', ...args]) as VersionCommand
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export function createNewCommand(args: string[]): NewCommand {
|
|
91
|
+
return cli.process(['new', ...args]) as NewCommand
|
|
92
|
+
}
|
|
93
|
+
|
|
60
94
|
export { parseTriple } from './utils/target.js'
|
|
61
95
|
export {
|
|
62
96
|
type GenerateTypeDefOptions,
|
|
@@ -64,3 +98,4 @@ export {
|
|
|
64
98
|
writeJsBinding,
|
|
65
99
|
generateTypeDef,
|
|
66
100
|
} from './api/build.js'
|
|
101
|
+
export { readNapiConfig } from './utils/config.js'
|