From 7fb582af242e2283aad9094a2d7f7d9651d9efaa Mon Sep 17 00:00:00 2001 From: PrinOrange Date: Thu, 12 Dec 2024 23:18:12 +0800 Subject: [PATCH] fix: migrate yarn to pnpm --- .github/workflows/CI.yml | 106 +++++++------- index.d.ts | 8 +- index.js | 297 +++++++++++++++++++-------------------- 3 files changed, 199 insertions(+), 212 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 8f321ad..e2f637d 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -27,61 +27,61 @@ jobs: settings: - host: macos-latest target: x86_64-apple-darwin - build: yarn build --target x86_64-apple-darwin + build: pnpm build --target x86_64-apple-darwin - host: windows-latest - build: yarn build --target x86_64-pc-windows-msvc + build: pnpm build --target x86_64-pc-windows-msvc target: x86_64-pc-windows-msvc - host: windows-latest build: | - yarn build --target i686-pc-windows-msvc - yarn test + pnpm build --target i686-pc-windows-msvc + pnpm test target: i686-pc-windows-msvc - host: ubuntu-latest target: x86_64-unknown-linux-gnu docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian - build: yarn build --target x86_64-unknown-linux-gnu + build: pnpm build --target x86_64-unknown-linux-gnu - host: ubuntu-latest target: x86_64-unknown-linux-musl docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine - build: yarn build --target x86_64-unknown-linux-musl + build: pnpm build --target x86_64-unknown-linux-musl - host: macos-latest target: aarch64-apple-darwin - build: yarn build --target aarch64-apple-darwin + build: pnpm build --target aarch64-apple-darwin - host: ubuntu-latest target: aarch64-unknown-linux-gnu docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64 - build: yarn build --target aarch64-unknown-linux-gnu + build: pnpm build --target aarch64-unknown-linux-gnu - host: ubuntu-latest target: armv7-unknown-linux-gnueabihf setup: | sudo apt-get update sudo apt-get install gcc-arm-linux-gnueabihf -y - build: yarn build --target armv7-unknown-linux-gnueabihf + build: pnpm build --target armv7-unknown-linux-gnueabihf - host: ubuntu-latest target: armv7-unknown-linux-musleabihf - build: yarn build --target armv7-unknown-linux-musleabihf + build: pnpm build --target armv7-unknown-linux-musleabihf - host: ubuntu-latest target: aarch64-linux-android - build: yarn build --target aarch64-linux-android + build: pnpm build --target aarch64-linux-android - host: ubuntu-latest target: armv7-linux-androideabi - build: yarn build --target armv7-linux-androideabi + build: pnpm build --target armv7-linux-androideabi - host: ubuntu-latest target: aarch64-unknown-linux-musl docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine build: |- set -e && rustup target add aarch64-unknown-linux-musl && - yarn build --target aarch64-unknown-linux-musl + pnpm build --target aarch64-unknown-linux-musl - host: windows-latest target: aarch64-pc-windows-msvc - build: yarn build --target aarch64-pc-windows-msvc + build: pnpm build --target aarch64-pc-windows-msvc - host: ubuntu-latest target: riscv64gc-unknown-linux-gnu setup: | sudo apt-get update sudo apt-get install gcc-riscv64-linux-gnu -y - build: yarn build --target riscv64gc-unknown-linux-gnu + build: pnpm build --target riscv64gc-unknown-linux-gnu name: stable - ${{ matrix.settings.target }} - node@20 runs-on: ${{ matrix.settings.host }} steps: @@ -91,7 +91,7 @@ jobs: if: ${{ !matrix.settings.docker }} with: node-version: 20 - cache: yarn + cache: pnpm - name: Install uses: dtolnay/rust-toolchain@stable if: ${{ !matrix.settings.docker }} @@ -118,16 +118,16 @@ jobs: shell: bash - name: Setup node x86 if: matrix.settings.target == 'i686-pc-windows-msvc' - run: yarn config set supportedArchitectures.cpu "ia32" + run: pnpm config set supportedArchitectures.cpu "ia32" shell: bash - name: Install dependencies - run: yarn install + run: pnpm install - name: Setup node x86 uses: actions/setup-node@v4 if: matrix.settings.target == 'i686-pc-windows-msvc' with: node-version: 20 - cache: yarn + cache: pnpm architecture: x86 - name: Build in docker uses: addnab/docker-run-action@v3 @@ -166,7 +166,7 @@ jobs: shell: bash run: | sudo pkg install -y -f curl node libnghttp2 npm - sudo npm install -g yarn --ignore-scripts + sudo npm install -g pnpm --ignore-scripts curl https://sh.rustup.rs -sSf --output rustup.sh sh rustup.sh -y --profile minimal --default-toolchain stable source "$HOME/.cargo/env" @@ -174,19 +174,19 @@ jobs: rustc --version echo "~~~~ node -v ~~~~" node -v - echo "~~~~ yarn --version ~~~~" - yarn --version + echo "~~~~ pnpm --version ~~~~" + pnpm --version pwd ls -lah whoami env freebsd-version - yarn install - yarn build - yarn test + pnpm install + pnpm build + pnpm test rm -rf node_modules rm -rf target - rm -rf .yarn/cache + rm -rf .pnpm/cache - name: Upload artifact uses: actions/upload-artifact@v4 with: @@ -215,10 +215,10 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - cache: yarn + cache: pnpm architecture: x64 - name: Install dependencies - run: yarn install + run: pnpm install - name: Download artifacts uses: actions/download-artifact@v4 with: @@ -228,7 +228,7 @@ jobs: run: ls -R . shell: bash - name: Test bindings - run: yarn test + run: pnpm test test-linux-x64-gnu-binding: name: Test bindings on Linux-x64-gnu - node@${{ matrix.node }} needs: @@ -246,9 +246,9 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - cache: yarn + cache: pnpm - name: Install dependencies - run: yarn install + run: pnpm install - name: Download artifacts uses: actions/download-artifact@v4 with: @@ -258,7 +258,7 @@ jobs: run: ls -R . shell: bash - name: Test bindings - run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-slim yarn test + run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-slim pnpm test test-linux-x64-musl-binding: name: Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} needs: @@ -276,11 +276,11 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - cache: yarn + cache: pnpm - name: Install dependencies run: | - yarn config set supportedArchitectures.libc "musl" - yarn install + pnpm config set supportedArchitectures.libc "musl" + pnpm install - name: Download artifacts uses: actions/download-artifact@v4 with: @@ -290,7 +290,7 @@ jobs: run: ls -R . shell: bash - name: Test bindings - run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-alpine yarn test + run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-alpine pnpm test test-linux-aarch64-gnu-binding: name: Test bindings on aarch64-unknown-linux-gnu - node@${{ matrix.node }} needs: @@ -314,9 +314,9 @@ jobs: shell: bash - name: Install dependencies run: | - yarn config set supportedArchitectures.cpu "arm64" - yarn config set supportedArchitectures.libc "glibc" - yarn install + pnpm config set supportedArchitectures.cpu "arm64" + pnpm config set supportedArchitectures.libc "glibc" + pnpm install - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: @@ -329,7 +329,7 @@ jobs: options: '--platform linux/arm64 -v ${{ github.workspace }}:/build -w /build' run: | set -e - yarn test + pnpm test ls -la test-linux-aarch64-musl-binding: name: Test bindings on aarch64-unknown-linux-musl - node@${{ matrix.node }} @@ -348,9 +348,9 @@ jobs: shell: bash - name: Install dependencies run: | - yarn config set supportedArchitectures.cpu "arm64" - yarn config set supportedArchitectures.libc "musl" - yarn install + pnpm config set supportedArchitectures.cpu "arm64" + pnpm config set supportedArchitectures.libc "musl" + pnpm install - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: @@ -363,7 +363,7 @@ jobs: options: '--platform linux/arm64 -v ${{ github.workspace }}:/build -w /build' run: | set -e - yarn test + pnpm test test-linux-arm-gnueabihf-binding: name: Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} needs: @@ -387,8 +387,8 @@ jobs: shell: bash - name: Install dependencies run: | - yarn config set supportedArchitectures.cpu "arm" - yarn install + pnpm config set supportedArchitectures.cpu "arm" + pnpm install - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: @@ -401,7 +401,7 @@ jobs: options: '--platform linux/arm/v7 -v ${{ github.workspace }}:/build -w /build' run: | set -e - yarn test + pnpm test ls -la universal-macOS: name: Build universal macOS binary @@ -414,9 +414,9 @@ jobs: uses: actions/setup-node@v4 with: node-version: 20 - cache: yarn + cache: pnpm - name: Install dependencies - run: yarn install + run: pnpm install - name: Download macOS x64 artifact uses: actions/download-artifact@v4 with: @@ -428,7 +428,7 @@ jobs: name: bindings-aarch64-apple-darwin path: artifacts - name: Combine binaries - run: yarn universal + run: pnpm universal - name: Upload artifact uses: actions/upload-artifact@v4 with: @@ -453,15 +453,15 @@ jobs: uses: actions/setup-node@v4 with: node-version: 20 - cache: yarn + cache: pnpm - name: Install dependencies - run: yarn install + run: pnpm install - name: Download all artifacts uses: actions/download-artifact@v4 with: path: artifacts - name: Move artifacts - run: yarn artifacts + run: pnpm artifacts - name: List packages run: ls -R ./npm shell: bash diff --git a/index.d.ts b/index.d.ts index 571f3ef..004382d 100644 --- a/index.d.ts +++ b/index.d.ts @@ -3,9 +3,9 @@ /* auto-generated by NAPI-RS */ -export declare function parseMdict(file: string): Array; +export declare function parseMdict(file: string): Array export declare class DictRecord { - word: string; - definition: string; - constructor(word: string, definition: string); + word: string + definition: string + constructor(word: string, definition: string) } diff --git a/index.js b/index.js index 65df320..1511481 100644 --- a/index.js +++ b/index.js @@ -5,325 +5,312 @@ /* auto-generated by NAPI-RS */ const { existsSync, readFileSync } = require('fs') -const { join } = require("path"); +const { join } = require('path') -const { platform, arch } = process; +const { platform, arch } = process -let nativeBinding = null; -let localFileExisted = false; -let loadError = null; +let nativeBinding = null +let localFileExisted = false +let loadError = null function isMusl() { // For Node 10 - if (!process.report || typeof process.report.getReport !== "function") { + if (!process.report || typeof process.report.getReport !== 'function') { try { - const lddPath = require("child_process") - .execSync("which ldd") - .toString() - .trim(); - return readFileSync(lddPath, "utf8").includes("musl"); + const lddPath = require('child_process').execSync('which ldd').toString().trim() + return readFileSync(lddPath, 'utf8').includes('musl') } catch (e) { - return true; + return true } } else { - const { glibcVersionRuntime } = process.report.getReport().header; - return !glibcVersionRuntime; + const { glibcVersionRuntime } = process.report.getReport().header + return !glibcVersionRuntime } } switch (platform) { - case "android": + case 'android': switch (arch) { - case "arm64": - localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.android-arm64.node"), - ); + case 'arm64': + localFileExisted = existsSync(join(__dirname, 'mdx-dict-parser.android-arm64.node')) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.android-arm64.node"); + nativeBinding = require('./mdx-dict-parser.android-arm64.node') } else { - nativeBinding = require("mdx-dict-parser-android-arm64"); + nativeBinding = require('mdx-dict-parser-android-arm64') } } catch (e) { - loadError = e; + loadError = e } - break; - case "arm": - localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.android-arm-eabi.node"), - ); + break + case 'arm': + localFileExisted = existsSync(join(__dirname, 'mdx-dict-parser.android-arm-eabi.node')) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.android-arm-eabi.node"); + nativeBinding = require('./mdx-dict-parser.android-arm-eabi.node') } else { - nativeBinding = require("mdx-dict-parser-android-arm-eabi"); + nativeBinding = require('mdx-dict-parser-android-arm-eabi') } } catch (e) { - loadError = e; + loadError = e } - break; + break default: - throw new Error(`Unsupported architecture on Android ${arch}`); + throw new Error(`Unsupported architecture on Android ${arch}`) } - break; - case "win32": + break + case 'win32': switch (arch) { - case "x64": + case 'x64': localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.win32-x64-msvc.node"), - ); + join(__dirname, 'mdx-dict-parser.win32-x64-msvc.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.win32-x64-msvc.node"); + nativeBinding = require('./mdx-dict-parser.win32-x64-msvc.node') } else { - nativeBinding = require("mdx-dict-parser-win32-x64-msvc"); + nativeBinding = require('mdx-dict-parser-win32-x64-msvc') } } catch (e) { - loadError = e; + loadError = e } - break; - case "ia32": + break + case 'ia32': localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.win32-ia32-msvc.node"), - ); + join(__dirname, 'mdx-dict-parser.win32-ia32-msvc.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.win32-ia32-msvc.node"); + nativeBinding = require('./mdx-dict-parser.win32-ia32-msvc.node') } else { - nativeBinding = require("mdx-dict-parser-win32-ia32-msvc"); + nativeBinding = require('mdx-dict-parser-win32-ia32-msvc') } } catch (e) { - loadError = e; + loadError = e } - break; - case "arm64": + break + case 'arm64': localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.win32-arm64-msvc.node"), - ); + join(__dirname, 'mdx-dict-parser.win32-arm64-msvc.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.win32-arm64-msvc.node"); + nativeBinding = require('./mdx-dict-parser.win32-arm64-msvc.node') } else { - nativeBinding = require("mdx-dict-parser-win32-arm64-msvc"); + nativeBinding = require('mdx-dict-parser-win32-arm64-msvc') } } catch (e) { - loadError = e; + loadError = e } - break; + break default: - throw new Error(`Unsupported architecture on Windows: ${arch}`); + throw new Error(`Unsupported architecture on Windows: ${arch}`) } - break; - case "darwin": - localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.darwin-universal.node"), - ); + break + case 'darwin': + localFileExisted = existsSync(join(__dirname, 'mdx-dict-parser.darwin-universal.node')) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.darwin-universal.node"); + nativeBinding = require('./mdx-dict-parser.darwin-universal.node') } else { - nativeBinding = require("mdx-dict-parser-darwin-universal"); + nativeBinding = require('mdx-dict-parser-darwin-universal') } - break; + break } catch {} switch (arch) { - case "x64": - localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.darwin-x64.node"), - ); + case 'x64': + localFileExisted = existsSync(join(__dirname, 'mdx-dict-parser.darwin-x64.node')) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.darwin-x64.node"); + nativeBinding = require('./mdx-dict-parser.darwin-x64.node') } else { - nativeBinding = require("mdx-dict-parser-darwin-x64"); + nativeBinding = require('mdx-dict-parser-darwin-x64') } } catch (e) { - loadError = e; + loadError = e } - break; - case "arm64": + break + case 'arm64': localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.darwin-arm64.node"), - ); + join(__dirname, 'mdx-dict-parser.darwin-arm64.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.darwin-arm64.node"); + nativeBinding = require('./mdx-dict-parser.darwin-arm64.node') } else { - nativeBinding = require("mdx-dict-parser-darwin-arm64"); + nativeBinding = require('mdx-dict-parser-darwin-arm64') } } catch (e) { - loadError = e; + loadError = e } - break; + break default: - throw new Error(`Unsupported architecture on macOS: ${arch}`); + throw new Error(`Unsupported architecture on macOS: ${arch}`) } - break; - case "freebsd": - if (arch !== "x64") { - throw new Error(`Unsupported architecture on FreeBSD: ${arch}`); + break + case 'freebsd': + if (arch !== 'x64') { + throw new Error(`Unsupported architecture on FreeBSD: ${arch}`) } - localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.freebsd-x64.node"), - ); + localFileExisted = existsSync(join(__dirname, 'mdx-dict-parser.freebsd-x64.node')) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.freebsd-x64.node"); + nativeBinding = require('./mdx-dict-parser.freebsd-x64.node') } else { - nativeBinding = require("mdx-dict-parser-freebsd-x64"); + nativeBinding = require('mdx-dict-parser-freebsd-x64') } } catch (e) { - loadError = e; + loadError = e } - break; - case "linux": + break + case 'linux': switch (arch) { - case "x64": + case 'x64': if (isMusl()) { localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.linux-x64-musl.node"), - ); + join(__dirname, 'mdx-dict-parser.linux-x64-musl.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.linux-x64-musl.node"); + nativeBinding = require('./mdx-dict-parser.linux-x64-musl.node') } else { - nativeBinding = require("mdx-dict-parser-linux-x64-musl"); + nativeBinding = require('mdx-dict-parser-linux-x64-musl') } } catch (e) { - loadError = e; + loadError = e } } else { localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.linux-x64-gnu.node"), - ); + join(__dirname, 'mdx-dict-parser.linux-x64-gnu.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.linux-x64-gnu.node"); + nativeBinding = require('./mdx-dict-parser.linux-x64-gnu.node') } else { - nativeBinding = require("mdx-dict-parser-linux-x64-gnu"); + nativeBinding = require('mdx-dict-parser-linux-x64-gnu') } } catch (e) { - loadError = e; + loadError = e } } - break; - case "arm64": + break + case 'arm64': if (isMusl()) { localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.linux-arm64-musl.node"), - ); + join(__dirname, 'mdx-dict-parser.linux-arm64-musl.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.linux-arm64-musl.node"); + nativeBinding = require('./mdx-dict-parser.linux-arm64-musl.node') } else { - nativeBinding = require("mdx-dict-parser-linux-arm64-musl"); + nativeBinding = require('mdx-dict-parser-linux-arm64-musl') } } catch (e) { - loadError = e; + loadError = e } } else { localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.linux-arm64-gnu.node"), - ); + join(__dirname, 'mdx-dict-parser.linux-arm64-gnu.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.linux-arm64-gnu.node"); + nativeBinding = require('./mdx-dict-parser.linux-arm64-gnu.node') } else { - nativeBinding = require("mdx-dict-parser-linux-arm64-gnu"); + nativeBinding = require('mdx-dict-parser-linux-arm64-gnu') } } catch (e) { - loadError = e; + loadError = e } } - break; - case "arm": + break + case 'arm': if (isMusl()) { localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.linux-arm-musleabihf.node"), - ); + join(__dirname, 'mdx-dict-parser.linux-arm-musleabihf.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.linux-arm-musleabihf.node"); + nativeBinding = require('./mdx-dict-parser.linux-arm-musleabihf.node') } else { - nativeBinding = require("mdx-dict-parser-linux-arm-musleabihf"); + nativeBinding = require('mdx-dict-parser-linux-arm-musleabihf') } } catch (e) { - loadError = e; + loadError = e } } else { localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.linux-arm-gnueabihf.node"), - ); + join(__dirname, 'mdx-dict-parser.linux-arm-gnueabihf.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.linux-arm-gnueabihf.node"); + nativeBinding = require('./mdx-dict-parser.linux-arm-gnueabihf.node') } else { - nativeBinding = require("mdx-dict-parser-linux-arm-gnueabihf"); + nativeBinding = require('mdx-dict-parser-linux-arm-gnueabihf') } } catch (e) { - loadError = e; + loadError = e } } - break; - case "riscv64": + break + case 'riscv64': if (isMusl()) { localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.linux-riscv64-musl.node"), - ); + join(__dirname, 'mdx-dict-parser.linux-riscv64-musl.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.linux-riscv64-musl.node"); + nativeBinding = require('./mdx-dict-parser.linux-riscv64-musl.node') } else { - nativeBinding = require("mdx-dict-parser-linux-riscv64-musl"); + nativeBinding = require('mdx-dict-parser-linux-riscv64-musl') } } catch (e) { - loadError = e; + loadError = e } } else { localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.linux-riscv64-gnu.node"), - ); + join(__dirname, 'mdx-dict-parser.linux-riscv64-gnu.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.linux-riscv64-gnu.node"); + nativeBinding = require('./mdx-dict-parser.linux-riscv64-gnu.node') } else { - nativeBinding = require("mdx-dict-parser-linux-riscv64-gnu"); + nativeBinding = require('mdx-dict-parser-linux-riscv64-gnu') } } catch (e) { - loadError = e; + loadError = e } } - break; - case "s390x": + break + case 's390x': localFileExisted = existsSync( - join(__dirname, "mdx-dict-parser.linux-s390x-gnu.node"), - ); + join(__dirname, 'mdx-dict-parser.linux-s390x-gnu.node') + ) try { if (localFileExisted) { - nativeBinding = require("./mdx-dict-parser.linux-s390x-gnu.node"); + nativeBinding = require('./mdx-dict-parser.linux-s390x-gnu.node') } else { - nativeBinding = require("mdx-dict-parser-linux-s390x-gnu"); + nativeBinding = require('mdx-dict-parser-linux-s390x-gnu') } } catch (e) { - loadError = e; + loadError = e } - break; + break default: - throw new Error(`Unsupported architecture on Linux: ${arch}`); + throw new Error(`Unsupported architecture on Linux: ${arch}`) } - break; + break default: - throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`); + throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`) } if (!nativeBinding) { if (loadError) { - throw loadError; + throw loadError } - throw new Error(`Failed to load native binding`); + throw new Error(`Failed to load native binding`) } -const { DictRecord, parseMdict } = nativeBinding; +const { DictRecord, parseMdict } = nativeBinding -module.exports.DictRecord = DictRecord; -module.exports.parseMdict = parseMdict; +module.exports.DictRecord = DictRecord +module.exports.parseMdict = parseMdict