浏览代码

chore: upgrade dependencies

LongYinan 3 年之前
父节点
当前提交
9d133c1e82

+ 3 - 18
.eslintrc.yml

@@ -5,6 +5,7 @@ parserOptions:
     jsx: true
   ecmaVersion: latest
   sourceType: module
+  project: ./tsconfig.json
 
 env:
   browser: true
@@ -14,11 +15,10 @@ env:
 
 plugins:
   - import
-  - sonarjs
+  - '@typescript-eslint'
 
 extends:
   - eslint:recommended
-  - plugin:sonarjs/recommended
   - plugin:prettier/recommended
 
 rules:
@@ -60,30 +60,15 @@ rules:
       },
     ]
 
-  'sonarjs/cognitive-complexity': 0
-  'sonarjs/no-duplicate-string': 0
-  'sonarjs/no-big-function': 0
-  'sonarjs/no-identical-functions': 0
-  'sonarjs/no-small-switch': 0
-
 overrides:
   - files:
-      - ./**/*.{ts,tsx}
-    rules:
-      'no-unused-vars': [2, { varsIgnorePattern: '^_', argsIgnorePattern: '^_', ignoreRestSiblings: true }]
-
-  - files:
       - ./**/*{.ts,.tsx}
-    plugins:
-      - '@typescript-eslint'
-    parserOptions:
-      project: ./tsconfig.json
     rules:
+      'no-unused-vars': [2, { varsIgnorePattern: '^_', argsIgnorePattern: '^_', ignoreRestSiblings: true }]
       'no-undef': 0
       # TypeScript declare merge
       'no-redeclare': 0
       'no-useless-constructor': 0
-      'no-unused-vars': 0
       'no-dupe-class-members': 0
       'no-case-declarations': 0
       'no-duplicate-imports': 0

+ 45 - 22
.github/workflows/CI.yaml

@@ -3,8 +3,7 @@ env:
   DEBUG: napi:*
   APP_NAME: package-template
   MACOSX_DEPLOYMENT_TARGET: '10.13'
-
-on:
+'on':
   push:
     branches:
       - main
@@ -12,12 +11,11 @@ on:
       - '**'
     paths-ignore:
       - '**/*.md'
-      - 'LICENSE'
+      - LICENSE
       - '**/*.gitignore'
