Merge pull request #1050 from napi-rs/yarn-3

chore: upgrade to yarn3
This commit is contained in:
LongYinan 2022-01-24 17:55:10 +08:00 committed by GitHub
commit 666118d69f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 10028 additions and 6954 deletions

View file

@ -24,7 +24,7 @@ task:
echo "~~~~ yarn --version ~~~~" echo "~~~~ yarn --version ~~~~"
yarn --version yarn --version
test_script: test_script:
- yarn install --ignore-platform --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org - yarn install --immutable --network-timeout 300000
- yarn build - yarn build
- cargo test -p napi-sys --lib -- --nocapture - cargo test -p napi-sys --lib -- --nocapture
- yarn build:test - yarn build:test

12
.gitattributes vendored Normal file
View file

@ -0,0 +1,12 @@
# Auto detect text files and perform LF normalization
* text=auto
*.ts text eol=lf merge=union
*.tsx text eol=lf merge=union
*.rs text eol=lf merge=union
*.js text eol=lf merge=union
*.json text eol=lf merge=union
*.debug text eol=lf merge=union
.yarn/releases/*.js linguist-detectable=false

View file

@ -58,7 +58,7 @@ jobs:
key: npm-cache-linux-android-node@16-${{ hashFiles('yarn.lock') }} key: npm-cache-linux-android-node@16-${{ hashFiles('yarn.lock') }}
- name: Install dependencies - name: Install dependencies
run: yarn install --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -58,7 +58,7 @@ jobs:
key: npm-cache-linux-android-node@16-${{ hashFiles('yarn.lock') }} key: npm-cache-linux-android-node@16-${{ hashFiles('yarn.lock') }}
- name: Install dependencies - name: Install dependencies
run: yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -62,7 +62,7 @@ jobs:
key: npm-cache-${{ matrix.os }}-node@${{ matrix.node }}-${{ hashFiles('yarn.lock') }} key: npm-cache-${{ matrix.os }}-node@${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: 'Install dependencies' - name: 'Install dependencies'
run: yarn install --frozen-lockfile --ignore-platform --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -56,7 +56,7 @@ jobs:
key: bench-${{ hashFiles('yarn.lock') }} key: bench-${{ hashFiles('yarn.lock') }}
- name: 'Install dependencies' - name: 'Install dependencies'
run: yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build ts' - name: 'Build ts'
run: yarn build run: yarn build

View file

@ -53,7 +53,7 @@ jobs:
key: lint-${{ hashFiles('yarn.lock') }} key: lint-${{ hashFiles('yarn.lock') }}
- name: 'Install dependencies' - name: 'Install dependencies'
run: yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Lint JS/TS' - name: 'Lint JS/TS'
run: yarn lint run: yarn lint

View file

@ -43,7 +43,7 @@ jobs:
key: npm-cache-linux-aarch64-gnu-node@16-${{ hashFiles('yarn.lock') }} key: npm-cache-linux-aarch64-gnu-node@16-${{ hashFiles('yarn.lock') }}
- name: Install dependencies - name: Install dependencies
run: yarn install --frozen-lockfile --ignore-platform --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -66,7 +66,7 @@ jobs:
sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu -y sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu -y
- name: Install dependencies - name: Install dependencies
run: yarn install --frozen-lockfile --ignore-platform --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -66,7 +66,7 @@ jobs:
sudo apt-get install gcc-arm-linux-gnueabihf -y sudo apt-get install gcc-arm-linux-gnueabihf -y
- name: Install dependencies - name: Install dependencies
run: yarn install --frozen-lockfile --ignore-platform --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -25,7 +25,7 @@ jobs:
cache: 'yarn' cache: 'yarn'
- name: 'Install dependencies' - name: 'Install dependencies'
run: yarn install --ignore-platform --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -61,7 +61,7 @@ jobs:
key: memory-leak-detect-${{ hashFiles('yarn.lock') }} key: memory-leak-detect-${{ hashFiles('yarn.lock') }}
- name: 'Install dependencies' - name: 'Install dependencies'
run: yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -14,7 +14,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
node: ['12', '14', '16', '17'] node: ['14', '16', '17']
os: [ubuntu-latest, macos-latest, windows-latest] os: [ubuntu-latest, macos-latest, windows-latest]
name: stable - ${{ matrix.os }} - node@${{ matrix.node }} name: stable - ${{ matrix.os }} - node@${{ matrix.node }}
@ -46,22 +46,16 @@ jobs:
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.cargo/registry path: ~/.cargo/registry
key: stable-${{ matrix.os }}-node@${{ matrix.node }}-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }} key: stable-${{ matrix.os }}-node@${{ matrix.node }}-cargo-registry-trimmed
- name: Cache cargo index - name: Cache cargo index
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.cargo/git path: ~/.cargo/git
key: stable-${{ matrix.os }}gnu-node@${{ matrix.node }}-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }} key: stable-${{ matrix.os }}gnu-node@${{ matrix.node }}-cargo-index-trimmed
- name: Cache NPM dependencies
uses: actions/cache@v2
with:
path: node_modules
key: npm-cache-${{ matrix.os }}-node@${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: 'Install dependencies' - name: 'Install dependencies'
run: yarn install --frozen-lockfile --ignore-platform --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -25,7 +25,7 @@ jobs:
cache: 'yarn' cache: 'yarn'
- name: 'Install dependencies' - name: 'Install dependencies'
run: yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -26,7 +26,7 @@ jobs:
cache: 'yarn' cache: 'yarn'
- name: 'Install dependencies' - name: 'Install dependencies'
run: yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build

View file

@ -51,7 +51,7 @@ jobs:
path: node_modules path: node_modules
key: npm-cache-linux-aarch64-gnu-node@16-${{ hashFiles('yarn.lock') }} key: npm-cache-linux-aarch64-gnu-node@16-${{ hashFiles('yarn.lock') }}
- name: Install dependencies - name: Install dependencies
run: yarn install --frozen-lockfile --ignore-platform --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: 'Build TypeScript' - name: 'Build TypeScript'
run: yarn build run: yarn build
- name: Cross build native tests - name: Cross build native tests
@ -103,7 +103,7 @@ jobs:
path: node_modules path: node_modules
key: npm-cache-${{ matrix.settings.host }}-node@16-${{ hashFiles('yarn.lock') }} key: npm-cache-${{ matrix.settings.host }}-node@16-${{ hashFiles('yarn.lock') }}
- name: Install dependencies - name: Install dependencies
run: yarn install --frozen-lockfile --ignore-platform --registry https://registry.npmjs.org --network-timeout 300000 run: yarn install --immutable --network-timeout 300000
- name: Download artifacts - name: Download artifacts
uses: actions/download-artifact@v2 uses: actions/download-artifact@v2
with: with:

7
.gitignore vendored
View file

@ -156,3 +156,10 @@ scripts
sys/.node-headers sys/.node-headers
bench.txt bench.txt
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

View file

@ -3,3 +3,4 @@ node_modules
scripts scripts
triples/index.js triples/index.js
examples/napi/index.d.ts examples/napi/index.d.ts
.yarn

768
.yarn/releases/yarn-3.1.1.cjs vendored Executable file

File diff suppressed because one or more lines are too long

3
.yarnrc.yml Normal file
View file

@ -0,0 +1,3 @@
yarnPath: .yarn/releases/yarn-3.1.1.cjs
nodeLinker: node-modules
npmRegistryServer: https://registry.npmjs.org

View file

@ -1,5 +1,5 @@
{ {
"name": "test-module", "name": "bench",
"version": "1.0.0", "version": "1.0.0",
"scripts": { "scripts": {
"build": "node ../cli/scripts/index.js build --js false --release" "build": "node ../cli/scripts/index.js build --js false --release"

View file

@ -44,11 +44,11 @@
"@types/inquirer": "^8.1.3", "@types/inquirer": "^8.1.3",
"@types/js-yaml": "^4.0.5", "@types/js-yaml": "^4.0.5",
"@types/lodash-es": "^4.17.5", "@types/lodash-es": "^4.17.5",
"chalk": "4",
"clipanion": "^3.1.0", "clipanion": "^3.1.0",
"colorette": "^2.0.16",
"debug": "^4.3.3", "debug": "^4.3.3",
"env-paths": "^3.0.0", "env-paths": "^3.0.0",
"fdir": "^5.1.0", "fdir": "^5.2.0",
"inquirer": "^8.2.0", "inquirer": "^8.2.0",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"lodash-es": "4.17.21", "lodash-es": "4.17.21",

View file

@ -1,5 +1,5 @@
{ {
"name": "test-module", "name": "compat-mode-examples",
"version": "1.0.0", "version": "1.0.0",
"scripts": { "scripts": {
"build": "node ../../cli/scripts/index.js build --js false --features \"latest\"", "build": "node ../../cli/scripts/index.js build --js false --features \"latest\"",

View file

@ -320,7 +320,7 @@ test('async', async (t) => {
await t.notThrowsAsync(bufPromise) await t.notThrowsAsync(bufPromise)
const buf = await bufPromise const buf = await bufPromise
const { name } = JSON.parse(buf.toString()) const { name } = JSON.parse(buf.toString())
t.is(name, 'napi-examples') t.is(name, 'examples')
await t.throwsAsync(() => readFileAsync('some_nonexist_path.file')) await t.throwsAsync(() => readFileAsync('some_nonexist_path.file'))
}) })

View file

@ -23,7 +23,7 @@ Generated by [AVA](https://avajs.dev).
'ava', 'ava',
'benny', 'benny',
'c8', 'c8',
'chalk', 'colorette',
'cross-env', 'cross-env',
'esbuild', 'esbuild',
'eslint', 'eslint',

View file

@ -1,5 +1,5 @@
{ {
"name": "napi-examples", "name": "examples",
"private": true, "private": true,
"version": "0.0.0", "version": "0.0.0",
"main": "./index.node", "main": "./index.node",

View file

@ -6,10 +6,10 @@
"build": "node ../cli/scripts/index.js build --release" "build": "node ../cli/scripts/index.js build --release"
}, },
"dependencies": { "dependencies": {
"chalk": "4", "colorette": "^2.0.16",
"dockerode": "^3.3.1", "dockerode": "^3.3.1",
"pretty-bytes": "^5.6.0", "pretty-bytes": "^5.6.0",
"table": "^6.7.5" "table": "^6.8.0"
}, },
"devDependencies": { "devDependencies": {
"@types/dockerode": "^3.3.1" "@types/dockerode": "^3.3.1"

View file

@ -1,23 +1,21 @@
const chalk = require('chalk') const { whiteBright, red, green, gray } = require('colorette')
const prettyBytes = require('pretty-bytes') const prettyBytes = require('pretty-bytes')
const { table } = require('table') const { table } = require('table')
module.exports = function displayMemoryUsageFromNode(initialMemoryUsage) { module.exports = function displayMemoryUsageFromNode(initialMemoryUsage) {
const finalMemoryUsage = process.memoryUsage() const finalMemoryUsage = process.memoryUsage()
const titles = Object.keys(initialMemoryUsage).map((k) => const titles = Object.keys(initialMemoryUsage).map((k) => whiteBright(k))
chalk.whiteBright(k),
)
const tableData = [titles] const tableData = [titles]
const diffColumn = [] const diffColumn = []
for (const [key, value] of Object.entries(initialMemoryUsage)) { for (const [key, value] of Object.entries(initialMemoryUsage)) {
const diff = finalMemoryUsage[key] - value const diff = finalMemoryUsage[key] - value
const prettyDiff = prettyBytes(diff, { signed: true }) const prettyDiff = prettyBytes(diff, { signed: true })
if (diff > 0) { if (diff > 0) {
diffColumn.push(chalk.red(prettyDiff)) diffColumn.push(red(prettyDiff))
} else if (diff < 0) { } else if (diff < 0) {
diffColumn.push(chalk.green(prettyDiff)) diffColumn.push(green(prettyDiff))
} else { } else {
diffColumn.push(chalk.grey(prettyDiff)) diffColumn.push(gray(prettyDiff))
} }
} }
tableData.push(diffColumn) tableData.push(diffColumn)

View file

@ -2,12 +2,13 @@
"name": "napi-rs", "name": "napi-rs",
"version": "0.0.0", "version": "0.0.0",
"description": "A minimal library for building compiled Node add-ons in Rust.", "description": "A minimal library for building compiled Node add-ons in Rust.",
"private": "true",
"workspaces": [ "workspaces": [
"bench",
"cli", "cli",
"triples", "triples",
"memory-testing", "memory-testing",
"examples/napi" "examples/napi",
"examples/napi-compat-mode"
], ],
"repository": { "repository": {
"type": "git", "type": "git",
@ -17,14 +18,14 @@
"scripts": { "scripts": {
"bench": "cross-env TS_NODE_PROJECT='./bench/tsconfig.json' node -r ts-node/register/transpile-only bench/bench.ts", "bench": "cross-env TS_NODE_PROJECT='./bench/tsconfig.json' node -r ts-node/register/transpile-only bench/bench.ts",
"build": "tsc -p tsconfig.json -m esnext && yarn bundle && shx chmod 777 cli/scripts/index.js && node -r ts-node/register/transpile-only ./generate-triple-list.ts", "build": "tsc -p tsconfig.json -m esnext && yarn bundle && shx chmod 777 cli/scripts/index.js && node -r ts-node/register/transpile-only ./generate-triple-list.ts",
"build:bench": "yarn --cwd ./bench build", "build:bench": "yarn workspace bench build",
"build:memory": "yarn --cwd ./memory-testing build", "build:memory": "yarn workspace memory-testing build",
"build:test": "yarn --cwd ./examples/napi-compat-mode build && yarn --cwd ./examples/napi build", "build:test": "yarn workspace compat-mode-examples build && yarn workspace examples build",
"build:test:asan": "yarn --cwd ./examples/napi-compat-mode build --cargo-flags='-Zbuild-std' && yarn --cwd ./examples/napi build --cargo-flags='-Zbuild-std'", "build:test:asan": "yarn workspace compat-mode-examples build --cargo-flags='-Zbuild-std' && yarn workspace examples build --cargo-flags='-Zbuild-std'",
"build:test:aarch64": "yarn --cwd ./examples/napi-compat-mode build-aarch64 && yarn --cwd ./examples/napi build-aarch64", "build:test:aarch64": "yarn workspace compat-mode-examples build-aarch64 && yarn workspace examples build-aarch64",
"build:test:android": "yarn --cwd ./examples/napi-compat-mode build --target aarch64-linux-android && yarn --cwd ./examples/napi build --target aarch64-linux-android", "build:test:android": "yarn workspace compat-mode-examples build --target aarch64-linux-android && yarn workspace examples build --target aarch64-linux-android",
"build:test:android:armv7": "yarn --cwd ./examples/napi-compat-mode build --target armv7-linux-androideabi && yarn --cwd ./examples/napi build --target armv7-linux-androideabi", "build:test:android:armv7": "yarn workspace compat-mode-examples build --target armv7-linux-androideabi && yarn workspace examples build --target armv7-linux-androideabi",
"build:test:armv7": "yarn --cwd ./examples/napi-compat-mode build-armv7 && yarn --cwd ./examples/napi build-armv7", "build:test:armv7": "yarn workspace compat-mode-examples build-armv7 && yarn workspace examples build-armv7",
"bundle": "rollup -c rollup.config.js", "bundle": "rollup -c rollup.config.js",
"format": "run-p format:prettier format:rs", "format": "run-p format:prettier format:rs",
"format:prettier": "prettier . -w", "format:prettier": "prettier . -w",
@ -48,7 +49,10 @@
"arrowParens": "always" "arrowParens": "always"
}, },
"lint-staged": { "lint-staged": {
"*.@(js|json|md|yml|yaml)": [ "*.@(js|ts)": [
"eslint --fix"
],
"*.@(js||ts|json|md|yml|yaml)": [
"prettier --write" "prettier --write"
] ]
}, },
@ -61,35 +65,36 @@
"@rollup/plugin-alias": "^3.1.9", "@rollup/plugin-alias": "^3.1.9",
"@rollup/plugin-commonjs": "^21.0.1", "@rollup/plugin-commonjs": "^21.0.1",
"@rollup/plugin-json": "^4.1.0", "@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^13.1.2", "@rollup/plugin-node-resolve": "^13.1.3",
"@rollup/plugin-replace": "^3.0.1", "@rollup/plugin-replace": "^3.0.1",
"@types/debug": "^4.1.7", "@types/debug": "^4.1.7",
"@types/lodash-es": "^4.17.5", "@types/lodash-es": "^4.17.5",
"@types/node": "^17.0.7", "@types/node": "^17.0.10",
"@types/sinon": "^10.0.6", "@types/sinon": "^10.0.8",
"@typescript-eslint/eslint-plugin": "^5.9.0", "@typescript-eslint/eslint-plugin": "^5.10.0",
"@typescript-eslint/parser": "^5.9.0", "@typescript-eslint/parser": "^5.10.0",
"ava": "^4.0.0", "ava": "^4.0.1",
"benny": "^3.7.1", "benny": "^3.7.1",
"c8": "^7.11.0", "c8": "^7.11.0",
"chalk": "4", "colorette": "^2.0.16",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"esbuild": "^0.14.10", "esbuild": "^0.14.13",
"eslint": "^8.6.0", "eslint": "^8.7.0",
"eslint-config-prettier": "^8.3.0", "eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.25.4", "eslint-plugin-import": "^2.25.4",
"eslint-plugin-prettier": "^4.0.0", "eslint-plugin-prettier": "^4.0.0",
"husky": "^7.0.4", "husky": "^7.0.4",
"lerna": "^4.0.0", "lerna": "^4.0.0",
"lint-staged": "^12.1.5", "lint-staged": "^12.3.1",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"prettier": "^2.5.1", "prettier": "^2.5.1",
"rollup": "^2.62.0", "rollup": "^2.66.0",
"shx": "^0.3.3", "shx": "^0.3.4",
"sinon": "^12.0.1", "sinon": "^12.0.1",
"source-map-support": "^0.5.21", "source-map-support": "^0.5.21",
"ts-node": "^10.4.0", "ts-node": "^10.4.0",
"tslib": "^2.3.1", "tslib": "^2.3.1",
"typescript": "^4.5.4" "typescript": "^4.5.5"
} },
"packageManager": "yarn@3.1.1"
} }

16062
yarn.lock

File diff suppressed because it is too large Load diff