diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ba2515de..e70b7e49 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,4 +1,6 @@ name: CI +env: + DEBUG: 'napi:*' on: push: @@ -188,7 +190,7 @@ jobs: path: artifacts - name: Move artifacts - run: node scripts/mv-artifacts.js + run: yarn artifacts shell: bash - name: Test bindings @@ -214,6 +216,9 @@ jobs: steps: - uses: actions/checkout@v2 + - name: 'Install dependencies' + run: yarn install --frozen-lockfile --ignore-scripts --registry https://registry.npmjs.org + - name: Download artifacts uses: actions/download-artifact@v2 with: @@ -221,18 +226,12 @@ jobs: path: artifacts - name: Move artifacts - run: node scripts/mv-artifacts.js - shell: bash - env: - MOVE_TARGET: linux-musl + run: yarn artifacts - name: List packages run: ls -R packages shell: bash - - name: 'Install dependencies' - run: yarn install --frozen-lockfile --ignore-scripts --registry https://registry.npmjs.org - - name: Build TypeScript run: yarn build:ts @@ -287,19 +286,11 @@ jobs: shell: bash - name: Move artifacts - run: node scripts/mv-artifacts.js - env: - MOVE_TARGET: all + run: yarn artifacts - name: Build TypeScript run: yarn build:ts - - name: Upload artifacts to Github release - run: | - node scripts/upload-to-release.js - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: List packages run: ls -R packages shell: bash @@ -310,3 +301,4 @@ jobs: npx lerna publish from-package --no-verify-access --yes env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 2ea50f94..6ca38a30 100644 --- a/.gitignore +++ b/.gitignore @@ -178,3 +178,4 @@ temp/ *.node lib +artifacts \ No newline at end of file diff --git a/package.json b/package.json index 7d9abbee..bece0f20 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "private": true, "workspaces": ["packages/*"], "scripts": { + "artifacts": "napi artifacts", "bench": "lerna run bench --concurrency 1 --stream --no-prefix", "build:ts": "tsc -b tsconfig.project.json -verbose", "lint": "eslint . -c ./.eslintrc.yml 'packages/**/*.{ts,js}'", @@ -20,32 +21,29 @@ "typecheck": "tsc -b tsconfig.project.json -verbose" }, "devDependencies": { - "@octokit/rest": "^18.0.4", - "@swc-node/register": "^0.4.3", - "@typescript-eslint/eslint-plugin": "^4.0.0", - "@typescript-eslint/parser": "^3.10.1", + "@swc-node/register": "^0.4.5", + "@typescript-eslint/eslint-plugin": "^4.0.1", + "@typescript-eslint/parser": "^4.0.1", "ava": "^3.12.1", "benchmark": "^2.1.4", - "chalk": "^4.1.0", "codecov": "^3.7.2", "cross-env": "^7.0.2", - "eslint": "^7.7.0", + "eslint": "^7.8.1", "eslint-config-prettier": "^6.11.0", "eslint-plugin-import": "^2.22.0", "eslint-plugin-prettier": "^3.1.4", "eslint-plugin-sonarjs": "^0.5.0", "husky": "^4.2.5", "lerna": "^3.22.1", - "lint-staged": "^10.2.13", - "napi-rs": "^0.2.6", + "lint-staged": "^10.3.0", + "napi-rs": "^0.3.0", "npm-run-all": "^4.1.5", "nyc": "^15.1.0", "prettier": "^2.1.1", - "putasset": "^5.0.3", "typescript": "^4.0.2" }, "optionalDependencies": { - "@swc-node/core-linux-musl": "^0.6.0" + "@swc-node/core-linux-musl": "^0.6.1" }, "ava": { "extensions": ["ts"], diff --git a/packages/bcrypt/Cargo.toml b/packages/bcrypt/Cargo.toml index 2805547a..1523bb13 100644 --- a/packages/bcrypt/Cargo.toml +++ b/packages/bcrypt/Cargo.toml @@ -11,14 +11,17 @@ crate-type = ["cdylib"] radix64 = "0.6" blowfish = { version = "0.6", features = ["bcrypt"] } byteorder = "1" -napi = { version = "0.4"} -napi-derive = { version = "0.4.2" } +napi = { version = "0.5" } +napi-derive = { version = "0.5" } rand = "0.7" phf = { version = "0.8", features = ["macros"] } [target.'cfg(all(unix, not(target_env = "musl")))'.dependencies] jemallocator = { version = "0.3", features = ["disable_initial_exec_tls"] } +[target.'cfg(windows)'.dependencies] +mimalloc = { version = "0.1" } + [dev-dependencies] quickcheck = "0.9" diff --git a/packages/bcrypt/index.js b/packages/bcrypt/index.js index 817d2c01..16badbb5 100644 --- a/packages/bcrypt/index.js +++ b/packages/bcrypt/index.js @@ -1,6 +1,6 @@ const { loadBinding } = require('@node-rs/helper') -const binding = loadBinding(__dirname, 'bcrypt') +const binding = loadBinding(__dirname, 'bcrypt', '@node-rs/bcrypt') const DEFAULT_COST = 12 diff --git a/packages/bcrypt/npm/darwin/README.md b/packages/bcrypt/npm/darwin/README.md new file mode 100644 index 00000000..9a58cbec --- /dev/null +++ b/packages/bcrypt/npm/darwin/README.md @@ -0,0 +1,3 @@ +`#@node-rs/bcrypt-darwin` + +this is the **darwin** 64-bit binary for `@node-rs/bcrypt` diff --git a/packages/bcrypt/npm/darwin/package.json b/packages/bcrypt/npm/darwin/package.json new file mode 100644 index 00000000..afe8f8d0 --- /dev/null +++ b/packages/bcrypt/npm/darwin/package.json @@ -0,0 +1,40 @@ +{ + "name": "@node-rs/bcrypt-darwin", + "version": "0.4.1", + "os": [ + "darwin" + ], + "main": "bcrypt.darwin.node", + "files": [ + "bcrypt.darwin.node" + ], + "description": "Rust bcrypt binding", + "keywords": [ + "bcrypt", + "auth", + "password", + "authentication", + "encryption", + "crypto", + "N-API", + "napi-rs", + "node-rs" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/bcrypt/npm/linux-musl/README.md b/packages/bcrypt/npm/linux-musl/README.md new file mode 100644 index 00000000..b7ecd415 --- /dev/null +++ b/packages/bcrypt/npm/linux-musl/README.md @@ -0,0 +1,3 @@ +`#@node-rs/bcrypt-linux-musl` + +this is the **linux-musl** 64-bit binary for `@node-rs/bcrypt` diff --git a/packages/bcrypt/npm/linux-musl/package.json b/packages/bcrypt/npm/linux-musl/package.json new file mode 100644 index 00000000..a034aa89 --- /dev/null +++ b/packages/bcrypt/npm/linux-musl/package.json @@ -0,0 +1,40 @@ +{ + "name": "@node-rs/bcrypt-linux-musl", + "version": "0.4.1", + "os": [ + "linux-musl" + ], + "main": "bcrypt.linux-musl.node", + "files": [ + "bcrypt.linux-musl.node" + ], + "description": "Rust bcrypt binding", + "keywords": [ + "bcrypt", + "auth", + "password", + "authentication", + "encryption", + "crypto", + "N-API", + "napi-rs", + "node-rs" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/bcrypt/npm/linux/README.md b/packages/bcrypt/npm/linux/README.md new file mode 100644 index 00000000..d7f6921c --- /dev/null +++ b/packages/bcrypt/npm/linux/README.md @@ -0,0 +1,3 @@ +`#@node-rs/bcrypt-linux` + +this is the **linux** 64-bit binary for `@node-rs/bcrypt` diff --git a/packages/bcrypt/npm/linux/package.json b/packages/bcrypt/npm/linux/package.json new file mode 100644 index 00000000..1778827f --- /dev/null +++ b/packages/bcrypt/npm/linux/package.json @@ -0,0 +1,40 @@ +{ + "name": "@node-rs/bcrypt-linux", + "version": "0.4.1", + "os": [ + "linux" + ], + "main": "bcrypt.linux.node", + "files": [ + "bcrypt.linux.node" + ], + "description": "Rust bcrypt binding", + "keywords": [ + "bcrypt", + "auth", + "password", + "authentication", + "encryption", + "crypto", + "N-API", + "napi-rs", + "node-rs" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/bcrypt/npm/win32/README.md b/packages/bcrypt/npm/win32/README.md new file mode 100644 index 00000000..3b8d4316 --- /dev/null +++ b/packages/bcrypt/npm/win32/README.md @@ -0,0 +1,3 @@ +`#@node-rs/bcrypt-win32` + +this is the **win32** 64-bit binary for `@node-rs/bcrypt` diff --git a/packages/bcrypt/npm/win32/package.json b/packages/bcrypt/npm/win32/package.json new file mode 100644 index 00000000..6c0a5bc5 --- /dev/null +++ b/packages/bcrypt/npm/win32/package.json @@ -0,0 +1,40 @@ +{ + "name": "@node-rs/bcrypt-win32", + "version": "0.4.1", + "os": [ + "win32" + ], + "main": "bcrypt.win32.node", + "files": [ + "bcrypt.win32.node" + ], + "description": "Rust bcrypt binding", + "keywords": [ + "bcrypt", + "auth", + "password", + "authentication", + "encryption", + "crypto", + "N-API", + "napi-rs", + "node-rs" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/bcrypt/package.json b/packages/bcrypt/package.json index 988aa72c..c81df9e9 100644 --- a/packages/bcrypt/package.json +++ b/packages/bcrypt/package.json @@ -8,8 +8,12 @@ "license": "MIT", "main": "index.js", "typings": "index.d.ts", - "files": ["index.js", "index.d.ts", "*.node", "LICENSE", "LICENSE.rust-bcrypt"], + "files": ["index.js", "index.d.ts", "LICENSE", "LICENSE.rust-bcrypt"], "os": ["darwin", "linux", "win32"], + "napi": { + "name": "bcrypt", + "musl": ["linux"] + }, "engines": { "node": ">= 8.9" }, @@ -23,8 +27,10 @@ }, "scripts": { "bench": "cross-env NODE_ENV=production node benchmark/bcrypt.js", - "build": "napi build --platform --release ./bcrypt", - "build:debug": "napi build --platform ./bcrypt" + "build": "napi build --platform --release", + "build:debug": "napi build --platform", + "prepublishOnly": "napi prepublish", + "version": "napi version" }, "bugs": { "url": "https://github.com/napi-rs/node-rs/issues" diff --git a/packages/bcrypt/src/lib.rs b/packages/bcrypt/src/lib.rs index a278cab8..91885603 100644 --- a/packages/bcrypt/src/lib.rs +++ b/packages/bcrypt/src/lib.rs @@ -19,6 +19,10 @@ mod verify_task; #[global_allocator] static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc; +#[cfg(windows)] +#[global_allocator] +static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc; + mod b64; mod bcrypt; mod errors; diff --git a/packages/crc32/Cargo.toml b/packages/crc32/Cargo.toml index 629afc3d..7929670c 100644 --- a/packages/crc32/Cargo.toml +++ b/packages/crc32/Cargo.toml @@ -8,12 +8,15 @@ edition = "2018" crate-type = ["cdylib"] [dependencies] -napi = { version = "0.4" } -napi-derive = { version = "0.4.2" } +napi = { version = "0.5" } +napi-derive = { version = "0.5" } crc32fast = "1.2" [target.'cfg(all(unix, not(target_env = "musl")))'.dependencies] jemallocator = { version = "0.3", features = ["disable_initial_exec_tls"] } +[target.'cfg(windows)'.dependencies] +mimalloc = { version = "0.1" } + [build-dependencies] napi-build = { version = "0.2" } diff --git a/packages/crc32/index.js b/packages/crc32/index.js index 66c8f254..5b5f05cb 100644 --- a/packages/crc32/index.js +++ b/packages/crc32/index.js @@ -1,6 +1,6 @@ const { loadBinding } = require('@node-rs/helper') -const binding = loadBinding(__dirname, 'crc32') +const binding = loadBinding(__dirname, 'crc32', '@node-rs/crc32') module.exports = { crc32: function crc32(input, crc) { diff --git a/packages/crc32/npm/darwin/README.md b/packages/crc32/npm/darwin/README.md new file mode 100644 index 00000000..0f1af56a --- /dev/null +++ b/packages/crc32/npm/darwin/README.md @@ -0,0 +1,3 @@ +`#@node-rs/crc32-darwin` + +this is the **darwin** 64-bit binary for `@node-rs/crc32` diff --git a/packages/crc32/npm/darwin/package.json b/packages/crc32/npm/darwin/package.json new file mode 100644 index 00000000..7a8ea0f9 --- /dev/null +++ b/packages/crc32/npm/darwin/package.json @@ -0,0 +1,37 @@ +{ + "name": "@node-rs/crc32-darwin", + "version": "0.4.1", + "os": [ + "darwin" + ], + "main": "crc32.darwin.node", + "files": [ + "crc32.darwin.node" + ], + "description": "SIMD crc32", + "keywords": [ + "SIMD", + "NAPI", + "napi-rs", + "node-rs", + "crc32", + "crc32c" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/crc32/npm/linux-musl/README.md b/packages/crc32/npm/linux-musl/README.md new file mode 100644 index 00000000..e93635c0 --- /dev/null +++ b/packages/crc32/npm/linux-musl/README.md @@ -0,0 +1,3 @@ +`#@node-rs/crc32-linux-musl` + +this is the **linux-musl** 64-bit binary for `@node-rs/crc32` diff --git a/packages/crc32/npm/linux-musl/package.json b/packages/crc32/npm/linux-musl/package.json new file mode 100644 index 00000000..21cc12c2 --- /dev/null +++ b/packages/crc32/npm/linux-musl/package.json @@ -0,0 +1,37 @@ +{ + "name": "@node-rs/crc32-linux-musl", + "version": "0.4.1", + "os": [ + "linux-musl" + ], + "main": "crc32.linux-musl.node", + "files": [ + "crc32.linux-musl.node" + ], + "description": "SIMD crc32", + "keywords": [ + "SIMD", + "NAPI", + "napi-rs", + "node-rs", + "crc32", + "crc32c" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/crc32/npm/linux/README.md b/packages/crc32/npm/linux/README.md new file mode 100644 index 00000000..fae08f53 --- /dev/null +++ b/packages/crc32/npm/linux/README.md @@ -0,0 +1,3 @@ +`#@node-rs/crc32-linux` + +this is the **linux** 64-bit binary for `@node-rs/crc32` diff --git a/packages/crc32/npm/linux/package.json b/packages/crc32/npm/linux/package.json new file mode 100644 index 00000000..4b3a001e --- /dev/null +++ b/packages/crc32/npm/linux/package.json @@ -0,0 +1,37 @@ +{ + "name": "@node-rs/crc32-linux", + "version": "0.4.1", + "os": [ + "linux" + ], + "main": "crc32.linux.node", + "files": [ + "crc32.linux.node" + ], + "description": "SIMD crc32", + "keywords": [ + "SIMD", + "NAPI", + "napi-rs", + "node-rs", + "crc32", + "crc32c" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/crc32/npm/win32/README.md b/packages/crc32/npm/win32/README.md new file mode 100644 index 00000000..dd8f5a43 --- /dev/null +++ b/packages/crc32/npm/win32/README.md @@ -0,0 +1,3 @@ +`#@node-rs/crc32-win32` + +this is the **win32** 64-bit binary for `@node-rs/crc32` diff --git a/packages/crc32/npm/win32/package.json b/packages/crc32/npm/win32/package.json new file mode 100644 index 00000000..7170608b --- /dev/null +++ b/packages/crc32/npm/win32/package.json @@ -0,0 +1,37 @@ +{ + "name": "@node-rs/crc32-win32", + "version": "0.4.1", + "os": [ + "win32" + ], + "main": "crc32.win32.node", + "files": [ + "crc32.win32.node" + ], + "description": "SIMD crc32", + "keywords": [ + "SIMD", + "NAPI", + "napi-rs", + "node-rs", + "crc32", + "crc32c" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/crc32/package.json b/packages/crc32/package.json index 8d4c2e69..713ec5e9 100644 --- a/packages/crc32/package.json +++ b/packages/crc32/package.json @@ -8,8 +8,12 @@ "license": "MIT", "main": "index.js", "typings": "index.d.ts", - "files": ["index.js", "index.d.ts", "*.node", "LICENSE", "COPYING"], + "files": ["index.js", "index.d.ts", "LICENSE", "COPYING"], "os": ["darwin", "linux", "win32"], + "napi": { + "name": "crc32", + "musl": ["linux"] + }, "engines": { "node": ">= 8.9" }, @@ -23,8 +27,10 @@ }, "scripts": { "bench": "cross-env NODE_ENV=production node benchmark/crc32.js", - "build": "napi build --platform --release ./crc32", - "build:debug": "napi build --platform ./crc32" + "build": "napi build --platform --release", + "build:debug": "napi build --platform", + "prepublishOnly": "napi prepublish", + "version": "napi version" }, "bugs": { "url": "https://github.com/napi-rs/node-rs/issues" diff --git a/packages/crc32/src/lib.rs b/packages/crc32/src/lib.rs index 3de7a5a8..54068028 100644 --- a/packages/crc32/src/lib.rs +++ b/packages/crc32/src/lib.rs @@ -12,6 +12,10 @@ use std::convert::TryInto; #[global_allocator] static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc; +#[cfg(windows)] +#[global_allocator] +static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc; + mod bytes; mod crc32; mod crc32_table; diff --git a/packages/deno-lint/Cargo.toml b/packages/deno-lint/Cargo.toml index e5ec8145..b41b75c6 100644 --- a/packages/deno-lint/Cargo.toml +++ b/packages/deno-lint/Cargo.toml @@ -10,8 +10,8 @@ crate-type = ["cdylib"] [dependencies] deno_lint = "=0.1.28" ignore = "0.4" -napi = { version = "0.4" } -napi-derive = { version = "0.4" } +napi = { version = "0.5" } +napi-derive = { version = "0.5" } serde = "1" serde_json = "1" swc_ecmascript = { version = "=0.7.0", features = ["parser", "transforms", "utils", "visit"] } @@ -20,5 +20,8 @@ termcolor = "1.1" [target.'cfg(all(unix, not(target_env = "musl")))'.dependencies] jemallocator = { version = "0.3", features = ["disable_initial_exec_tls"] } +[target.'cfg(windows)'.dependencies] +mimalloc = { version = "0.1" } + [build-dependencies] napi-build = { version = "0.2" } diff --git a/packages/deno-lint/index.js b/packages/deno-lint/index.js index 5bd13df0..52b597aa 100644 --- a/packages/deno-lint/index.js +++ b/packages/deno-lint/index.js @@ -2,29 +2,7 @@ const { platform } = require('os') const { loadBinding } = require('@node-rs/helper') -let binding - -try { - binding = loadBinding(__dirname, 'deno-lint') - // eslint-disable-next-line no-empty -} catch (e) {} - -if (!binding) { - const platformName = platform() - try { - binding = require(`@node-rs/deno-lint-${platformName}`) - } catch (e) { - if (platformName === 'linux') { - try { - binding = require('@node-rs/deno-lint-linux-musl') - } catch (e) { - throw new TypeError('Error loading native addon: ' + e.message) - } - } else { - throw new TypeError('Not compatible with your platform. Error message: ' + e.message) - } - } -} +const binding = loadBinding(__dirname, 'deno-lint', '@node-rs/deno-lint') module.exports = { binding, diff --git a/packages/deno-lint/package.json b/packages/deno-lint/package.json index 11e412bb..f7a7cfd9 100644 --- a/packages/deno-lint/package.json +++ b/packages/deno-lint/package.json @@ -2,7 +2,16 @@ "name": "@node-rs/deno-lint", "version": "0.5.0", "description": "Deno lint binding for NodeJS", - "keywords": ["Deno", "Lint", "ESLint", "node-rs", "napi", "N-API", "Rust", "napi-rs"], + "keywords": [ + "Deno", + "Lint", + "ESLint", + "node-rs", + "napi", + "N-API", + "Rust", + "napi-rs" + ], "author": "LongYinan ", "homepage": "https://github.com/napi-rs/node-rs", "license": "MIT", @@ -11,9 +20,27 @@ "denolint": "./bin.js" }, "typings": "index.d.ts", - "files": ["index.js", "index.d.ts", "bin.js", "webpack-loader.js", "LICENSE"], - "os": ["darwin", "linux", "win32"], - "cpu": ["x64"], + "files": [ + "index.js", + "index.d.ts", + "bin.js", + "webpack-loader.js", + "LICENSE" + ], + "os": [ + "darwin", + "linux", + "win32" + ], + "cpu": [ + "x64" + ], + "napi": { + "name": "deno-lint", + "musl": [ + "linux" + ] + }, "engines": { "node": ">= 8.9" }, @@ -27,10 +54,10 @@ }, "scripts": { "bench": "cross-env NODE_ENV=production node benchmark/lint.js", - "build": "napi build --platform --release ./deno-lint", - "build:debug": "napi build --platform ./deno-lint", - "prepublishOnly": "node ./publish.js", - "version": "node ./version.js" + "build": "napi build --platform --release", + "build:debug": "napi build --platform", + "prepublishOnly": "napi prepublish", + "version": "napi version" }, "bugs": { "url": "https://github.com/napi-rs/node-rs/issues" @@ -42,4 +69,4 @@ "devDependencies": { "@types/webpack": "^4.41.21" } -} +} \ No newline at end of file diff --git a/packages/deno-lint/platforms.js b/packages/deno-lint/platforms.js deleted file mode 100644 index b8127e52..00000000 --- a/packages/deno-lint/platforms.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = ['win32', 'darwin', 'linux'] diff --git a/packages/deno-lint/publish.js b/packages/deno-lint/publish.js deleted file mode 100644 index 7bfb3da5..00000000 --- a/packages/deno-lint/publish.js +++ /dev/null @@ -1,26 +0,0 @@ -const { execSync } = require('child_process') -const fs = require('fs') -const path = require('path') - -const { version } = require('./package.json') -const platforms = require('./platforms') -const updatePackageJson = require('./update-package') - -updatePackageJson(path.join(__dirname, 'package.json'), { - optionalDependencies: platforms.reduce((acc, cur) => { - acc[`@node-rs/deno-lint-${cur}`] = `^${version}` - return acc - }, {}), -}) - -for (const name of [...platforms, 'linux-musl']) { - const pkgDir = path.join(__dirname, 'npm', name) - const filename = `deno-lint.${name}.node` - const bindingFile = fs.readFileSync(path.join(__dirname, filename)) - fs.writeFileSync(path.join(pkgDir, filename), bindingFile) - execSync('npm publish', { - cwd: pkgDir, - env: process.env, - stdio: 'inherit', - }) -} diff --git a/packages/deno-lint/src/lib.rs b/packages/deno-lint/src/lib.rs index 4b8e992c..9b078159 100644 --- a/packages/deno-lint/src/lib.rs +++ b/packages/deno-lint/src/lib.rs @@ -28,6 +28,10 @@ use termcolor::{BufferWriter, ColorChoice}; #[global_allocator] static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc; +#[cfg(windows)] +#[global_allocator] +static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc; + register_module!(denolint, init); #[allow(unused)] @@ -214,8 +218,8 @@ fn lint(ctx: CallContext) -> Result { let mut result = ctx.env.create_array_with_length(file_diagnostics.len())?; for (index, diagnostic) in file_diagnostics.iter().enumerate() { - result.set_number_indexed_property( - ctx.env.create_int32(index as i32)?, + result.set_element( + index as _, ctx .env .create_string(format_diagnostic(diagnostic, source_string).as_str())?, diff --git a/packages/deno-lint/update-package.js b/packages/deno-lint/update-package.js deleted file mode 100644 index ca9c0eac..00000000 --- a/packages/deno-lint/update-package.js +++ /dev/null @@ -1,6 +0,0 @@ -const fs = require('fs') - -module.exports = function updatePackageJson(path, partial) { - const old = require(path) - fs.writeFileSync(path, JSON.stringify({ ...old, ...partial }, null, 2)) -} diff --git a/packages/deno-lint/version.js b/packages/deno-lint/version.js deleted file mode 100644 index 836b5438..00000000 --- a/packages/deno-lint/version.js +++ /dev/null @@ -1,17 +0,0 @@ -const { execSync } = require('child_process') -const path = require('path') - -const { version } = require('./package.json') -const platforms = require('./platforms') -const updatePackageJson = require('./update-package') - -for (const name of [...platforms, 'linux-musl']) { - const pkgDir = path.join(__dirname, 'npm', name) - updatePackageJson(path.join(pkgDir, 'package.json'), { - version, - }) -} - -execSync('git add .', { - stdio: 'inherit', -}) diff --git a/packages/helper/src/loader.ts b/packages/helper/src/loader.ts index 4d3d6dfb..d2d54ea6 100644 --- a/packages/helper/src/loader.ts +++ b/packages/helper/src/loader.ts @@ -4,26 +4,53 @@ import { join } from 'path' const SupportedPlatforms = new Set(['darwin', 'win32', 'linux']) -export function loadBinding(dirname: string, filename = 'index') { +export function loadBinding(dirname: string, filename = 'index', packageName?: string) { const platformName = platform() if (!SupportedPlatforms.has(platformName)) { throw new TypeError( - `Unsupported platform: ${platformName}, only support ${[...SupportedPlatforms.values()].join(', ')}`, + `Unsupported platform: ${platformName}, only support for ${[...SupportedPlatforms.values()].join(', ')}`, ) } const bindingFilePath = join(dirname, `${filename}.${platformName}.node`) + const localMuslBindigFilePath = join(dirname, `${filename}.linux-musl.node`) + const muslExistedInLocal = existsSync(localMuslBindigFilePath) if (platformName === 'linux') { try { return require(bindingFilePath) - } catch { - return require(join(dirname, `${filename}.linux-musl.node`)) + } catch (e1) { + if (muslExistedInLocal) { + try { + return require(localMuslBindigFilePath) + } catch (e) { + throw new TypeError( + `Loading linux musl addon in local path failed: ${e.message}, Loading linux addon in local path failed: ${e1.message}`, + ) + } + } } } if (!existsSync(bindingFilePath)) { - throw new TypeError(`Could not find binding file on path ${bindingFilePath}`) + if (!packageName) { + throw new TypeError(`Could not find binding file on path ${bindingFilePath}`) + } + const platformName = platform() + + try { + return require(`${packageName}-${platformName}`) + } catch (e1) { + if (platformName === 'linux') { + try { + return require(`${packageName}-linux-musl`) + } catch (e) { + throw new TypeError(`Loading linux musl addon Error: ${e.message}, Loading linux addon Error: ${e1.message}`) + } + } else { + throw new TypeError('Not compatible with your platform. Error message: ' + e1.message) + } + } } return require(bindingFilePath) diff --git a/packages/jieba/Cargo.toml b/packages/jieba/Cargo.toml index 26a95c1d..91b9f9c8 100644 --- a/packages/jieba/Cargo.toml +++ b/packages/jieba/Cargo.toml @@ -9,12 +9,15 @@ crate-type = ["cdylib"] [dependencies] jieba-rs = { version = "0.6.0", features = ["default-dict", "tfidf", "textrank"] } -napi = { version = "0.4"} -napi-derive = { version = "0.4.2" } +napi = { version = "0.5" } +napi-derive = { version = "0.5" } once_cell = "1.4" [target.'cfg(all(unix, not(target_env = "musl")))'.dependencies] jemallocator = { version = "0.3", features = ["disable_initial_exec_tls"] } +[target.'cfg(windows)'.dependencies] +mimalloc = { version = "0.1" } + [build-dependencies] napi-build = { version = "0.2" } \ No newline at end of file diff --git a/packages/jieba/index.js b/packages/jieba/index.js index 6ee3f9fe..50e7eeee 100644 --- a/packages/jieba/index.js +++ b/packages/jieba/index.js @@ -1,6 +1,6 @@ const { loadBinding } = require('@node-rs/helper') -const native = loadBinding(__dirname, 'jieba') +const native = loadBinding(__dirname, 'jieba', '@node-rs/jieba') module.exports = { ...native, diff --git a/packages/jieba/npm/darwin/README.md b/packages/jieba/npm/darwin/README.md new file mode 100644 index 00000000..9cfe3960 --- /dev/null +++ b/packages/jieba/npm/darwin/README.md @@ -0,0 +1,3 @@ +`#@node-rs/jieba-darwin` + +this is the **darwin** 64-bit binary for `@node-rs/jieba` diff --git a/packages/jieba/npm/darwin/package.json b/packages/jieba/npm/darwin/package.json new file mode 100644 index 00000000..9fbd5890 --- /dev/null +++ b/packages/jieba/npm/darwin/package.json @@ -0,0 +1,37 @@ +{ + "name": "@node-rs/jieba-darwin", + "version": "0.5.1", + "os": [ + "darwin" + ], + "main": "jieba.darwin.node", + "files": [ + "jieba.darwin.node" + ], + "description": "Fastest Chinese word segmentation in NodeJS", + "keywords": [ + "Jieba", + "Rust", + "node-rs", + "napi", + "napi-rs", + "N-API" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/jieba/npm/linux-musl/README.md b/packages/jieba/npm/linux-musl/README.md new file mode 100644 index 00000000..8ec8d4ee --- /dev/null +++ b/packages/jieba/npm/linux-musl/README.md @@ -0,0 +1,3 @@ +`#@node-rs/jieba-linux-musl` + +this is the **linux-musl** 64-bit binary for `@node-rs/jieba` diff --git a/packages/jieba/npm/linux-musl/package.json b/packages/jieba/npm/linux-musl/package.json new file mode 100644 index 00000000..7cdb9654 --- /dev/null +++ b/packages/jieba/npm/linux-musl/package.json @@ -0,0 +1,37 @@ +{ + "name": "@node-rs/jieba-linux-musl", + "version": "0.5.1", + "os": [ + "linux-musl" + ], + "main": "jieba.linux-musl.node", + "files": [ + "jieba.linux-musl.node" + ], + "description": "Fastest Chinese word segmentation in NodeJS", + "keywords": [ + "Jieba", + "Rust", + "node-rs", + "napi", + "napi-rs", + "N-API" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/jieba/npm/linux/README.md b/packages/jieba/npm/linux/README.md new file mode 100644 index 00000000..b352f147 --- /dev/null +++ b/packages/jieba/npm/linux/README.md @@ -0,0 +1,3 @@ +`#@node-rs/jieba-linux` + +this is the **linux** 64-bit binary for `@node-rs/jieba` diff --git a/packages/jieba/npm/linux/package.json b/packages/jieba/npm/linux/package.json new file mode 100644 index 00000000..62f283bf --- /dev/null +++ b/packages/jieba/npm/linux/package.json @@ -0,0 +1,37 @@ +{ + "name": "@node-rs/jieba-linux", + "version": "0.5.1", + "os": [ + "linux" + ], + "main": "jieba.linux.node", + "files": [ + "jieba.linux.node" + ], + "description": "Fastest Chinese word segmentation in NodeJS", + "keywords": [ + "Jieba", + "Rust", + "node-rs", + "napi", + "napi-rs", + "N-API" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/jieba/npm/win32/README.md b/packages/jieba/npm/win32/README.md new file mode 100644 index 00000000..fa28ee78 --- /dev/null +++ b/packages/jieba/npm/win32/README.md @@ -0,0 +1,3 @@ +`#@node-rs/jieba-win32` + +this is the **win32** 64-bit binary for `@node-rs/jieba` diff --git a/packages/jieba/npm/win32/package.json b/packages/jieba/npm/win32/package.json new file mode 100644 index 00000000..1e2cce70 --- /dev/null +++ b/packages/jieba/npm/win32/package.json @@ -0,0 +1,37 @@ +{ + "name": "@node-rs/jieba-win32", + "version": "0.5.1", + "os": [ + "win32" + ], + "main": "jieba.win32.node", + "files": [ + "jieba.win32.node" + ], + "description": "Fastest Chinese word segmentation in NodeJS", + "keywords": [ + "Jieba", + "Rust", + "node-rs", + "napi", + "napi-rs", + "N-API" + ], + "author": "LongYinan ", + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 8.9" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "bugs": { + "url": "https://github.com/napi-rs/node-rs/issues" + } +} \ No newline at end of file diff --git a/packages/jieba/package.json b/packages/jieba/package.json index 2507d597..7b8e8f9d 100644 --- a/packages/jieba/package.json +++ b/packages/jieba/package.json @@ -8,8 +8,12 @@ "license": "MIT", "main": "index.js", "typings": "index.d.ts", - "files": ["index.js", "index.d.ts", "*.node", "LICENSE"], + "files": ["index.js", "index.d.ts", "LICENSE"], "os": ["darwin", "linux", "win32"], + "napi": { + "name": "jieba", + "musl": ["linux"] + }, "engines": { "node": ">= 8.9" }, @@ -23,8 +27,10 @@ }, "scripts": { "bench": "cross-env NODE_ENV=production node benchmark/jieba.js", - "build": "napi build --platform --release ./jieba", - "build:debug": "napi build --platform ./jieba" + "build": "napi build --platform --release", + "build:debug": "napi build --platform", + "prepublishOnly": "napi prepublish", + "version": "napi version" }, "bugs": { "url": "https://github.com/napi-rs/node-rs/issues" diff --git a/packages/jieba/src/lib.rs b/packages/jieba/src/lib.rs index f8c59a9c..d3710887 100644 --- a/packages/jieba/src/lib.rs +++ b/packages/jieba/src/lib.rs @@ -16,6 +16,10 @@ use std::str; #[global_allocator] static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc; +#[cfg(windows)] +#[global_allocator] +static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc; + register_module!(test_module, init); static JIEBA: OnceCell = OnceCell::new(); @@ -165,7 +169,7 @@ fn extract(ctx: CallContext) -> Result { let mut tag_value = ctx.env.create_object()?; tag_value.set_named_property("keyword", ctx.env.create_string(t.keyword.as_str())?)?; tag_value.set_named_property("weight", ctx.env.create_double(t.weight)?)?; - js_tags.set_index(index, tag_value)?; + js_tags.set_element(index as _, tag_value)?; } Ok(js_tags) diff --git a/scripts/mv-artifacts.js b/scripts/mv-artifacts.js deleted file mode 100644 index c566d3a9..00000000 --- a/scripts/mv-artifacts.js +++ /dev/null @@ -1,34 +0,0 @@ -const { execSync } = require('child_process') -const { existsSync } = require('fs') -const { platform } = require('os') -const { join } = require('path') - -const packages = require('./packages') -const supporttedPlatforms = require('./platforms') - -const MOVE_ALL = process.env.MOVE_TARGET === 'all' - -const platforms = MOVE_ALL ? supporttedPlatforms : [process.env.MOVE_TARGET || platform()] - -/** - * @param {string[]} _platforms platforms - * @param {boolean | undefined} moveAll - * @returns {void} - */ -function moveFile(_platforms, moveAll = false) { - for (const package of packages) { - for (const platformName of _platforms) { - const optionalPath = moveAll ? `bindings-${platformName}` : '' - const artifactPath = join(process.cwd(), 'artifacts', optionalPath, package, `${package}.${platformName}.node`) - if (existsSync(artifactPath)) { - execSync(`mv ${artifactPath} ./packages/${package}/`, { - stdio: 'inherit', - }) - } else { - throw new TypeError(`${artifactPath} not existed`) - } - } - } -} - -moveFile(platforms, MOVE_ALL) diff --git a/scripts/platforms.js b/scripts/platforms.js deleted file mode 100644 index 090ce92c..00000000 --- a/scripts/platforms.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = ['linux', 'linux-musl', 'darwin', 'win32'] diff --git a/scripts/upload-to-release.js b/scripts/upload-to-release.js deleted file mode 100644 index 0b00dd75..00000000 --- a/scripts/upload-to-release.js +++ /dev/null @@ -1,66 +0,0 @@ -const { execSync } = require('child_process') -const { existsSync } = require('fs') -const { join } = require('path') - -const { Octokit } = require('@octokit/rest') -const chalk = require('chalk') -const putasset = require('putasset') - -const supporttedPlatforms = require('./platforms') - -const headCommit = execSync('git log -1 --pretty=%B', { - encoding: 'utf8', -}) - -;(async () => { - const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/') - const octokit = new Octokit({ - auth: process.env.GITHUB_TOKEN, - }) - const packages = headCommit - .split('\n') - .map((line) => line.trim()) - .filter((line, index) => line.length && index) - .map((line) => line.substr(2)) - .map(parseTag) - .filter((pkgInfo) => pkgInfo.isNativePackage) - for (const package of packages) { - await octokit.repos.createRelease({ - owner, - repo, - tag_name: package.tag, - }) - await Promise.all( - supporttedPlatforms.map(async (platform) => { - const binary = join(package.pkgDir, `${package.name}.${platform}.node`) - const downloadUrl = await putasset(process.env.GITHUB_TOKEN, { - owner, - repo, - tag: package.tag, - filename: binary, - }) - console.info(`${chalk.green(binary)} upload success`) - console.info(`Download url: ${chalk.blueBright(downloadUrl)}`) - }), - ) - } -})() - -/** - * @param {string} tag - */ -function parseTag(tag) { - const [, packageWithVersion] = tag.split('/') - const [name, version] = packageWithVersion.split('@') - const pkgDir = join(__dirname, '..', 'packages', name) - const tomlFilePath = join(pkgDir, 'Cargo.toml') - const isNativePackage = existsSync(tomlFilePath) - - return { - name, - version, - pkgDir, - tag, - isNativePackage, - } -} diff --git a/yarn.lock b/yarn.lock index fb53a823..a8b71d1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,18 +10,18 @@ "@babel/highlight" "^7.10.4" "@babel/core@^7.7.5": - version "7.11.4" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.11.4.tgz#4301dfdfafa01eeb97f1896c5501a3f0655d4229" - integrity sha512-5deljj5HlqRXN+5oJTY7Zs37iH3z3b++KjiKtIsJy1NrjOOVSEaJHEetLBhyu0aQOSNNZ/0IuEAan9GzRuDXHg== + version "7.11.6" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" + integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.4" + "@babel/generator" "^7.11.6" "@babel/helper-module-transforms" "^7.11.0" "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.11.4" + "@babel/parser" "^7.11.5" "@babel/template" "^7.10.4" - "@babel/traverse" "^7.11.0" - "@babel/types" "^7.11.0" + "@babel/traverse" "^7.11.5" + "@babel/types" "^7.11.5" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" @@ -31,12 +31,12 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.11.0", "@babel/generator@^7.11.4": - version "7.11.4" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.11.4.tgz#1ec7eec00defba5d6f83e50e3ee72ae2fee482be" - integrity sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g== +"@babel/generator@^7.11.5", "@babel/generator@^7.11.6": + version "7.11.6" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" + integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA== dependencies: - "@babel/types" "^7.11.0" + "@babel/types" "^7.11.5" jsesc "^2.5.1" source-map "^0.5.0" @@ -138,10 +138,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.4": - version "7.11.4" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.11.4.tgz#6fa1a118b8b0d80d0267b719213dc947e88cc0ca" - integrity sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA== +"@babel/parser@^7.10.4", "@babel/parser@^7.11.5": + version "7.11.5" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" + integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== "@babel/template@^7.10.4": version "7.10.4" @@ -152,25 +152,25 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0": - version "7.11.0" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24" - integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg== +"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5": + version "7.11.5" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3" + integrity sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.0" + "@babel/generator" "^7.11.5" "@babel/helper-function-name" "^7.10.4" "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.11.0" - "@babel/types" "^7.11.0" + "@babel/parser" "^7.11.5" + "@babel/types" "^7.11.5" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.10.4", "@babel/types@^7.11.0": - version "7.11.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d" - integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA== +"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.11.5": + version "7.11.5" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" + integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q== dependencies: "@babel/helper-validator-identifier" "^7.10.4" lodash "^4.17.19" @@ -183,6 +183,22 @@ dependencies: arrify "^1.0.1" +"@eslint/eslintrc@^0.1.3": + version "0.1.3" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085" + integrity sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.19" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@evocateur/libnpmaccess@^3.1.2": version "3.1.2" resolved "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" @@ -1054,9 +1070,9 @@ "@octokit/types" "^2.0.1" "@octokit/plugin-paginate-rest@^2.2.0": - version "2.3.1" - resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.3.1.tgz#00f91701dfda26227c3e748d42bc89e2d0d9ce55" - integrity sha512-81A+ONLpcSX7vWxnEmVZteQPNsbdeScSVUqjgMYPSk1trzG69iYkhS42wPRWtN0nYw6OEmT48DNeQCjHeyroYw== + version "2.3.2" + resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.3.2.tgz#746fca42bc1c79639625dbcafe983e3581bdbfc7" + integrity sha512-PjHbMhKryxClCrmfvRpGaKCTxUcHIf2zirWRV9SMGf0EmxD/rFew/abSqbMiLl9uQgRZvqtTyCRMGMlUv1ZsBg== dependencies: "@octokit/types" "^5.3.0" @@ -1189,50 +1205,50 @@ resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@swc-node/core-darwin@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@swc-node/core-darwin/-/core-darwin-0.6.0.tgz#ad1265144916296f5786d5c08f2e251e429a6b1c" - integrity sha512-ADLDa1M/drIRv69waG04zLjiHCWqlTS5T4seyV3Iin5YxBzGdEM3UIp2KdaoulEYcJVHzedNYkzqz+uEL4DD3A== +"@swc-node/core-darwin@^0.6.1": + version "0.6.1" + resolved "https://registry.npmjs.org/@swc-node/core-darwin/-/core-darwin-0.6.1.tgz#ad20762202eb25523bb6bdde81e6f6cb5e909bd9" + integrity sha512-tMWzyFhq4zPKnqq7yhUknFQWIishokFMMaqaptXq8w3wnidOhUCr83GhVggnj8r8LnUtNB8pegEj17Kl/20qjQ== -"@swc-node/core-linux-musl@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@swc-node/core-linux-musl/-/core-linux-musl-0.6.0.tgz#b657cce9fc35dddbfb84305a52546d0ece327201" - integrity sha512-gOB6PxKs26ZWt4JHIvU4Le8Sht9Ob7t7n2UF7uWwsJ6idDE89SybvZBGfi8B/AKrP2ZQPMi1wNOJABTu8O7ZUw== +"@swc-node/core-linux-musl@^0.6.1": + version "0.6.1" + resolved "https://registry.npmjs.org/@swc-node/core-linux-musl/-/core-linux-musl-0.6.1.tgz#45e2e0b695f594df944f892e9f82a2ce77266bf1" + integrity sha512-VcQ1kdeRw1D8/uMk90wHSMJmT41Tex8iytuGKBl/bVOZ5wPD9wA3Sz5ieMgt4CNiUtVITTlpyTJuQgO526W7Ug== -"@swc-node/core-linux@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@swc-node/core-linux/-/core-linux-0.6.0.tgz#33459961d604b10731fd80ab65dc80f1ce0926fa" - integrity sha512-Ck/eIIrj6RlkQBZp2gsAl3LxV75wi91XvxO9UUoQqiUE1YlcIRgp+9JU+9izNdYJ5jPVL9QQ6daonhlyK70+Hw== +"@swc-node/core-linux@^0.6.1": + version "0.6.1" + resolved "https://registry.npmjs.org/@swc-node/core-linux/-/core-linux-0.6.1.tgz#b17ad7a8dcc1e2c17951e871cfa5c535f1e74145" + integrity sha512-oeE50kwZ8FgmP+MDFWi5aQpi4A+xUsqBQphTI4Cth7IdNqWbCq+sKU1dMn5FBFpyrp9KxXX9zrWOZYN6dtlwcg== -"@swc-node/core-win32@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@swc-node/core-win32/-/core-win32-0.6.0.tgz#ef3cc5dbe016185b9cdf58af26b566cdfb29d075" - integrity sha512-Mtq0/09Iu/j9JLP2tIYmzes6vbhtHtQT9kCQ/rhvUWlZoFLNx6AKQVrhT/3DbFY93XLWm+y104l143q8xhyHtw== +"@swc-node/core-win32@^0.6.1": + version "0.6.1" + resolved "https://registry.npmjs.org/@swc-node/core-win32/-/core-win32-0.6.1.tgz#7c2c09a1d713166a7d86bc4ac74fdfdcd0901314" + integrity sha512-6t8wbrbrY28nLP0rPY6nAuz6wUAZRVwkuEVt6QDrz44eo8wJkPqmZBHhYubDgdiofnxHNOveR9i9sdH2Z7xOSg== -"@swc-node/core@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@swc-node/core/-/core-0.6.0.tgz#97774a7ac7b4b3d188147b00edbcf4fafa0fa9f3" - integrity sha512-lmxgqeTV1thmEgUU/OJfmfLbcPJLWrXTq3bZpD+igEjGtrMCrIN4i7DFIIx5YUu5v0qzVodR0oMFd2pdHPqdYw== +"@swc-node/core@^0.6.1": + version "0.6.1" + resolved "https://registry.npmjs.org/@swc-node/core/-/core-0.6.1.tgz#f3cf3b669f094f6b3d6f78ade54224aaa62a3362" + integrity sha512-5DXGG7u1lawiZuqv2MDgKgXNpjXu08uxg89bPU8PJATGeP+EQtJDgHwM7uF1hmRM1wsOsIy4o1t10w6NUWKCxQ== dependencies: "@node-rs/helper" "^0.3.1" optionalDependencies: - "@swc-node/core-darwin" "^0.6.0" - "@swc-node/core-linux" "^0.6.0" - "@swc-node/core-win32" "^0.6.0" + "@swc-node/core-darwin" "^0.6.1" + "@swc-node/core-linux" "^0.6.1" + "@swc-node/core-win32" "^0.6.1" -"@swc-node/register@^0.4.3": - version "0.4.4" - resolved "https://registry.yarnpkg.com/@swc-node/register/-/register-0.4.4.tgz#8c92946b0e847498d8e908595dbad1705a30fa9e" - integrity sha512-M9jjXWfD0PbNeq8VM5hgF1iCuOFa0moWSvehT/huV1CV1sAN2h27B9ibDcmdxMiec7AFfvaahXtyXs13bbRigg== +"@swc-node/register@^0.4.5": + version "0.4.5" + resolved "https://registry.npmjs.org/@swc-node/register/-/register-0.4.5.tgz#3e80f7f901cc45d17b88a6ee626016cafd30fbe5" + integrity sha512-7wY7i19u0ISfR4vmuzPh8XDwum31kiCvQEzkZ55EjzeUVBXhNm280as81jqsGiVW3dN2mlTHfQNLB9WwOLkEnQ== dependencies: - "@swc-node/core" "^0.6.0" + "@swc-node/core" "^0.6.1" "@swc-node/sourcemap-support" "^0.1.8" debug "^4.1.1" pirates "^4.0.1" "@swc-node/sourcemap-support@^0.1.8": version "0.1.8" - resolved "https://registry.yarnpkg.com/@swc-node/sourcemap-support/-/sourcemap-support-0.1.8.tgz#8cf74175ae5e3374612011e7e75c03637019db4c" + resolved "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.1.8.tgz#8cf74175ae5e3374612011e7e75c03637019db4c" integrity sha512-AOH32yNN8UJh6Ayc+r3mnPdrjqqEjtXr9wsEiEhh3OqJWFXqkMOHC+18FYhHdTzGzhaYqUshQONjqOTC38yx7Q== dependencies: source-map-support "^0.5.19" @@ -1266,11 +1282,6 @@ dependencies: "@types/node" "*" -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - "@types/glob@^7.1.1": version "7.1.3" resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" @@ -1280,9 +1291,9 @@ "@types/node" "*" "@types/json-schema@^7.0.3": - version "7.0.5" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" - integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ== + version "7.0.6" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" + integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== "@types/json5@^0.0.29": version "0.0.29" @@ -1300,9 +1311,9 @@ integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= "@types/node@*", "@types/node@>= 8": - version "14.6.2" - resolved "https://registry.npmjs.org/@types/node/-/node-14.6.2.tgz#264b44c5a28dfa80198fc2f7b6d3c8a054b9491f" - integrity sha512-onlIwbaeqvZyniGPfdw/TEhKIh79pz66L1q06WUQqJLnAb6wbjvOtepLYTGHTqzdXgBYIE3ZdmqHDGsRsbBz7A== + version "14.6.4" + resolved "https://registry.npmjs.org/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" + integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1341,9 +1352,9 @@ source-map "^0.7.3" "@types/webpack@^4.41.21": - version "4.41.21" - resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.21.tgz#cc685b332c33f153bb2f5fc1fa3ac8adeb592dee" - integrity sha512-2j9WVnNrr/8PLAB5csW44xzQSJwS26aOnICsP3pSGCEdsu6KYtfQ6QJsVUKHWRnm1bL7HziJsfh5fHqth87yKA== + version "4.41.22" + resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.22.tgz#ff9758a17c6bd499e459b91e78539848c32d0731" + integrity sha512-JQDJK6pj8OMV9gWOnN1dcLCyU9Hzs6lux0wBO4lr1+gyEhIBR9U3FMrz12t2GPkg110XAxEAw2WHF6g7nZIbRQ== dependencies: "@types/anymatch" "*" "@types/node" "*" @@ -1352,92 +1363,61 @@ "@types/webpack-sources" "*" source-map "^0.6.0" -"@typescript-eslint/eslint-plugin@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.0.0.tgz#99349a501447fed91de18346705c0c65cf603bee" - integrity sha512-5e6q1TR7gS2P+8W2xndCu7gBh3BzmYEo70OyIdsmCmknHha/yNbz2vdevl+tP1uoaMOcrzg4gyrAijuV3DDBHA== +"@typescript-eslint/eslint-plugin@^4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.0.1.tgz#88bde9239e29d688315718552cf80a3490491017" + integrity sha512-pQZtXupCn11O4AwpYVUX4PDFfmIJl90ZgrEBg0CEcqlwvPiG0uY81fimr1oMFblZnpKAq6prrT9a59pj1x58rw== dependencies: - "@typescript-eslint/experimental-utils" "4.0.0" - "@typescript-eslint/scope-manager" "4.0.0" + "@typescript-eslint/experimental-utils" "4.0.1" + "@typescript-eslint/scope-manager" "4.0.1" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@3.10.1": - version "3.10.1" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz#e179ffc81a80ebcae2ea04e0332f8b251345a686" - integrity sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/typescript-estree" "3.10.1" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/experimental-utils@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.0.0.tgz#fbec21a3b5ab59127edb6ce2e139ed378cc50eb5" - integrity sha512-hbX6zR+a/vcpFVNJYN/Nbd7gmaMosDTxHEKcvmhWeWcq/0UDifrqmCfkkodbAKL46Fn4ekSBMTyq2zlNDzcQxw== +"@typescript-eslint/experimental-utils@4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.0.1.tgz#7d9a3ab6821ad5274dad2186c1aa0d93afd696eb" + integrity sha512-gAqOjLiHoED79iYTt3F4uSHrYmg/GPz/zGezdB0jAdr6S6gwNiR/j7cTZ8nREKVzMVKLd9G3xbg1sV9GClW3sw== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.0.0" - "@typescript-eslint/types" "4.0.0" - "@typescript-eslint/typescript-estree" "4.0.0" + "@typescript-eslint/scope-manager" "4.0.1" + "@typescript-eslint/types" "4.0.1" + "@typescript-eslint/typescript-estree" "4.0.1" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^3.10.1": - version "3.10.1" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz#1883858e83e8b442627e1ac6f408925211155467" - integrity sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw== +"@typescript-eslint/parser@^4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.0.1.tgz#73772080db7a7a4534a35d719e006f503e664dc3" + integrity sha512-1+qLmXHNAWSQ7RB6fdSQszAiA7JTwzakj5cNYjBTUmpH2cqilxMZEIV+DRKjVZs8NzP3ALmKexB0w/ExjcK9Iw== dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.10.1" - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/typescript-estree" "3.10.1" - eslint-visitor-keys "^1.1.0" + "@typescript-eslint/scope-manager" "4.0.1" + "@typescript-eslint/types" "4.0.1" + "@typescript-eslint/typescript-estree" "4.0.1" + debug "^4.1.1" -"@typescript-eslint/scope-manager@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.0.0.tgz#8c9e3b3b8cdf5a1fbe671d9fad73ff67bc027ea8" - integrity sha512-9gcWUPoWo7gk/+ZQPg7L1ySRmR5HLIy3Vu6/LfhQbuzIkGm6v2CGIjpVRISoDLFRovNRDImd4aP/sa8O4yIEBg== +"@typescript-eslint/scope-manager@4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.0.1.tgz#24d93c3000bdfcc5a157dc4d32b742405a8631b5" + integrity sha512-u3YEXVJ8jsj7QCJk3om0Y457fy2euEOkkzxIB/LKU3MdyI+FJ2gI0M4aKEaXzwCSfNDiZ13a3lDo5DVozc+XLQ== dependencies: - "@typescript-eslint/types" "4.0.0" - "@typescript-eslint/visitor-keys" "4.0.0" + "@typescript-eslint/types" "4.0.1" + "@typescript-eslint/visitor-keys" "4.0.1" -"@typescript-eslint/types@3.10.1": - version "3.10.1" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" - integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== - -"@typescript-eslint/types@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.0.0.tgz#ec1f9fc06b8558a1d5afa6e337182d08beece7f5" - integrity sha512-bK+c2VLzznX2fUWLK6pFDv3cXGTp7nHIuBMq1B9klA+QCsqLHOOqe5TQReAQDl7DN2RfH+neweo0oC5hYlG7Rg== - -"@typescript-eslint/typescript-estree@3.10.1": - version "3.10.1" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" - integrity sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w== - dependencies: - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/visitor-keys" "3.10.1" - debug "^4.1.1" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" +"@typescript-eslint/types@4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.0.1.tgz#1cf72582f764931f085cb8230ff215980fe467b2" + integrity sha512-S+gD3fgbkZYW2rnbjugNMqibm9HpEjqZBZkTiI3PwbbNGWmAcxolWIUwZ0SKeG4Dy2ktpKKaI/6+HGYVH8Qrlg== -"@typescript-eslint/typescript-estree@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.0.0.tgz#2244c63de2f2190bc5718eb0fb3fd2c437d42097" - integrity sha512-ewFMPi2pMLDNIXGMPdf8r7El2oPSZw9PEYB0j+WcpKd7AX2ARmajGa7RUHTukllWX2bj4vWX6JLE1Oih2BMokA== +"@typescript-eslint/typescript-estree@4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.0.1.tgz#29a43c7060641ec51c902d9f50ac7c5866ec479f" + integrity sha512-zGzleORFXrRWRJAMLTB2iJD1IZbCPkg4hsI8mGdpYlKaqzvKYSEWVAYh14eauaR+qIoZVWrXgYSXqLtTlxotiw== dependencies: - "@typescript-eslint/types" "4.0.0" - "@typescript-eslint/visitor-keys" "4.0.0" + "@typescript-eslint/types" "4.0.1" + "@typescript-eslint/visitor-keys" "4.0.1" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -1445,19 +1425,12 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@3.10.1": - version "3.10.1" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" - integrity sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ== - dependencies: - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/visitor-keys@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.0.0.tgz#e2bbb69d98076d6a3f06abcb2048225a74362c33" - integrity sha512-sTouJbv6rjVJeTE4lpSBVYXq/u5K3gbB6LKt7ccFEZPTZB/VeQ0ssUz9q5Hx++sCqBbdF8PzrrgvEnicXAR6NQ== +"@typescript-eslint/visitor-keys@4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.0.1.tgz#d4e8de62775f2a6db71c7e8539633680039fdd6c" + integrity sha512-yBSqd6FjnTzbg5RUy9J+9kJEyQjTI34JdGMJz+9ttlJzLCnGkBikxw+N5n2VDcc3CesbIEJ0MnZc5uRYnrEnCw== dependencies: - "@typescript-eslint/types" "4.0.0" + "@typescript-eslint/types" "4.0.1" eslint-visitor-keys "^2.0.0" "@zkochan/cmd-shim@^3.1.0": @@ -1543,7 +1516,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3: +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: version "6.12.4" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== @@ -2250,9 +2223,9 @@ clean-yaml-object@^0.1.0: integrity sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g= cli-boxes@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" - integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== + version "2.2.1" + resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== cli-cursor@^2.1.0: version "2.1.0" @@ -2291,7 +2264,7 @@ cli-width@^3.0.0: resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== -clipanion@^2.4.4: +clipanion@^2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/clipanion/-/clipanion-2.5.0.tgz#eb9c85a6b52a46979b7eb1e79534b23c44a52971" integrity sha512-VYOMl0h/mZXQC2BWq7oBto1zY1SkPWUaJjt+cuIred1HrmrcX1I2N+LNyNoRy8Iwu9r6vUxJwS/tWLwhQW4tPw== @@ -3179,15 +3152,16 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: eslint-visitor-keys@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.7.0: - version "7.7.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073" - integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg== +eslint@^7.8.1: + version "7.8.1" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.8.1.tgz#e59de3573fb6a5be8ff526c791571646d124a8fa" + integrity sha512-/2rX2pfhyUG0y+A123d0ccXtMm7DV7sH1m3lk9nk2DZ2LReq39FXHueR9xZwshE5MdfSf0xunSaMWRqyIA6M1w== dependencies: "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.1.3" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -3197,7 +3171,7 @@ eslint@^7.7.0: eslint-scope "^5.1.0" eslint-utils "^2.1.0" eslint-visitor-keys "^1.3.0" - espree "^7.2.0" + espree "^7.3.0" esquery "^1.2.0" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -3224,7 +3198,7 @@ eslint@^7.7.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.2.0: +espree@^7.3.0: version "7.3.0" resolved "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw== @@ -3246,18 +3220,18 @@ esquery@^1.2.0: estraverse "^5.1.0" esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: - estraverse "^4.1.0" + estraverse "^5.2.0" -estraverse@^4.1.0, estraverse@^4.1.1: +estraverse@^4.1.1: version "4.3.0" resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0: +estraverse@^5.1.0, estraverse@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== @@ -3417,6 +3391,11 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fdir@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/fdir/-/fdir-4.1.0.tgz#f739ec79f61f69779a6430a622e5f54c57caf921" + integrity sha512-oOkohnPg4nUIkd6w22iGbFD7c7UvVnXB3a7/GHcPSsXDUGm6Jxp12bGI5O0gr0YuhDh5l/vDExdHOnrW/j9EqQ== + figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -4678,9 +4657,9 @@ json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1: integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-parse-even-better-errors@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.0.tgz#371873c5ffa44304a6ba12419bcfa95f404ae081" - integrity sha512-o3aP+RsWDJZayj1SbHNQAI8x0v3T3SKiGoZlNYfbUP1S3omJQ6i9CnqADqkSPaOAxwua4/1YWx5CM7oiChJt2Q== + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" @@ -4813,10 +4792,10 @@ lines-and-columns@^1.1.6: resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= -lint-staged@^10.2.13: - version "10.2.13" - resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.13.tgz#b9c504683470edfc464b7d3fe3845a5a1efcd814" - integrity sha512-conwlukNV6aL9SiMWjFtDp5exeDnTMekdNPDZsKGnpfQuHcO0E3L3Bbf58lcR+M7vk6LpCilxDAVks/DDVBYlA== +lint-staged@^10.3.0: + version "10.3.0" + resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-10.3.0.tgz#388c3d440590c45c339e7163f669ea69ae90b1e0" + integrity sha512-an3VgjHqmJk0TORB/sdQl0CTkRg4E5ybYCXTTCSJ5h9jFwZbcgKIx5oVma5e7wp/uKt17s1QYFmYqT9MGVosGw== dependencies: chalk "^4.1.0" cli-truncate "^2.1.0" @@ -5416,16 +5395,23 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -napi-rs@^0.2.6: - version "0.2.6" - resolved "https://registry.npmjs.org/napi-rs/-/napi-rs-0.2.6.tgz#f4f5dadeb3e310de390e35780b5a8f5e050fca52" - integrity sha512-+hjna/WShqAr7pr9+8x/16ipcs8jH4YkJ9AzHRQc0GjFETeNSZz13Rm8fSTzTxrgMDsZYl8LMQ040lLQoT8/cA== +napi-rs@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/napi-rs/-/napi-rs-0.3.0.tgz#94304cf3004d33ec56809bc34cb5ae4ef72161dd" + integrity sha512-Vu0z5L17g62FS0Y/KtJ2pxKX9kms46dd1PMBjt5wxLqNlR66M/z3SiHlDXpuchPe6Ubs215ewc2xUc3eIoFRYw== dependencies: - clipanion "^2.4.4" + "@octokit/rest" "^18.0.4" + chalk "^4.1.0" + clipanion "^2.5.0" + debug "^4.1.1" + fdir "^4.1.0" inquirer "^7.3.3" + lodash "^4.17.20" + putasset "^5.0.3" toml "^3.0.0" - optionalDependencies: tslib "^2.0.1" + optionalDependencies: + "@swc-node/core-linux-musl" "^0.6.1" natural-compare@^1.4.0: version "1.4.0" @@ -5433,9 +5419,9 @@ natural-compare@^1.4.0: integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= needle@^2.2.1, needle@^2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/needle/-/needle-2.5.0.tgz#e6fc4b3cc6c25caed7554bd613a5cf0bac8c31c0" - integrity sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA== + version "2.5.2" + resolved "https://registry.npmjs.org/needle/-/needle-2.5.2.tgz#cf1a8fce382b5a280108bba90a14993c00e4010a" + integrity sha512-LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ== dependencies: debug "^3.2.6" iconv-lite "^0.4.4" @@ -7339,7 +7325,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.1.0: +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==