-      - '.editorconfig'
-      - 'docs/**'
+      - .editorconfig
+      - docs/**
   pull_request: null
-
 jobs:
   build:
     if: "!contains(github.event.head_commit.message, 'skip ci')"
@@ -27,34 +25,32 @@ jobs:
         settings:
           - host: macos-latest
             target: x86_64-apple-darwin
+            architecture: x64
             build: |
               yarn build
               strip -x *.node
           - host: windows-latest
             build: yarn build
             target: x86_64-pc-windows-msvc
+            architecture: x64
           - host: windows-latest
             build: |
-              export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=32;
-              export CARGO_PROFILE_RELEASE_LTO=false
               yarn build --target i686-pc-windows-msvc
               yarn test
             target: i686-pc-windows-msvc
-            setup: |
-              choco install nodejs-lts --x86 -y --force
-              echo "C:\Program Files (x86)\nodejs" >> $GITHUB_PATH
+            architecture: x86
           - host: ubuntu-latest
             target: x86_64-unknown-linux-gnu
+            architecture: x64
             docker: |
-              docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REGISTRY_URL
               docker pull $DOCKER_REGISTRY_URL/napi-rs/napi-rs/nodejs-rust:lts-debian
               docker tag $DOCKER_REGISTRY_URL/napi-rs/napi-rs/nodejs-rust:lts-debian builder
             build: |
               docker run --rm -v ~/.cargo/git:/root/.cargo/git -v ~/.cargo/registry:/root/.cargo/registry -v $(pwd):/build -w /build builder yarn build && strip package-template.linux-x64-gnu.node
           - host: ubuntu-latest
             target: x86_64-unknown-linux-musl
+            architecture: x64
             docker: |
-              docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REGISTRY_URL
               docker pull $DOCKER_REGISTRY_URL/napi-rs/napi-rs/nodejs-rust:lts-alpine
               docker tag $DOCKER_REGISTRY_URL/napi-rs/napi-rs/nodejs-rust:lts-alpine builder
             build: docker run --rm -v ~/.cargo/git:/root/.cargo/git -v ~/.cargo/registry:/root/.cargo/registry -v $(pwd):/build -w /build builder yarn build && strip package-template.linux-x64-musl.node
@@ -64,6 +60,7 @@ jobs:
               yarn build --target=aarch64-apple-darwin
               strip -x *.node
           - host: ubuntu-latest
+            architecture: x64
             target: aarch64-unknown-linux-gnu
             setup: |
               sudo apt-get update
@@ -72,6 +69,7 @@ jobs:
               yarn build --target=aarch64-unknown-linux-gnu
               aarch64-linux-gnu-strip package-template.linux-arm64-gnu.node
           - host: ubuntu-latest
+            architecture: x64
             target: armv7-unknown-linux-gnueabihf
             setup: |
               sudo apt-get update
@@ -80,32 +78,49 @@ jobs:
               yarn build --target=armv7-unknown-linux-gnueabihf
               arm-linux-gnueabihf-strip package-template.linux-arm-gnueabihf.node
           - host: ubuntu-latest
+            architecture: x64
             target: aarch64-linux-android
             build: |
               export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
+              export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
+              export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"
+              export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"
               yarn build --target aarch64-linux-android
               ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip *.node
           - host: ubuntu-latest
+            architecture: x64
+            target: armv7-linux-androideabi
+            build: |
+              export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"
+              export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"
+              export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++"
+              export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"
+              yarn build --target armv7-linux-androideabi
+              ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip *.node
+          - host: ubuntu-latest
+            architecture: x64
             target: aarch64-unknown-linux-musl
             downloadTarget: aarch64-unknown-linux-musl
             docker: |
-              docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REGISTRY_URL
               docker pull ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
               docker tag ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine builder
             build: |
               docker run --rm -v ~/.cargo/git:/root/.cargo/git -v ~/.cargo/registry:/root/.cargo/registry -v $(pwd):/build -w /build builder sh -c "yarn build --target=aarch64-unknown-linux-musl && /aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip package-template.linux-arm64-musl.node"
           - host: windows-latest
+            architecture: x64
             target: aarch64-pc-windows-msvc
             build: yarn build --target aarch64-pc-windows-msvc
-    name: stable - ${{ matrix.settings.target }} - node@14
+    name: stable - ${{ matrix.settings.target }} - node@16
     runs-on: ${{ matrix.settings.host }}
     steps:
       - uses: actions/checkout@v2
       - name: Setup node
         uses: actions/setup-node@v2
         with:
-          node-version: 14
+          node-version: 16
           check-latest: true
+          cache: yarn
+          architecture: ${{ matrix.settings.architecture }}
       - name: Install
         uses: actions-rs/toolchain@v1
         with:
@@ -121,23 +136,21 @@ jobs:
         uses: actions/cache@v2
         with:
           path: ~/.cargo/registry
-          key: ${{ matrix.settings.target }}-node@14-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }}
+          key: ${{ matrix.settings.target }}-node@16-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }}
       - name: Cache cargo index
         uses: actions/cache@v2
         with:
           path: ~/.cargo/git
-          key: ${{ matrix.settings.target }}-node@14-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }}
+          key: ${{ matrix.settings.target }}-node@16-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }}
       - name: Cache NPM dependencies
         uses: actions/cache@v2
         with:
           path: node_modules
-          key: npm-cache-${{ matrix.settings.target }}-node@14-${{ hashFiles('yarn.lock') }}
+          key: npm-cache-${{ matrix.settings.target }}-node@16-${{ hashFiles('yarn.lock') }}
       - name: Pull latest image
         run: ${{ matrix.settings.docker }}
         env:
           DOCKER_REGISTRY_URL: ghcr.io
-          DOCKER_USERNAME: ${{ github.actor }}
-          DOCKER_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
         if: ${{ matrix.settings.docker }}
       - name: Setup toolchain
         run: ${{ matrix.settings.setup }}
@@ -153,6 +166,7 @@ jobs:
         with:
           name: bindings-${{ matrix.settings.target }}
           path: ${{ env.APP_NAME }}.*.node
+          if-no-files-found: error
   build-freebsd:
     runs-on: macos-10.15
     name: Build FreeBSD
@@ -192,6 +206,7 @@ jobs:
             freebsd-version
             yarn install --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
             yarn build
+            strip -x *.node
             yarn test
             rm -rf node_modules
             rm -rf target
@@ -200,6 +215,7 @@ jobs:
         with:
           name: bindings-freebsd
           path: ${{ env.APP_NAME }}.*.node
+          if-no-files-found: error
   test-macOS-windows-binding:
     name: Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }}
     needs:
@@ -222,6 +238,7 @@ jobs:
         with:
           node-version: ${{ matrix.node }}
           check-latest: true
+          cache: yarn
       - name: Cache NPM dependencies
         uses: actions/cache@v2
         with:
@@ -258,6 +275,7 @@ jobs:
         with:
           node-version: ${{ matrix.node }}
           check-latest: true
+          cache: yarn
       - name: Cache NPM dependencies
         uses: actions/cache@v2
         with:
@@ -294,6 +312,7 @@ jobs:
         with:
           node-version: ${{ matrix.node }}
           check-latest: true
+          cache: yarn
       - name: Cache NPM dependencies
         uses: actions/cache@v2
         with:
@@ -347,6 +366,7 @@ jobs:
           image: ghcr.io/napi-rs/napi-rs/nodejs:aarch64-${{ matrix.node }}
           options: '-v ${{ github.workspace }}:/build -w /build'
           run: |
+            set -e
             yarn test
             ls -la
   test-linux-aarch64-musl-binding:
@@ -378,6 +398,7 @@ jobs:
           image: multiarch/alpine:aarch64-latest-stable
           options: '-v ${{ github.workspace }}:/build -w /build'
           run: |
+            set -e
             apk add nodejs npm yarn
             yarn test
   test-linux-arm-gnueabihf-binding:
@@ -416,6 +437,7 @@ jobs:
           image: ghcr.io/napi-rs/napi-rs/nodejs:armhf-${{ matrix.node }}
           options: '-v ${{ github.workspace }}:/build -w /build'
           run: |
+            set -e
             yarn test
             ls -la
   publish:
@@ -434,8 +456,9 @@ jobs:
       - name: Setup node
         uses: actions/setup-node@v2
         with:
-          node-version: 14
+          node-version: 16
           check-latest: true
+          cache: yarn
       - name: Cache NPM dependencies
         uses: actions/cache@v2
         with:

+ 3 - 0
npm/android-arm-eabi/README.md

@@ -0,0 +1,3 @@
+# `@napi-rs/package-template-android-arm-eabi`
+
+This is the **armv7-linux-androideabi** binary for `@napi-rs/package-template`

+ 32 - 0
npm/android-arm-eabi/package.json

@@ -0,0 +1,32 @@
+{
+  "name": "@napi-rs/package-template-android-arm-eabi",
+  "version": "1.0.0",
+  "os": [
+    "android"
+  ],
+  "cpu": [
+    "arm"
+  ],
+  "main": "package-template.android-arm-eabi.node",
+  "files": [
+    "package-template.android-arm-eabi.node"
+  ],
+  "description": "Template project for writing node package with napi-rs",
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
+  "license": "MIT",
+  "engines": {
+    "node": ">= 10"
+  },
+  "publishConfig": {
+    "registry": "https://registry.npmjs.org/",
+    "access": "public"
+  },
+  "repository": "git@github.com:napi-rs/package-template.git"
+}

+ 17 - 4
npm/android-arm64/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-android-arm64",
   "version": "1.0.0",
-  "os": ["android"],
-  "cpu": ["arm64"],
+  "os": [
+    "android"
+  ],
+  "cpu": [
+    "arm64"
+  ],
   "main": "package-template.android-arm64.node",
-  "files": ["package-template.android-arm64.node"],
+  "files": [
+    "package-template.android-arm64.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/darwin-arm64/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-darwin-arm64",
   "version": "1.0.0",
-  "os": ["darwin"],
-  "cpu": ["arm64"],
+  "os": [
+    "darwin"
+  ],
+  "cpu": [
+    "arm64"
+  ],
   "main": "package-template.darwin-arm64.node",
-  "files": ["package-template.darwin-arm64.node"],
+  "files": [
+    "package-template.darwin-arm64.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/darwin-x64/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-darwin-x64",
   "version": "1.0.0",
-  "os": ["darwin"],
-  "cpu": ["x64"],
+  "os": [
+    "darwin"
+  ],
+  "cpu": [
+    "x64"
+  ],
   "main": "package-template.darwin-x64.node",
-  "files": ["package-template.darwin-x64.node"],
+  "files": [
+    "package-template.darwin-x64.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/freebsd-x64/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-freebsd-x64",
   "version": "1.0.0",
-  "os": ["freebsd"],
-  "cpu": ["x64"],
+  "os": [
+    "freebsd"
+  ],
+  "cpu": [
+    "x64"
+  ],
   "main": "package-template.freebsd-x64.node",
-  "files": ["package-template.freebsd-x64.node"],
+  "files": [
+    "package-template.freebsd-x64.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/linux-arm-gnueabihf/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-linux-arm-gnueabihf",
   "version": "1.0.0",
-  "os": ["linux"],
-  "cpu": ["arm"],
+  "os": [
+    "linux"
+  ],
+  "cpu": [
+    "arm"
+  ],
   "main": "package-template.linux-arm-gnueabihf.node",
-  "files": ["package-template.linux-arm-gnueabihf.node"],
+  "files": [
+    "package-template.linux-arm-gnueabihf.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/linux-arm64-gnu/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-linux-arm64-gnu",
   "version": "1.0.0",
-  "os": ["linux"],
-  "cpu": ["arm64"],
+  "os": [
+    "linux"
+  ],
+  "cpu": [
+    "arm64"
+  ],
   "main": "package-template.linux-arm64-gnu.node",
-  "files": ["package-template.linux-arm64-gnu.node"],
+  "files": [
+    "package-template.linux-arm64-gnu.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/linux-arm64-musl/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-linux-arm64-musl",
   "version": "1.0.0",
-  "os": ["linux"],
-  "cpu": ["arm64"],
+  "os": [
+    "linux"
+  ],
+  "cpu": [
+    "arm64"
+  ],
   "main": "package-template.linux-arm64-musl.node",
-  "files": ["package-template.linux-arm64-musl.node"],
+  "files": [
+    "package-template.linux-arm64-musl.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/linux-x64-gnu/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-linux-x64-gnu",
   "version": "1.0.0",
-  "os": ["linux"],
-  "cpu": ["x64"],
+  "os": [
+    "linux"
+  ],
+  "cpu": [
+    "x64"
+  ],
   "main": "package-template.linux-x64-gnu.node",
-  "files": ["package-template.linux-x64-gnu.node"],
+  "files": [
+    "package-template.linux-x64-gnu.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/linux-x64-musl/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-linux-x64-musl",
   "version": "1.0.0",
-  "os": ["linux"],
-  "cpu": ["x64"],
+  "os": [
+    "linux"
+  ],
+  "cpu": [
+    "x64"
+  ],
   "main": "package-template.linux-x64-musl.node",
-  "files": ["package-template.linux-x64-musl.node"],
+  "files": [
+    "package-template.linux-x64-musl.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/win32-arm64-msvc/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-win32-arm64-msvc",
   "version": "1.0.0",
-  "os": ["win32"],
-  "cpu": ["arm64"],
+  "os": [
+    "win32"
+  ],
+  "cpu": [
+    "arm64"
+  ],
   "main": "package-template.win32-arm64-msvc.node",
-  "files": ["package-template.win32-arm64-msvc.node"],
+  "files": [
+    "package-template.win32-arm64-msvc.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/win32-ia32-msvc/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-win32-ia32-msvc",
   "version": "1.0.0",
-  "os": ["win32"],
-  "cpu": ["ia32"],
+  "os": [
+    "win32"
+  ],
+  "cpu": [
+    "ia32"
+  ],
   "main": "package-template.win32-ia32-msvc.node",
-  "files": ["package-template.win32-ia32-msvc.node"],
+  "files": [
+    "package-template.win32-ia32-msvc.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 17 - 4
npm/win32-x64-msvc/package.json

@@ -1,12 +1,25 @@
 {
   "name": "@napi-rs/package-template-win32-x64-msvc",
   "version": "1.0.0",
-  "os": ["win32"],
-  "cpu": ["x64"],
+  "os": [
+    "win32"
+  ],
+  "cpu": [
+    "x64"
+  ],
   "main": "package-template.win32-x64-msvc.node",
-  "files": ["package-template.win32-x64-msvc.node"],
+  "files": [
+    "package-template.win32-x64-msvc.node"
+  ],
   "description": "Template project for writing node package with napi-rs",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
   "license": "MIT",
   "engines": {
     "node": ">= 10"

+ 47 - 28
package.json

@@ -5,8 +5,18 @@
   "main": "index.js",
   "repository": "git@github.com:napi-rs/package-template.git",
   "license": "MIT",
-  "keywords": ["napi-rs", "NAPI", "N-API", "Rust", "node-addon", "node-addon-api"],
-  "files": ["index.d.ts", "index.js"],
+  "keywords": [
+    "napi-rs",
+    "NAPI",
+    "N-API",
+    "Rust",
+    "node-addon",
+    "node-addon-api"
+  ],
+  "files": [
+    "index.d.ts",
+    "index.js"
+  ],
   "napi": {
     "name": "package-template",
     "triples": {
@@ -20,7 +30,8 @@
         "aarch64-linux-android",
         "x86_64-unknown-freebsd",
         "aarch64-unknown-linux-musl",
-        "aarch64-pc-windows-msvc"
+        "aarch64-pc-windows-msvc",
+        "armv7-linux-androideabi"
       ]
     }
   },
@@ -36,48 +47,57 @@
     "bench": "node -r @swc-node/register benchmark/bench.ts",
     "build": "napi build --platform --release",
     "build:debug": "napi build --platform",
-    "format": "run-p format:md format:json format:yaml format:source format:rs",
-    "format:md": "prettier --parser markdown --write './**/*.md'",
-    "format:json": "prettier --parser json --write './**/*.json'",
+    "format": "run-p format:prettier format:rs",
+    "format:prettier": "prettier . -w",
     "format:rs": "cargo fmt",
