@vibedeckx/darwin-arm64 0.1.22 → 0.1.23
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/bin.js +1 -0
- package/dist/ui/404/index.html +1 -1
- package/dist/ui/404.html +1 -1
- package/dist/ui/__next.__PAGE__.txt +2 -2
- package/dist/ui/__next._full.txt +2 -2
- package/dist/ui/__next._head.txt +1 -1
- package/dist/ui/__next._index.txt +1 -1
- package/dist/ui/__next._tree.txt +1 -1
- package/dist/ui/_next/static/chunks/{adfe7f92bed81cd8.js → 9393cbbff01bb58d.js} +1 -1
- package/dist/ui/_not-found/__next._full.txt +1 -1
- package/dist/ui/_not-found/__next._head.txt +1 -1
- package/dist/ui/_not-found/__next._index.txt +1 -1
- package/dist/ui/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/ui/_not-found/__next._not-found.txt +1 -1
- package/dist/ui/_not-found/__next._tree.txt +1 -1
- package/dist/ui/_not-found/index.html +1 -1
- package/dist/ui/_not-found/index.txt +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/ui/index.txt +2 -2
- package/node_modules/better-sqlite3/package.json +0 -4
- package/node_modules/node-pty/package.json +0 -3
- package/package.json +3 -2
- package/dist/bin.js.map +0 -7
- package/node_modules/base64-js/LICENSE +0 -21
- package/node_modules/base64-js/README.md +0 -34
- package/node_modules/base64-js/base64js.min.js +0 -1
- package/node_modules/base64-js/index.d.ts +0 -3
- package/node_modules/base64-js/index.js +0 -150
- package/node_modules/base64-js/package.json +0 -47
- package/node_modules/bindings/LICENSE.md +0 -22
- package/node_modules/bindings/README.md +0 -98
- package/node_modules/bindings/bindings.js +0 -221
- package/node_modules/bindings/package.json +0 -28
- package/node_modules/bl/BufferList.js +0 -396
- package/node_modules/bl/LICENSE.md +0 -13
- package/node_modules/bl/README.md +0 -247
- package/node_modules/bl/bl.js +0 -84
- package/node_modules/bl/package.json +0 -37
- package/node_modules/bl/test/convert.js +0 -21
- package/node_modules/bl/test/indexOf.js +0 -492
- package/node_modules/bl/test/isBufferList.js +0 -32
- package/node_modules/bl/test/test.js +0 -869
- package/node_modules/buffer/AUTHORS.md +0 -70
- package/node_modules/buffer/LICENSE +0 -21
- package/node_modules/buffer/README.md +0 -410
- package/node_modules/buffer/index.d.ts +0 -186
- package/node_modules/buffer/index.js +0 -1817
- package/node_modules/buffer/package.json +0 -96
- package/node_modules/chownr/LICENSE +0 -15
- package/node_modules/chownr/README.md +0 -3
- package/node_modules/chownr/chownr.js +0 -167
- package/node_modules/chownr/package.json +0 -29
- package/node_modules/decompress-response/index.d.ts +0 -22
- package/node_modules/decompress-response/index.js +0 -58
- package/node_modules/decompress-response/license +0 -9
- package/node_modules/decompress-response/package.json +0 -56
- package/node_modules/decompress-response/readme.md +0 -48
- package/node_modules/deep-extend/LICENSE +0 -20
- package/node_modules/deep-extend/README.md +0 -91
- package/node_modules/deep-extend/index.js +0 -1
- package/node_modules/deep-extend/lib/deep-extend.js +0 -150
- package/node_modules/deep-extend/package.json +0 -62
- package/node_modules/detect-libc/LICENSE +0 -201
- package/node_modules/detect-libc/README.md +0 -163
- package/node_modules/detect-libc/index.d.ts +0 -14
- package/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/node_modules/detect-libc/lib/elf.js +0 -39
- package/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/node_modules/detect-libc/lib/process.js +0 -24
- package/node_modules/detect-libc/package.json +0 -44
- package/node_modules/end-of-stream/LICENSE +0 -21
- package/node_modules/end-of-stream/README.md +0 -54
- package/node_modules/end-of-stream/index.js +0 -96
- package/node_modules/end-of-stream/package.json +0 -37
- package/node_modules/expand-template/LICENSE +0 -21
- package/node_modules/expand-template/README.md +0 -43
- package/node_modules/expand-template/index.js +0 -26
- package/node_modules/expand-template/package.json +0 -29
- package/node_modules/expand-template/test.js +0 -67
- package/node_modules/file-uri-to-path/History.md +0 -21
- package/node_modules/file-uri-to-path/LICENSE +0 -20
- package/node_modules/file-uri-to-path/README.md +0 -74
- package/node_modules/file-uri-to-path/index.d.ts +0 -2
- package/node_modules/file-uri-to-path/index.js +0 -66
- package/node_modules/file-uri-to-path/package.json +0 -32
- package/node_modules/file-uri-to-path/test/test.js +0 -24
- package/node_modules/file-uri-to-path/test/tests.json +0 -13
- package/node_modules/fs-constants/LICENSE +0 -21
- package/node_modules/fs-constants/README.md +0 -26
- package/node_modules/fs-constants/browser.js +0 -1
- package/node_modules/fs-constants/index.js +0 -1
- package/node_modules/fs-constants/package.json +0 -19
- package/node_modules/github-from-package/LICENSE +0 -18
- package/node_modules/github-from-package/example/package.json +0 -8
- package/node_modules/github-from-package/example/url.js +0 -3
- package/node_modules/github-from-package/index.js +0 -17
- package/node_modules/github-from-package/package.json +0 -30
- package/node_modules/github-from-package/readme.markdown +0 -53
- package/node_modules/github-from-package/test/a.json +0 -8
- package/node_modules/github-from-package/test/b.json +0 -5
- package/node_modules/github-from-package/test/c.json +0 -5
- package/node_modules/github-from-package/test/d.json +0 -7
- package/node_modules/github-from-package/test/e.json +0 -5
- package/node_modules/github-from-package/test/url.js +0 -19
- package/node_modules/ieee754/LICENSE +0 -11
- package/node_modules/ieee754/README.md +0 -51
- package/node_modules/ieee754/index.d.ts +0 -10
- package/node_modules/ieee754/index.js +0 -85
- package/node_modules/ieee754/package.json +0 -52
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -9
- package/node_modules/inherits/inherits_browser.js +0 -27
- package/node_modules/inherits/package.json +0 -29
- package/node_modules/ini/LICENSE +0 -15
- package/node_modules/ini/README.md +0 -102
- package/node_modules/ini/ini.js +0 -206
- package/node_modules/ini/package.json +0 -33
- package/node_modules/mimic-response/index.d.ts +0 -17
- package/node_modules/mimic-response/index.js +0 -77
- package/node_modules/mimic-response/license +0 -9
- package/node_modules/mimic-response/package.json +0 -42
- package/node_modules/mimic-response/readme.md +0 -78
- package/node_modules/minimist/CHANGELOG.md +0 -298
- package/node_modules/minimist/LICENSE +0 -18
- package/node_modules/minimist/README.md +0 -121
- package/node_modules/minimist/example/parse.js +0 -4
- package/node_modules/minimist/index.js +0 -263
- package/node_modules/minimist/package.json +0 -75
- package/node_modules/minimist/test/all_bool.js +0 -34
- package/node_modules/minimist/test/bool.js +0 -177
- package/node_modules/minimist/test/dash.js +0 -43
- package/node_modules/minimist/test/default_bool.js +0 -37
- package/node_modules/minimist/test/dotted.js +0 -24
- package/node_modules/minimist/test/kv_short.js +0 -32
- package/node_modules/minimist/test/long.js +0 -33
- package/node_modules/minimist/test/num.js +0 -38
- package/node_modules/minimist/test/parse.js +0 -209
- package/node_modules/minimist/test/parse_modified.js +0 -11
- package/node_modules/minimist/test/proto.js +0 -64
- package/node_modules/minimist/test/short.js +0 -69
- package/node_modules/minimist/test/stop_early.js +0 -17
- package/node_modules/minimist/test/unknown.js +0 -104
- package/node_modules/minimist/test/whitespace.js +0 -10
- package/node_modules/mkdirp-classic/LICENSE +0 -21
- package/node_modules/mkdirp-classic/README.md +0 -18
- package/node_modules/mkdirp-classic/index.js +0 -98
- package/node_modules/mkdirp-classic/package.json +0 -18
- package/node_modules/napi-build-utils/LICENSE +0 -21
- package/node_modules/napi-build-utils/README.md +0 -52
- package/node_modules/napi-build-utils/index.js +0 -214
- package/node_modules/napi-build-utils/index.md +0 -0
- package/node_modules/napi-build-utils/package.json +0 -42
- package/node_modules/node-abi/LICENSE +0 -21
- package/node_modules/node-abi/README.md +0 -54
- package/node_modules/node-abi/abi_registry.json +0 -439
- package/node_modules/node-abi/index.js +0 -179
- package/node_modules/node-abi/package.json +0 -45
- package/node_modules/node-addon-api/LICENSE.md +0 -9
- package/node_modules/node-addon-api/README.md +0 -319
- package/node_modules/node-addon-api/common.gypi +0 -20
- package/node_modules/node-addon-api/except.gypi +0 -25
- package/node_modules/node-addon-api/index.js +0 -12
- package/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
- package/node_modules/node-addon-api/napi-inl.h +0 -6607
- package/node_modules/node-addon-api/napi.h +0 -3201
- package/node_modules/node-addon-api/node_addon_api.gyp +0 -32
- package/node_modules/node-addon-api/node_api.gyp +0 -9
- package/node_modules/node-addon-api/noexcept.gypi +0 -26
- package/node_modules/node-addon-api/nothing.c +0 -0
- package/node_modules/node-addon-api/package-support.json +0 -21
- package/node_modules/node-addon-api/package.json +0 -480
- package/node_modules/node-addon-api/tools/README.md +0 -73
- package/node_modules/node-addon-api/tools/check-napi.js +0 -99
- package/node_modules/node-addon-api/tools/clang-format.js +0 -71
- package/node_modules/node-addon-api/tools/conversion.js +0 -301
- package/node_modules/node-addon-api/tools/eslint-format.js +0 -79
- package/node_modules/once/LICENSE +0 -15
- package/node_modules/once/README.md +0 -79
- package/node_modules/once/once.js +0 -42
- package/node_modules/once/package.json +0 -33
- package/node_modules/prebuild-install/CHANGELOG.md +0 -131
- package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
- package/node_modules/prebuild-install/LICENSE +0 -21
- package/node_modules/prebuild-install/README.md +0 -163
- package/node_modules/prebuild-install/asset.js +0 -44
- package/node_modules/prebuild-install/bin.js +0 -78
- package/node_modules/prebuild-install/download.js +0 -142
- package/node_modules/prebuild-install/error.js +0 -14
- package/node_modules/prebuild-install/help.txt +0 -16
- package/node_modules/prebuild-install/index.js +0 -1
- package/node_modules/prebuild-install/log.js +0 -33
- package/node_modules/prebuild-install/package.json +0 -67
- package/node_modules/prebuild-install/proxy.js +0 -35
- package/node_modules/prebuild-install/rc.js +0 -64
- package/node_modules/prebuild-install/util.js +0 -143
- package/node_modules/pump/LICENSE +0 -21
- package/node_modules/pump/README.md +0 -74
- package/node_modules/pump/SECURITY.md +0 -5
- package/node_modules/pump/empty.js +0 -1
- package/node_modules/pump/index.js +0 -86
- package/node_modules/pump/package.json +0 -30
- package/node_modules/pump/test-browser.js +0 -66
- package/node_modules/pump/test-node.js +0 -53
- package/node_modules/rc/LICENSE.APACHE2 +0 -15
- package/node_modules/rc/LICENSE.BSD +0 -26
- package/node_modules/rc/LICENSE.MIT +0 -24
- package/node_modules/rc/README.md +0 -227
- package/node_modules/rc/browser.js +0 -7
- package/node_modules/rc/cli.js +0 -4
- package/node_modules/rc/index.js +0 -53
- package/node_modules/rc/lib/utils.js +0 -104
- package/node_modules/rc/package.json +0 -29
- package/node_modules/rc/test/ini.js +0 -16
- package/node_modules/rc/test/nested-env-vars.js +0 -50
- package/node_modules/rc/test/test.js +0 -59
- package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/node_modules/readable-stream/LICENSE +0 -47
- package/node_modules/readable-stream/README.md +0 -106
- package/node_modules/readable-stream/errors-browser.js +0 -127
- package/node_modules/readable-stream/errors.js +0 -116
- package/node_modules/readable-stream/experimentalWarning.js +0 -17
- package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
- package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
- package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
- package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
- package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
- package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
- package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
- package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
- package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
- package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
- package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
- package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
- package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/node_modules/readable-stream/package.json +0 -68
- package/node_modules/readable-stream/readable-browser.js +0 -9
- package/node_modules/readable-stream/readable.js +0 -16
- package/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/safe-buffer/index.d.ts +0 -187
- package/node_modules/safe-buffer/index.js +0 -65
- package/node_modules/safe-buffer/package.json +0 -51
- package/node_modules/semver/LICENSE +0 -15
- package/node_modules/semver/README.md +0 -665
- package/node_modules/semver/bin/semver.js +0 -191
- package/node_modules/semver/classes/comparator.js +0 -143
- package/node_modules/semver/classes/index.js +0 -7
- package/node_modules/semver/classes/range.js +0 -557
- package/node_modules/semver/classes/semver.js +0 -333
- package/node_modules/semver/functions/clean.js +0 -8
- package/node_modules/semver/functions/cmp.js +0 -54
- package/node_modules/semver/functions/coerce.js +0 -62
- package/node_modules/semver/functions/compare-build.js +0 -9
- package/node_modules/semver/functions/compare-loose.js +0 -5
- package/node_modules/semver/functions/compare.js +0 -7
- package/node_modules/semver/functions/diff.js +0 -60
- package/node_modules/semver/functions/eq.js +0 -5
- package/node_modules/semver/functions/gt.js +0 -5
- package/node_modules/semver/functions/gte.js +0 -5
- package/node_modules/semver/functions/inc.js +0 -21
- package/node_modules/semver/functions/lt.js +0 -5
- package/node_modules/semver/functions/lte.js +0 -5
- package/node_modules/semver/functions/major.js +0 -5
- package/node_modules/semver/functions/minor.js +0 -5
- package/node_modules/semver/functions/neq.js +0 -5
- package/node_modules/semver/functions/parse.js +0 -18
- package/node_modules/semver/functions/patch.js +0 -5
- package/node_modules/semver/functions/prerelease.js +0 -8
- package/node_modules/semver/functions/rcompare.js +0 -5
- package/node_modules/semver/functions/rsort.js +0 -5
- package/node_modules/semver/functions/satisfies.js +0 -12
- package/node_modules/semver/functions/sort.js +0 -5
- package/node_modules/semver/functions/valid.js +0 -8
- package/node_modules/semver/index.js +0 -91
- package/node_modules/semver/internal/constants.js +0 -37
- package/node_modules/semver/internal/debug.js +0 -11
- package/node_modules/semver/internal/identifiers.js +0 -29
- package/node_modules/semver/internal/lrucache.js +0 -42
- package/node_modules/semver/internal/parse-options.js +0 -17
- package/node_modules/semver/internal/re.js +0 -223
- package/node_modules/semver/package.json +0 -78
- package/node_modules/semver/preload.js +0 -4
- package/node_modules/semver/range.bnf +0 -16
- package/node_modules/semver/ranges/gtr.js +0 -6
- package/node_modules/semver/ranges/intersects.js +0 -9
- package/node_modules/semver/ranges/ltr.js +0 -6
- package/node_modules/semver/ranges/max-satisfying.js +0 -27
- package/node_modules/semver/ranges/min-satisfying.js +0 -26
- package/node_modules/semver/ranges/min-version.js +0 -63
- package/node_modules/semver/ranges/outside.js +0 -82
- package/node_modules/semver/ranges/simplify.js +0 -49
- package/node_modules/semver/ranges/subset.js +0 -249
- package/node_modules/semver/ranges/to-comparators.js +0 -10
- package/node_modules/semver/ranges/valid.js +0 -13
- package/node_modules/simple-concat/LICENSE +0 -20
- package/node_modules/simple-concat/README.md +0 -44
- package/node_modules/simple-concat/index.js +0 -15
- package/node_modules/simple-concat/package.json +0 -47
- package/node_modules/simple-concat/test/basic.js +0 -41
- package/node_modules/simple-get/LICENSE +0 -20
- package/node_modules/simple-get/README.md +0 -333
- package/node_modules/simple-get/index.js +0 -108
- package/node_modules/simple-get/package.json +0 -67
- package/node_modules/string_decoder/LICENSE +0 -48
- package/node_modules/string_decoder/README.md +0 -47
- package/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/node_modules/string_decoder/package.json +0 -34
- package/node_modules/strip-json-comments/index.js +0 -70
- package/node_modules/strip-json-comments/license +0 -21
- package/node_modules/strip-json-comments/package.json +0 -42
- package/node_modules/strip-json-comments/readme.md +0 -64
- package/node_modules/tar-fs/LICENSE +0 -21
- package/node_modules/tar-fs/README.md +0 -165
- package/node_modules/tar-fs/index.js +0 -363
- package/node_modules/tar-fs/package.json +0 -41
- package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
- package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
- package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
- package/node_modules/tar-fs/test/fixtures/e/file +0 -0
- package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
- package/node_modules/tar-fs/test/index.js +0 -346
- package/node_modules/tar-stream/LICENSE +0 -21
- package/node_modules/tar-stream/README.md +0 -168
- package/node_modules/tar-stream/extract.js +0 -257
- package/node_modules/tar-stream/headers.js +0 -295
- package/node_modules/tar-stream/index.js +0 -2
- package/node_modules/tar-stream/pack.js +0 -255
- package/node_modules/tar-stream/package.json +0 -58
- package/node_modules/tar-stream/sandbox.js +0 -11
- package/node_modules/tunnel-agent/LICENSE +0 -55
- package/node_modules/tunnel-agent/README.md +0 -4
- package/node_modules/tunnel-agent/index.js +0 -244
- package/node_modules/tunnel-agent/package.json +0 -22
- package/node_modules/util-deprecate/History.md +0 -16
- package/node_modules/util-deprecate/LICENSE +0 -24
- package/node_modules/util-deprecate/README.md +0 -53
- package/node_modules/util-deprecate/browser.js +0 -67
- package/node_modules/util-deprecate/node.js +0 -6
- package/node_modules/util-deprecate/package.json +0 -27
- package/node_modules/wrappy/LICENSE +0 -15
- package/node_modules/wrappy/README.md +0 -36
- package/node_modules/wrappy/package.json +0 -29
- package/node_modules/wrappy/wrappy.js +0 -33
- /package/dist/ui/_next/static/{RRGcvhHfSg9Hi88CSZtgd → _oIkVA-8sboc_20lcPBrb}/_buildManifest.js +0 -0
- /package/dist/ui/_next/static/{RRGcvhHfSg9Hi88CSZtgd → _oIkVA-8sboc_20lcPBrb}/_clientMiddlewareManifest.json +0 -0
- /package/dist/ui/_next/static/{RRGcvhHfSg9Hi88CSZtgd → _oIkVA-8sboc_20lcPBrb}/_ssgManifest.js +0 -0
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
// Descend into a directory structure and, for each file matching *.node, output
|
|
3
|
-
// based on the imports found in the file whether it's an N-API module or not.
|
|
4
|
-
|
|
5
|
-
const fs = require('fs');
|
|
6
|
-
const path = require('path');
|
|
7
|
-
|
|
8
|
-
// Read the output of the command, break it into lines, and use the reducer to
|
|
9
|
-
// decide whether the file is an N-API module or not.
|
|
10
|
-
function checkFile (file, command, argv, reducer) {
|
|
11
|
-
const child = require('child_process').spawn(command, argv, {
|
|
12
|
-
stdio: ['inherit', 'pipe', 'inherit']
|
|
13
|
-
});
|
|
14
|
-
let leftover = '';
|
|
15
|
-
let isNapi;
|
|
16
|
-
child.stdout.on('data', (chunk) => {
|
|
17
|
-
if (isNapi === undefined) {
|
|
18
|
-
chunk = (leftover + chunk.toString()).split(/[\r\n]+/);
|
|
19
|
-
leftover = chunk.pop();
|
|
20
|
-
isNapi = chunk.reduce(reducer, isNapi);
|
|
21
|
-
if (isNapi !== undefined) {
|
|
22
|
-
child.kill();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
child.on('close', (code, signal) => {
|
|
27
|
-
if ((code === null && signal !== null) || (code !== 0)) {
|
|
28
|
-
console.log(
|
|
29
|
-
command + ' exited with code: ' + code + ' and signal: ' + signal);
|
|
30
|
-
} else {
|
|
31
|
-
// Green if it's a N-API module, red otherwise.
|
|
32
|
-
console.log(
|
|
33
|
-
'\x1b[' + (isNapi ? '42' : '41') + 'm' +
|
|
34
|
-
(isNapi ? ' N-API' : 'Not N-API') +
|
|
35
|
-
'\x1b[0m: ' + file);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Use nm -a to list symbols.
|
|
41
|
-
function checkFileUNIX (file) {
|
|
42
|
-
checkFile(file, 'nm', ['-a', file], (soFar, line) => {
|
|
43
|
-
if (soFar === undefined) {
|
|
44
|
-
line = line.match(/([0-9a-f]*)? ([a-zA-Z]) (.*$)/);
|
|
45
|
-
if (line[2] === 'U') {
|
|
46
|
-
if (/^napi/.test(line[3])) {
|
|
47
|
-
soFar = true;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return soFar;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Use dumpbin /imports to list symbols.
|
|
56
|
-
function checkFileWin32 (file) {
|
|
57
|
-
checkFile(file, 'dumpbin', ['/imports', file], (soFar, line) => {
|
|
58
|
-
if (soFar === undefined) {
|
|
59
|
-
line = line.match(/([0-9a-f]*)? +([a-zA-Z0-9]) (.*$)/);
|
|
60
|
-
if (line && /^napi/.test(line[line.length - 1])) {
|
|
61
|
-
soFar = true;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return soFar;
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// Descend into a directory structure and pass each file ending in '.node' to
|
|
69
|
-
// one of the above checks, depending on the OS.
|
|
70
|
-
function recurse (top) {
|
|
71
|
-
fs.readdir(top, (error, items) => {
|
|
72
|
-
if (error) {
|
|
73
|
-
throw new Error('error reading directory ' + top + ': ' + error);
|
|
74
|
-
}
|
|
75
|
-
items.forEach((item) => {
|
|
76
|
-
item = path.join(top, item);
|
|
77
|
-
fs.stat(item, ((item) => (error, stats) => {
|
|
78
|
-
if (error) {
|
|
79
|
-
throw new Error('error about ' + item + ': ' + error);
|
|
80
|
-
}
|
|
81
|
-
if (stats.isDirectory()) {
|
|
82
|
-
recurse(item);
|
|
83
|
-
} else if (/[.]node$/.test(item) &&
|
|
84
|
-
// Explicitly ignore files called 'nothing.node' because they are
|
|
85
|
-
// artefacts of node-addon-api having identified a version of
|
|
86
|
-
// Node.js that ships with a correct implementation of N-API.
|
|
87
|
-
path.basename(item) !== 'nothing.node') {
|
|
88
|
-
process.platform === 'win32'
|
|
89
|
-
? checkFileWin32(item)
|
|
90
|
-
: checkFileUNIX(item);
|
|
91
|
-
}
|
|
92
|
-
})(item));
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// Start with the directory given on the command line or the current directory
|
|
98
|
-
// if nothing was given.
|
|
99
|
-
recurse(process.argv.length > 3 ? process.argv[2] : '.');
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const spawn = require('child_process').spawnSync;
|
|
4
|
-
const path = require('path');
|
|
5
|
-
|
|
6
|
-
const filesToCheck = ['*.h', '*.cc'];
|
|
7
|
-
const FORMAT_START = process.env.FORMAT_START || 'main';
|
|
8
|
-
|
|
9
|
-
function main (args) {
|
|
10
|
-
let fix = false;
|
|
11
|
-
while (args.length > 0) {
|
|
12
|
-
switch (args[0]) {
|
|
13
|
-
case '-f':
|
|
14
|
-
case '--fix':
|
|
15
|
-
fix = true;
|
|
16
|
-
break;
|
|
17
|
-
default:
|
|
18
|
-
}
|
|
19
|
-
args.shift();
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const clangFormatPath = path.dirname(require.resolve('clang-format'));
|
|
23
|
-
const binary = process.platform === 'win32'
|
|
24
|
-
? 'node_modules\\.bin\\clang-format.cmd'
|
|
25
|
-
: 'node_modules/.bin/clang-format';
|
|
26
|
-
const options = ['--binary=' + binary, '--style=file'];
|
|
27
|
-
if (fix) {
|
|
28
|
-
options.push(FORMAT_START);
|
|
29
|
-
} else {
|
|
30
|
-
options.push('--diff', FORMAT_START);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const gitClangFormatPath = path.join(clangFormatPath, 'bin/git-clang-format');
|
|
34
|
-
const result = spawn(
|
|
35
|
-
'python',
|
|
36
|
-
[gitClangFormatPath, ...options, '--', ...filesToCheck],
|
|
37
|
-
{ encoding: 'utf-8' }
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
if (result.stderr) {
|
|
41
|
-
console.error('Error running git-clang-format:', result.stderr);
|
|
42
|
-
return 2;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const clangFormatOutput = result.stdout.trim();
|
|
46
|
-
// Bail fast if in fix mode.
|
|
47
|
-
if (fix) {
|
|
48
|
-
console.log(clangFormatOutput);
|
|
49
|
-
return 0;
|
|
50
|
-
}
|
|
51
|
-
// Detect if there is any complains from clang-format
|
|
52
|
-
if (
|
|
53
|
-
clangFormatOutput !== '' &&
|
|
54
|
-
clangFormatOutput !== 'no modified files to format' &&
|
|
55
|
-
clangFormatOutput !== 'clang-format did not modify any files'
|
|
56
|
-
) {
|
|
57
|
-
console.error(clangFormatOutput);
|
|
58
|
-
const fixCmd = 'npm run lint:fix';
|
|
59
|
-
console.error(`
|
|
60
|
-
ERROR: please run "${fixCmd}" to format changes in your commit
|
|
61
|
-
Note that when running the command locally, please keep your local
|
|
62
|
-
main branch and working branch up to date with nodejs/node-addon-api
|
|
63
|
-
to exclude un-related complains.
|
|
64
|
-
Or you can run "env FORMAT_START=upstream/main ${fixCmd}".`);
|
|
65
|
-
return 1;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
if (require.main === module) {
|
|
70
|
-
process.exitCode = main(process.argv.slice(2));
|
|
71
|
-
}
|
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
#! /usr/bin/env node
|
|
2
|
-
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
const fs = require('fs');
|
|
6
|
-
const path = require('path');
|
|
7
|
-
|
|
8
|
-
const args = process.argv.slice(2);
|
|
9
|
-
const dir = args[0];
|
|
10
|
-
if (!dir) {
|
|
11
|
-
console.log('Usage: node ' + path.basename(__filename) + ' <target-dir>');
|
|
12
|
-
process.exit(1);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const NodeApiVersion = require('../package.json').version;
|
|
16
|
-
|
|
17
|
-
const disable = args[1];
|
|
18
|
-
let ConfigFileOperations;
|
|
19
|
-
if (disable !== '--disable' && dir !== '--disable') {
|
|
20
|
-
ConfigFileOperations = {
|
|
21
|
-
'package.json': [
|
|
22
|
-
[/([ ]*)"dependencies": {/g, '$1"dependencies": {\n$1 "node-addon-api": "' + NodeApiVersion + '",'],
|
|
23
|
-
[/[ ]*"nan": *"[^"]+"(,|)[\n\r]/g, '']
|
|
24
|
-
],
|
|
25
|
-
'binding.gyp': [
|
|
26
|
-
[/([ ]*)'include_dirs': \[/g, '$1\'include_dirs\': [\n$1 \'<!(node -p "require(\\\'node-addon-api\\\').include_dir")\','],
|
|
27
|
-
[/([ ]*)"include_dirs": \[/g, '$1"include_dirs": [\n$1 "<!(node -p \\"require(\'node-addon-api\').include_dir\\")",'],
|
|
28
|
-
[/[ ]*("|')<!\(node -e ("|'|\\"|\\')require\(("|'|\\"|\\')nan("|'|\\"|\\')\)("|'|\\"|\\')\)("|')(,|)[\r\n]/g, ''],
|
|
29
|
-
[/([ ]*)("|')target_name("|'): ("|')(.+?)("|'),/g, '$1$2target_name$2: $4$5$6,\n $2cflags!$2: [ $2-fno-exceptions$2 ],\n $2cflags_cc!$2: [ $2-fno-exceptions$2 ],\n $2xcode_settings$2: { $2GCC_ENABLE_CPP_EXCEPTIONS$2: $2YES$2,\n $2CLANG_CXX_LIBRARY$2: $2libc++$2,\n $2MACOSX_DEPLOYMENT_TARGET$2: $210.7$2,\n },\n $2msvs_settings$2: {\n $2VCCLCompilerTool$2: { $2ExceptionHandling$2: 1 },\n },']
|
|
30
|
-
]
|
|
31
|
-
};
|
|
32
|
-
} else {
|
|
33
|
-
ConfigFileOperations = {
|
|
34
|
-
'package.json': [
|
|
35
|
-
[/([ ]*)"dependencies": {/g, '$1"dependencies": {\n$1 "node-addon-api": "' + NodeApiVersion + '",'],
|
|
36
|
-
[/[ ]*"nan": *"[^"]+"(,|)[\n\r]/g, '']
|
|
37
|
-
],
|
|
38
|
-
'binding.gyp': [
|
|
39
|
-
[/([ ]*)'include_dirs': \[/g, '$1\'include_dirs\': [\n$1 \'<!(node -p "require(\\\'node-addon-api\\\').include_dir")\','],
|
|
40
|
-
[/([ ]*)"include_dirs": \[/g, '$1"include_dirs": [\n$1 "<!(node -p \'require(\\"node-addon-api\\").include_dir\')",'],
|
|
41
|
-
[/[ ]*("|')<!\(node -e ("|'|\\"|\\')require\(("|'|\\"|\\')nan("|'|\\"|\\')\)("|'|\\"|\\')\)("|')(,|)[\r\n]/g, ''],
|
|
42
|
-
[/([ ]*)("|')target_name("|'): ("|')(.+?)("|'),/g, '$1$2target_name$2: $4$5$6,\n $2cflags!$2: [ $2-fno-exceptions$2 ],\n $2cflags_cc!$2: [ $2-fno-exceptions$2 ],\n $2defines$2: [ $2NAPI_DISABLE_CPP_EXCEPTIONS$2 ],\n $2conditions$2: [\n [\'OS=="win"\', { $2defines$2: [ $2_HAS_EXCEPTIONS=1$2 ] }]\n ]']
|
|
43
|
-
]
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const SourceFileOperations = [
|
|
48
|
-
[/Nan::SetMethod\(target,[\s]*"(.*)"[\s]*,[\s]*([^)]+)\)/g, 'exports.Set(Napi::String::New(env, "$1"), Napi::Function::New(env, $2))'],
|
|
49
|
-
|
|
50
|
-
[/v8::Local<v8::FunctionTemplate>\s+(\w+)\s*=\s*Nan::New<FunctionTemplate>\([\w\d:]+\);(?:\w+->Reset\(\1\))?\s+\1->SetClassName\(Nan::String::New\("(\w+)"\)\);/g, 'Napi::Function $1 = DefineClass(env, "$2", {'],
|
|
51
|
-
[/Local<FunctionTemplate>\s+(\w+)\s*=\s*Nan::New<FunctionTemplate>\([\w\d:]+\);\s+(\w+)\.Reset\((\1)\);\s+\1->SetClassName\((Nan::String::New|Nan::New<(v8::)*String>)\("(.+?)"\)\);/g, 'Napi::Function $1 = DefineClass(env, "$6", {'],
|
|
52
|
-
[/Local<FunctionTemplate>\s+(\w+)\s*=\s*Nan::New<FunctionTemplate>\([\w\d:]+\);(?:\w+->Reset\(\1\))?\s+\1->SetClassName\(Nan::String::New\("(\w+)"\)\);/g, 'Napi::Function $1 = DefineClass(env, "$2", {'],
|
|
53
|
-
[/Nan::New<v8::FunctionTemplate>\(([\w\d:]+)\)->GetFunction\(\)/g, 'Napi::Function::New(env, $1)'],
|
|
54
|
-
[/Nan::New<FunctionTemplate>\(([\w\d:]+)\)->GetFunction()/g, 'Napi::Function::New(env, $1);'],
|
|
55
|
-
[/Nan::New<v8::FunctionTemplate>\(([\w\d:]+)\)/g, 'Napi::Function::New(env, $1)'],
|
|
56
|
-
[/Nan::New<FunctionTemplate>\(([\w\d:]+)\)/g, 'Napi::Function::New(env, $1)'],
|
|
57
|
-
|
|
58
|
-
// FunctionTemplate to FunctionReference
|
|
59
|
-
[/Nan::Persistent<(v8::)*FunctionTemplate>/g, 'Napi::FunctionReference'],
|
|
60
|
-
[/Nan::Persistent<(v8::)*Function>/g, 'Napi::FunctionReference'],
|
|
61
|
-
[/v8::Local<v8::FunctionTemplate>/g, 'Napi::FunctionReference'],
|
|
62
|
-
[/Local<FunctionTemplate>/g, 'Napi::FunctionReference'],
|
|
63
|
-
[/v8::FunctionTemplate/g, 'Napi::FunctionReference'],
|
|
64
|
-
[/FunctionTemplate/g, 'Napi::FunctionReference'],
|
|
65
|
-
|
|
66
|
-
[/([ ]*)Nan::SetPrototypeMethod\(\w+, "(\w+)", (\w+)\);/g, '$1InstanceMethod("$2", &$3),'],
|
|
67
|
-
[/([ ]*)(?:\w+\.Reset\(\w+\);\s+)?\(target\)\.Set\("(\w+)",\s*Nan::GetFunction\((\w+)\)\);/gm,
|
|
68
|
-
'});\n\n' +
|
|
69
|
-
'$1constructor = Napi::Persistent($3);\n' +
|
|
70
|
-
'$1constructor.SuppressDestruct();\n' +
|
|
71
|
-
'$1target.Set("$2", $3);'],
|
|
72
|
-
|
|
73
|
-
// TODO: Other attribute combinations
|
|
74
|
-
[/static_cast<PropertyAttribute>\(ReadOnly\s*\|\s*DontDelete\)/gm,
|
|
75
|
-
'static_cast<napi_property_attributes>(napi_enumerable | napi_configurable)'],
|
|
76
|
-
|
|
77
|
-
[/([\w\d:<>]+?)::Cast\((.+?)\)/g, '$2.As<$1>()'],
|
|
78
|
-
|
|
79
|
-
[/\*Nan::Utf8String\(([^)]+)\)/g, '$1->As<Napi::String>().Utf8Value().c_str()'],
|
|
80
|
-
[/Nan::Utf8String +(\w+)\(([^)]+)\)/g, 'std::string $1 = $2.As<Napi::String>()'],
|
|
81
|
-
[/Nan::Utf8String/g, 'std::string'],
|
|
82
|
-
|
|
83
|
-
[/v8::String::Utf8Value (.+?)\((.+?)\)/g, 'Napi::String $1(env, $2)'],
|
|
84
|
-
[/String::Utf8Value (.+?)\((.+?)\)/g, 'Napi::String $1(env, $2)'],
|
|
85
|
-
[/\.length\(\)/g, '.Length()'],
|
|
86
|
-
|
|
87
|
-
[/Nan::MakeCallback\(([^,]+),[\s\\]+([^,]+),/gm, '$2.MakeCallback($1,'],
|
|
88
|
-
|
|
89
|
-
[/class\s+(\w+)\s*:\s*public\s+Nan::ObjectWrap/g, 'class $1 : public Napi::ObjectWrap<$1>'],
|
|
90
|
-
[/(\w+)\(([^)]*)\)\s*:\s*Nan::ObjectWrap\(\)\s*(,)?/gm, '$1($2) : Napi::ObjectWrap<$1>()$3'],
|
|
91
|
-
|
|
92
|
-
// HandleOKCallback to OnOK
|
|
93
|
-
[/HandleOKCallback/g, 'OnOK'],
|
|
94
|
-
// HandleErrorCallback to OnError
|
|
95
|
-
[/HandleErrorCallback/g, 'OnError'],
|
|
96
|
-
|
|
97
|
-
// ex. .As<Function>() to .As<Napi::Object>()
|
|
98
|
-
[/\.As<v8::(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>\(\)/g, '.As<Napi::$1>()'],
|
|
99
|
-
[/\.As<(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>\(\)/g, '.As<Napi::$1>()'],
|
|
100
|
-
|
|
101
|
-
// ex. Nan::New<Number>(info[0]) to Napi::Number::New(info[0])
|
|
102
|
-
[/Nan::New<(v8::)*Integer>\((.+?)\)/g, 'Napi::Number::New(env, $2)'],
|
|
103
|
-
[/Nan::New\(([0-9.]+)\)/g, 'Napi::Number::New(env, $1)'],
|
|
104
|
-
[/Nan::New<(v8::)*String>\("(.+?)"\)/g, 'Napi::String::New(env, "$2")'],
|
|
105
|
-
[/Nan::New\("(.+?)"\)/g, 'Napi::String::New(env, "$1")'],
|
|
106
|
-
[/Nan::New<(v8::)*(.+?)>\(\)/g, 'Napi::$2::New(env)'],
|
|
107
|
-
[/Nan::New<(.+?)>\(\)/g, 'Napi::$1::New(env)'],
|
|
108
|
-
[/Nan::New<(v8::)*(.+?)>\(/g, 'Napi::$2::New(env, '],
|
|
109
|
-
[/Nan::New<(.+?)>\(/g, 'Napi::$1::New(env, '],
|
|
110
|
-
[/Nan::NewBuffer\(/g, 'Napi::Buffer<char>::New(env, '],
|
|
111
|
-
// TODO: Properly handle this
|
|
112
|
-
[/Nan::New\(/g, 'Napi::New(env, '],
|
|
113
|
-
|
|
114
|
-
[/\.IsInt32\(\)/g, '.IsNumber()'],
|
|
115
|
-
[/->IsInt32\(\)/g, '.IsNumber()'],
|
|
116
|
-
|
|
117
|
-
[/(.+?)->BooleanValue\(\)/g, '$1.As<Napi::Boolean>().Value()'],
|
|
118
|
-
[/(.+?)->Int32Value\(\)/g, '$1.As<Napi::Number>().Int32Value()'],
|
|
119
|
-
[/(.+?)->Uint32Value\(\)/g, '$1.As<Napi::Number>().Uint32Value()'],
|
|
120
|
-
[/(.+?)->IntegerValue\(\)/g, '$1.As<Napi::Number>().Int64Value()'],
|
|
121
|
-
[/(.+?)->NumberValue\(\)/g, '$1.As<Napi::Number>().DoubleValue()'],
|
|
122
|
-
|
|
123
|
-
// ex. Nan::To<bool>(info[0]) to info[0].Value()
|
|
124
|
-
[/Nan::To<v8::(Boolean|String|Number|Object|Array|Symbol|Function)>\((.+?)\)/g, '$2.To<Napi::$1>()'],
|
|
125
|
-
[/Nan::To<(Boolean|String|Number|Object|Array|Symbol|Function)>\((.+?)\)/g, '$2.To<Napi::$1>()'],
|
|
126
|
-
// ex. Nan::To<bool>(info[0]) to info[0].As<Napi::Boolean>().Value()
|
|
127
|
-
[/Nan::To<bool>\((.+?)\)/g, '$1.As<Napi::Boolean>().Value()'],
|
|
128
|
-
// ex. Nan::To<int>(info[0]) to info[0].As<Napi::Number>().Int32Value()
|
|
129
|
-
[/Nan::To<int>\((.+?)\)/g, '$1.As<Napi::Number>().Int32Value()'],
|
|
130
|
-
// ex. Nan::To<int32_t>(info[0]) to info[0].As<Napi::Number>().Int32Value()
|
|
131
|
-
[/Nan::To<int32_t>\((.+?)\)/g, '$1.As<Napi::Number>().Int32Value()'],
|
|
132
|
-
// ex. Nan::To<uint32_t>(info[0]) to info[0].As<Napi::Number>().Uint32Value()
|
|
133
|
-
[/Nan::To<uint32_t>\((.+?)\)/g, '$1.As<Napi::Number>().Uint32Value()'],
|
|
134
|
-
// ex. Nan::To<int64_t>(info[0]) to info[0].As<Napi::Number>().Int64Value()
|
|
135
|
-
[/Nan::To<int64_t>\((.+?)\)/g, '$1.As<Napi::Number>().Int64Value()'],
|
|
136
|
-
// ex. Nan::To<float>(info[0]) to info[0].As<Napi::Number>().FloatValue()
|
|
137
|
-
[/Nan::To<float>\((.+?)\)/g, '$1.As<Napi::Number>().FloatValue()'],
|
|
138
|
-
// ex. Nan::To<double>(info[0]) to info[0].As<Napi::Number>().DoubleValue()
|
|
139
|
-
[/Nan::To<double>\((.+?)\)/g, '$1.As<Napi::Number>().DoubleValue()'],
|
|
140
|
-
|
|
141
|
-
[/Nan::New\((\w+)\)->HasInstance\((\w+)\)/g, '$2.InstanceOf($1.Value())'],
|
|
142
|
-
|
|
143
|
-
[/Nan::Has\(([^,]+),\s*/gm, '($1).Has('],
|
|
144
|
-
[/\.Has\([\s|\\]*Nan::New<(v8::)*String>\(([^)]+)\)\)/gm, '.Has($1)'],
|
|
145
|
-
[/\.Has\([\s|\\]*Nan::New\(([^)]+)\)\)/gm, '.Has($1)'],
|
|
146
|
-
|
|
147
|
-
[/Nan::Get\(([^,]+),\s*/gm, '($1).Get('],
|
|
148
|
-
[/\.Get\([\s|\\]*Nan::New<(v8::)*String>\(([^)]+)\)\)/gm, '.Get($1)'],
|
|
149
|
-
[/\.Get\([\s|\\]*Nan::New\(([^)]+)\)\)/gm, '.Get($1)'],
|
|
150
|
-
|
|
151
|
-
[/Nan::Set\(([^,]+),\s*/gm, '($1).Set('],
|
|
152
|
-
[/\.Set\([\s|\\]*Nan::New<(v8::)*String>\(([^)]+)\)\s*,/gm, '.Set($1,'],
|
|
153
|
-
[/\.Set\([\s|\\]*Nan::New\(([^)]+)\)\s*,/gm, '.Set($1,'],
|
|
154
|
-
|
|
155
|
-
// ex. node::Buffer::HasInstance(info[0]) to info[0].IsBuffer()
|
|
156
|
-
[/node::Buffer::HasInstance\((.+?)\)/g, '$1.IsBuffer()'],
|
|
157
|
-
// ex. node::Buffer::Length(info[0]) to info[0].Length()
|
|
158
|
-
[/node::Buffer::Length\((.+?)\)/g, '$1.As<Napi::Buffer<char>>().Length()'],
|
|
159
|
-
// ex. node::Buffer::Data(info[0]) to info[0].Data()
|
|
160
|
-
[/node::Buffer::Data\((.+?)\)/g, '$1.As<Napi::Buffer<char>>().Data()'],
|
|
161
|
-
[/Nan::CopyBuffer\(/g, 'Napi::Buffer::Copy(env, '],
|
|
162
|
-
|
|
163
|
-
// Nan::AsyncQueueWorker(worker)
|
|
164
|
-
[/Nan::AsyncQueueWorker\((.+)\);/g, '$1.Queue();'],
|
|
165
|
-
[/Nan::(Undefined|Null|True|False)\(\)/g, 'env.$1()'],
|
|
166
|
-
|
|
167
|
-
// Nan::ThrowError(error) to Napi::Error::New(env, error).ThrowAsJavaScriptException()
|
|
168
|
-
[/([ ]*)return Nan::Throw(\w*?)Error\((.+?)\);/g, '$1Napi::$2Error::New(env, $3).ThrowAsJavaScriptException();\n$1return env.Null();'],
|
|
169
|
-
[/Nan::Throw(\w*?)Error\((.+?)\);\n(\s*)return;/g, 'Napi::$1Error::New(env, $2).ThrowAsJavaScriptException();\n$3return env.Null();'],
|
|
170
|
-
[/Nan::Throw(\w*?)Error\((.+?)\);/g, 'Napi::$1Error::New(env, $2).ThrowAsJavaScriptException();\n'],
|
|
171
|
-
// Nan::RangeError(error) to Napi::RangeError::New(env, error)
|
|
172
|
-
[/Nan::(\w*?)Error\((.+)\)/g, 'Napi::$1Error::New(env, $2)'],
|
|
173
|
-
|
|
174
|
-
[/Nan::Set\((.+?),\n* *(.+?),\n* *(.+?),\n* *(.+?)\)/g, '$1.Set($2, $3, $4)'],
|
|
175
|
-
|
|
176
|
-
[/Nan::(Escapable)?HandleScope\s+(\w+)\s*;/g, 'Napi::$1HandleScope $2(env);'],
|
|
177
|
-
[/Nan::(Escapable)?HandleScope/g, 'Napi::$1HandleScope'],
|
|
178
|
-
[/Nan::ForceSet\(([^,]+), ?/g, '$1->DefineProperty('],
|
|
179
|
-
[/\.ForceSet\(Napi::String::New\(env, "(\w+)"\),\s*?/g, '.DefineProperty("$1", '],
|
|
180
|
-
// [ /Nan::GetPropertyNames\(([^,]+)\)/, '$1->GetPropertyNames()' ],
|
|
181
|
-
[/Nan::Equals\(([^,]+),/g, '$1.StrictEquals('],
|
|
182
|
-
|
|
183
|
-
[/(.+)->Set\(/g, '$1.Set('],
|
|
184
|
-
|
|
185
|
-
[/Nan::Callback/g, 'Napi::FunctionReference'],
|
|
186
|
-
|
|
187
|
-
[/Nan::Persistent<Object>/g, 'Napi::ObjectReference'],
|
|
188
|
-
[/Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE target/g, 'Napi::Env& env, Napi::Object& target'],
|
|
189
|
-
|
|
190
|
-
[/(\w+)\*\s+(\w+)\s*=\s*Nan::ObjectWrap::Unwrap<\w+>\(info\.This\(\)\);/g, '$1* $2 = this;'],
|
|
191
|
-
[/Nan::ObjectWrap::Unwrap<(\w+)>\((.*)\);/g, '$2.Unwrap<$1>();'],
|
|
192
|
-
|
|
193
|
-
[/Nan::NAN_METHOD_RETURN_TYPE/g, 'void'],
|
|
194
|
-
[/NAN_INLINE/g, 'inline'],
|
|
195
|
-
|
|
196
|
-
[/Nan::NAN_METHOD_ARGS_TYPE/g, 'const Napi::CallbackInfo&'],
|
|
197
|
-
[/NAN_METHOD\(([\w\d:]+?)\)/g, 'Napi::Value $1(const Napi::CallbackInfo& info)'],
|
|
198
|
-
[/static\s*NAN_GETTER\(([\w\d:]+?)\)/g, 'Napi::Value $1(const Napi::CallbackInfo& info)'],
|
|
199
|
-
[/NAN_GETTER\(([\w\d:]+?)\)/g, 'Napi::Value $1(const Napi::CallbackInfo& info)'],
|
|
200
|
-
[/static\s*NAN_SETTER\(([\w\d:]+?)\)/g, 'void $1(const Napi::CallbackInfo& info, const Napi::Value& value)'],
|
|
201
|
-
[/NAN_SETTER\(([\w\d:]+?)\)/g, 'void $1(const Napi::CallbackInfo& info, const Napi::Value& value)'],
|
|
202
|
-
[/void Init\((v8::)*Local<(v8::)*Object> exports\)/g, 'Napi::Object Init(Napi::Env env, Napi::Object exports)'],
|
|
203
|
-
[/NAN_MODULE_INIT\(([\w\d:]+?)\);/g, 'Napi::Object $1(Napi::Env env, Napi::Object exports);'],
|
|
204
|
-
[/NAN_MODULE_INIT\(([\w\d:]+?)\)/g, 'Napi::Object $1(Napi::Env env, Napi::Object exports)'],
|
|
205
|
-
|
|
206
|
-
[/::(Init(?:ialize)?)\(target\)/g, '::$1(env, target, module)'],
|
|
207
|
-
[/constructor_template/g, 'constructor'],
|
|
208
|
-
|
|
209
|
-
[/Nan::FunctionCallbackInfo<(v8::)?Value>[ ]*& [ ]*info\)[ ]*{\n*([ ]*)/gm, 'Napi::CallbackInfo& info) {\n$2Napi::Env env = info.Env();\n$2'],
|
|
210
|
-
[/Nan::FunctionCallbackInfo<(v8::)*Value>\s*&\s*info\);/g, 'Napi::CallbackInfo& info);'],
|
|
211
|
-
[/Nan::FunctionCallbackInfo<(v8::)*Value>\s*&/g, 'Napi::CallbackInfo&'],
|
|
212
|
-
|
|
213
|
-
[/Buffer::HasInstance\(([^)]+)\)/g, '$1.IsBuffer()'],
|
|
214
|
-
|
|
215
|
-
[/info\[(\d+)\]->/g, 'info[$1].'],
|
|
216
|
-
[/info\[([\w\d]+)\]->/g, 'info[$1].'],
|
|
217
|
-
[/info\.This\(\)->/g, 'info.This().'],
|
|
218
|
-
[/->Is(Object|String|Int32|Number)\(\)/g, '.Is$1()'],
|
|
219
|
-
[/info.GetReturnValue\(\).SetUndefined\(\)/g, 'return env.Undefined()'],
|
|
220
|
-
[/info\.GetReturnValue\(\)\.Set\(((\n|.)+?)\);/g, 'return $1;'],
|
|
221
|
-
|
|
222
|
-
// ex. Local<Value> to Napi::Value
|
|
223
|
-
[/v8::Local<v8::(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>/g, 'Napi::$1'],
|
|
224
|
-
[/Local<(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>/g, 'Napi::$1'],
|
|
225
|
-
|
|
226
|
-
// Declare an env in helper functions that take a Napi::Value
|
|
227
|
-
[/(\w+)\(Napi::Value (\w+)(,\s*[^()]+)?\)\s*{\n*([ ]*)/gm, '$1(Napi::Value $2$3) {\n$4Napi::Env env = $2.Env();\n$4'],
|
|
228
|
-
|
|
229
|
-
// delete #include <node.h> and/or <v8.h>
|
|
230
|
-
[/#include +(<|")(?:node|nan).h("|>)/g, '#include $1napi.h$2\n#include $1uv.h$2'],
|
|
231
|
-
// NODE_MODULE to NODE_API_MODULE
|
|
232
|
-
[/NODE_MODULE/g, 'NODE_API_MODULE'],
|
|
233
|
-
[/Nan::/g, 'Napi::'],
|
|
234
|
-
[/nan.h/g, 'napi.h'],
|
|
235
|
-
|
|
236
|
-
// delete .FromJust()
|
|
237
|
-
[/\.FromJust\(\)/g, ''],
|
|
238
|
-
// delete .ToLocalCheck()
|
|
239
|
-
[/\.ToLocalChecked\(\)/g, ''],
|
|
240
|
-
[/^.*->SetInternalFieldCount\(.*$/gm, ''],
|
|
241
|
-
|
|
242
|
-
// replace using node; and/or using v8; to using Napi;
|
|
243
|
-
[/using (node|v8);/g, 'using Napi;'],
|
|
244
|
-
[/using namespace (node|Nan|v8);/g, 'using namespace Napi;'],
|
|
245
|
-
// delete using v8::Local;
|
|
246
|
-
[/using v8::Local;\n/g, ''],
|
|
247
|
-
// replace using v8::XXX; with using Napi::XXX
|
|
248
|
-
[/using v8::([A-Za-z]+);/g, 'using Napi::$1;']
|
|
249
|
-
|
|
250
|
-
];
|
|
251
|
-
|
|
252
|
-
const paths = listFiles(dir);
|
|
253
|
-
paths.forEach(function (dirEntry) {
|
|
254
|
-
const filename = dirEntry.split('\\').pop().split('/').pop();
|
|
255
|
-
|
|
256
|
-
// Check whether the file is a source file or a config file
|
|
257
|
-
// then execute function accordingly
|
|
258
|
-
const sourcePattern = /.+\.h|.+\.cc|.+\.cpp/;
|
|
259
|
-
if (sourcePattern.test(filename)) {
|
|
260
|
-
convertFile(dirEntry, SourceFileOperations);
|
|
261
|
-
} else if (ConfigFileOperations[filename] != null) {
|
|
262
|
-
convertFile(dirEntry, ConfigFileOperations[filename]);
|
|
263
|
-
}
|
|
264
|
-
});
|
|
265
|
-
|
|
266
|
-
function listFiles (dir, filelist) {
|
|
267
|
-
const files = fs.readdirSync(dir);
|
|
268
|
-
filelist = filelist || [];
|
|
269
|
-
files.forEach(function (file) {
|
|
270
|
-
if (file === 'node_modules') {
|
|
271
|
-
return;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
if (fs.statSync(path.join(dir, file)).isDirectory()) {
|
|
275
|
-
filelist = listFiles(path.join(dir, file), filelist);
|
|
276
|
-
} else {
|
|
277
|
-
filelist.push(path.join(dir, file));
|
|
278
|
-
}
|
|
279
|
-
});
|
|
280
|
-
return filelist;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
function convert (content, operations) {
|
|
284
|
-
for (let i = 0; i < operations.length; i++) {
|
|
285
|
-
const operation = operations[i];
|
|
286
|
-
content = content.replace(operation[0], operation[1]);
|
|
287
|
-
}
|
|
288
|
-
return content;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
function convertFile (fileName, operations) {
|
|
292
|
-
fs.readFile(fileName, 'utf-8', function (err, file) {
|
|
293
|
-
if (err) throw err;
|
|
294
|
-
|
|
295
|
-
file = convert(file, operations);
|
|
296
|
-
|
|
297
|
-
fs.writeFile(fileName, file, function (err) {
|
|
298
|
-
if (err) throw err;
|
|
299
|
-
});
|
|
300
|
-
});
|
|
301
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const spawn = require('child_process').spawnSync;
|
|
4
|
-
|
|
5
|
-
const filesToCheck = '*.js';
|
|
6
|
-
const FORMAT_START = process.env.FORMAT_START || 'main';
|
|
7
|
-
const IS_WIN = process.platform === 'win32';
|
|
8
|
-
const ESLINT_PATH = IS_WIN ? 'node_modules\\.bin\\eslint.cmd' : 'node_modules/.bin/eslint';
|
|
9
|
-
|
|
10
|
-
function main (args) {
|
|
11
|
-
let fix = false;
|
|
12
|
-
while (args.length > 0) {
|
|
13
|
-
switch (args[0]) {
|
|
14
|
-
case '-f':
|
|
15
|
-
case '--fix':
|
|
16
|
-
fix = true;
|
|
17
|
-
break;
|
|
18
|
-
default:
|
|
19
|
-
}
|
|
20
|
-
args.shift();
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Check js files that change on unstaged file
|
|
24
|
-
const fileUnStaged = spawn(
|
|
25
|
-
'git',
|
|
26
|
-
['diff', '--name-only', '--diff-filter=d', FORMAT_START, filesToCheck],
|
|
27
|
-
{
|
|
28
|
-
encoding: 'utf-8'
|
|
29
|
-
}
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
// Check js files that change on staged file
|
|
33
|
-
const fileStaged = spawn(
|
|
34
|
-
'git',
|
|
35
|
-
['diff', '--name-only', '--cached', '--diff-filter=d', FORMAT_START, filesToCheck],
|
|
36
|
-
{
|
|
37
|
-
encoding: 'utf-8'
|
|
38
|
-
}
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
const options = [
|
|
42
|
-
...fileStaged.stdout.split('\n').filter((f) => f !== ''),
|
|
43
|
-
...fileUnStaged.stdout.split('\n').filter((f) => f !== '')
|
|
44
|
-
];
|
|
45
|
-
|
|
46
|
-
if (fix) {
|
|
47
|
-
options.push('--fix');
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const result = spawn(ESLINT_PATH, [...options], {
|
|
51
|
-
encoding: 'utf-8'
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
if (result.error && result.error.errno === 'ENOENT') {
|
|
55
|
-
console.error('Eslint not found! Eslint is supposed to be found at ', ESLINT_PATH);
|
|
56
|
-
return 2;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (result.status === 1) {
|
|
60
|
-
console.error('Eslint error:', result.stdout);
|
|
61
|
-
const fixCmd = 'npm run lint:fix';
|
|
62
|
-
console.error(`ERROR: please run "${fixCmd}" to format changes in your commit
|
|
63
|
-
Note that when running the command locally, please keep your local
|
|
64
|
-
main branch and working branch up to date with nodejs/node-addon-api
|
|
65
|
-
to exclude un-related complains.
|
|
66
|
-
Or you can run "env FORMAT_START=upstream/main ${fixCmd}".
|
|
67
|
-
Also fix JS files by yourself if necessary.`);
|
|
68
|
-
return 1;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (result.stderr) {
|
|
72
|
-
console.error('Error running eslint:', result.stderr);
|
|
73
|
-
return 2;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
if (require.main === module) {
|
|
78
|
-
process.exitCode = main(process.argv.slice(2));
|
|
79
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
The ISC License
|
|
2
|
-
|
|
3
|
-
Copyright (c) Isaac Z. Schlueter and Contributors
|
|
4
|
-
|
|
5
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
copyright notice and this permission notice appear in all copies.
|
|
8
|
-
|
|
9
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
10
|
-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
11
|
-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
12
|
-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
13
|
-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
|
-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
15
|
-
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
# once
|
|
2
|
-
|
|
3
|
-
Only call a function once.
|
|
4
|
-
|
|
5
|
-
## usage
|
|
6
|
-
|
|
7
|
-
```javascript
|
|
8
|
-
var once = require('once')
|
|
9
|
-
|
|
10
|
-
function load (file, cb) {
|
|
11
|
-
cb = once(cb)
|
|
12
|
-
loader.load('file')
|
|
13
|
-
loader.once('load', cb)
|
|
14
|
-
loader.once('error', cb)
|
|
15
|
-
}
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Or add to the Function.prototype in a responsible way:
|
|
19
|
-
|
|
20
|
-
```javascript
|
|
21
|
-
// only has to be done once
|
|
22
|
-
require('once').proto()
|
|
23
|
-
|
|
24
|
-
function load (file, cb) {
|
|
25
|
-
cb = cb.once()
|
|
26
|
-
loader.load('file')
|
|
27
|
-
loader.once('load', cb)
|
|
28
|
-
loader.once('error', cb)
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Ironically, the prototype feature makes this module twice as
|
|
33
|
-
complicated as necessary.
|
|
34
|
-
|
|
35
|
-
To check whether you function has been called, use `fn.called`. Once the
|
|
36
|
-
function is called for the first time the return value of the original
|
|
37
|
-
function is saved in `fn.value` and subsequent calls will continue to
|
|
38
|
-
return this value.
|
|
39
|
-
|
|
40
|
-
```javascript
|
|
41
|
-
var once = require('once')
|
|
42
|
-
|
|
43
|
-
function load (cb) {
|
|
44
|
-
cb = once(cb)
|
|
45
|
-
var stream = createStream()
|
|
46
|
-
stream.once('data', cb)
|
|
47
|
-
stream.once('end', function () {
|
|
48
|
-
if (!cb.called) cb(new Error('not found'))
|
|
49
|
-
})
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## `once.strict(func)`
|
|
54
|
-
|
|
55
|
-
Throw an error if the function is called twice.
|
|
56
|
-
|
|
57
|
-
Some functions are expected to be called only once. Using `once` for them would
|
|
58
|
-
potentially hide logical errors.
|
|
59
|
-
|
|
60
|
-
In the example below, the `greet` function has to call the callback only once:
|
|
61
|
-
|
|
62
|
-
```javascript
|
|
63
|
-
function greet (name, cb) {
|
|
64
|
-
// return is missing from the if statement
|
|
65
|
-
// when no name is passed, the callback is called twice
|
|
66
|
-
if (!name) cb('Hello anonymous')
|
|
67
|
-
cb('Hello ' + name)
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
function log (msg) {
|
|
71
|
-
console.log(msg)
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// this will print 'Hello anonymous' but the logical error will be missed
|
|
75
|
-
greet(null, once(msg))
|
|
76
|
-
|
|
77
|
-
// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time
|
|
78
|
-
greet(null, once.strict(msg))
|
|
79
|
-
```
|