-    "format:source": "prettier --config ./package.json --write './**/*.{js,ts}'",
-    "format:yaml": "prettier --parser yaml --write './**/*.{yml,yaml}'",
-    "lint": "eslint . -c ./.eslintrc.yml './**/*.{ts,tsx,js}'",
+    "lint": "eslint . -c ./.eslintrc.yml",
     "prepublishOnly": "napi prepublish -t npm",
     "test": "ava",
     "version": "napi version"
   },
   "devDependencies": {
-    "@napi-rs/cli": "^1.3.4",
-    "@swc-node/register": "^1.3.6",
-    "@typescript-eslint/eslint-plugin": "^5.2.0",
-    "@typescript-eslint/parser": "^5.2.0",
+    "@napi-rs/cli": "^1.3.5",
+    "@swc-node/register": "^1.4.0",
+    "@typescript-eslint/eslint-plugin": "^5.6.0",
+    "@typescript-eslint/parser": "^5.6.0",
     "ava": "^3.15.0",
     "benny": "^3.7.1",
-    "chalk": "^4.1.2",
-    "eslint": "^8.1.0",
+    "chalk": "^5.0.0",
+    "eslint": "^8.4.1",
     "eslint-config-prettier": "^8.3.0",
-    "eslint-plugin-import": "^2.25.2",
+    "eslint-plugin-import": "^2.25.3",
     "eslint-plugin-prettier": "^4.0.0",
-    "eslint-plugin-sonarjs": "^0.10.0",
     "husky": "^7.0.4",
-    "lint-staged": "^11.2.6",
+    "lint-staged": "^12.1.2",
     "npm-run-all": "^4.1.5",
-    "prettier": "^2.4.1",
-    "typescript": "^4.4.4"
+    "prettier": "^2.5.1",
+    "typescript": "^4.5.3"
   },
   "dependencies": {
     "@node-rs/helper": "^1.2.1"
   },
   "lint-staged": {
-    "*.@(js|ts|tsx)": ["prettier --write", "eslint -c .eslintrc.yml --fix"],
-    "*.@(yml|yaml)": ["prettier --parser yaml --write"],
-    "*.md": ["prettier --parser markdown --write"],
-    "*.json": ["prettier --parser json --write"]
+    "*.@(js|ts|tsx)": [
+      "prettier --write",
+      "eslint -c .eslintrc.yml --fix"
+    ],
+    "*.@(yml|yaml)": [
+      "prettier --parser yaml --write"
+    ],
+    "*.md": [
+      "prettier --parser markdown --write"
+    ],
+    "*.json": [
+      "prettier --parser json --write"
+    ]
   },
   "ava": {
-    "require": ["@swc-node/register"],
-    "extensions": ["ts"],
+    "require": [
+      "@swc-node/register"
+    ],
+    "extensions": [
+      "ts"
+    ],
     "environmentVariables": {
       "TS_NODE_PROJECT": "./tsconfig.json"
     }
@@ -87,7 +107,6 @@
     "semi": false,
     "trailingComma": "all",
     "singleQuote": true,
-    "arrowParens": "always",
-    "parser": "typescript"
+    "arrowParens": "always"
   }
 }

文件差异内容过多而无法显示
+ 350 - 354
yarn.lock