Skip to content

Commit

Permalink
0.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
twlite committed Dec 15, 2023
1 parent 657603a commit 5dc7ae4
Show file tree
Hide file tree
Showing 35 changed files with 237 additions and 196 deletions.
56 changes: 1 addition & 55 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: CI
env:
DEBUG: napi:*
APP_NAME: vectrace
APP_NAME: vectorizer
MACOSX_DEPLOYMENT_TARGET: '10.13'
permissions:
contents: write
Expand Down Expand Up @@ -162,59 +162,6 @@ jobs:
name: bindings-${{ matrix.settings.target }}
path: ${{ env.APP_NAME }}.*.node
if-no-files-found: error
# build-freebsd:
# runs-on: macos-12
# name: Build FreeBSD
# steps:
# - uses: actions/checkout@v3
# with:
# submodules: true
# - name: Build
# id: build
# uses: vmactions/freebsd-vm@v0
# env:
# DEBUG: napi:*
# RUSTUP_HOME: /usr/local/rustup
# CARGO_HOME: /usr/local/cargo
# RUSTUP_IO_THREADS: 1
# with:
# envs: DEBUG RUSTUP_HOME CARGO_HOME RUSTUP_IO_THREADS
# usesh: true
# mem: 3000
# prepare: |
# pkg install -y -f curl node libnghttp2 llvm cmake # Install the llvm package to fix the libclang error
# curl -qL https://www.npmjs.com/install.sh | sh
# npm install --location=global --ignore-scripts yarn
# curl https://sh.rustup.rs -sSf --output rustup.sh
# sh rustup.sh -y --profile minimal --default-toolchain beta
# rustup component add rustfmt
# export PATH="/usr/local/cargo/bin:$PATH"
# echo "~~~~ rustc --version ~~~~"
# rustc --version
# echo "~~~~ node -v ~~~~"
# node -v
# echo "~~~~ yarn --version ~~~~"
# yarn --version
# run: |
# export PATH="/usr/local/cargo/bin:$PATH"
# pwd
# ls -lah
# whoami
# env
# freebsd-version
# yarn install
# yarn build
# strip -x *.node
# yarn test
# rm -rf node_modules
# rm -rf target
# rm -rf .yarn/cache
# - name: Upload artifact
# uses: actions/upload-artifact@v3
# 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:
Expand Down Expand Up @@ -460,7 +407,6 @@ jobs:
name: Publish
runs-on: ubuntu-latest
needs:
# - build-freebsd
- test-macOS-windows-binding
- test-linux-x64-gnu-binding
- test-linux-x64-musl-binding
Expand Down
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
# Vectrace
# @neplex/vectorizer

A simple Node.js library to convert raster images into svg using [VTracer](https://github.com/visioncortex/vtracer).

## Installation

```bash
npm install vectrace
npm install @neplex/vectorizer
```

## Usage

```js
import { vectorize, ColorMode, Hierarchial, PathSimplifyMode } from 'vectrace';
import {
vectorize,
ColorMode,
Hierarchial,
PathSimplifyMode,
} from '@neplex/vectorizer';
import { Transformer } from '@napi-rs/image';
import { readFile, writeFile } from 'node:fs/promises';

Expand Down
96 changes: 48 additions & 48 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,24 +32,24 @@ switch (platform) {
case 'android':
switch (arch) {
case 'arm64':
localFileExisted = existsSync(join(__dirname, 'vectrace.android-arm64.node'))
localFileExisted = existsSync(join(__dirname, 'vectorizer.android-arm64.node'))
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.android-arm64.node')
nativeBinding = require('./vectorizer.android-arm64.node')
} else {
nativeBinding = require('vectrace-android-arm64')
nativeBinding = require('@neplex/vectorizer-android-arm64')
}
} catch (e) {
loadError = e
}
break
case 'arm':
localFileExisted = existsSync(join(__dirname, 'vectrace.android-arm-eabi.node'))
localFileExisted = existsSync(join(__dirname, 'vectorizer.android-arm-eabi.node'))
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.android-arm-eabi.node')
nativeBinding = require('./vectorizer.android-arm-eabi.node')
} else {
nativeBinding = require('vectrace-android-arm-eabi')
nativeBinding = require('@neplex/vectorizer-android-arm-eabi')
}
} catch (e) {
loadError = e
Expand All @@ -63,41 +63,41 @@ switch (platform) {
switch (arch) {
case 'x64':
localFileExisted = existsSync(
join(__dirname, 'vectrace.win32-x64-msvc.node')
join(__dirname, 'vectorizer.win32-x64-msvc.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.win32-x64-msvc.node')
nativeBinding = require('./vectorizer.win32-x64-msvc.node')
} else {
nativeBinding = require('vectrace-win32-x64-msvc')
nativeBinding = require('@neplex/vectorizer-win32-x64-msvc')
}
} catch (e) {
loadError = e
}
break
case 'ia32':
localFileExisted = existsSync(
join(__dirname, 'vectrace.win32-ia32-msvc.node')
join(__dirname, 'vectorizer.win32-ia32-msvc.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.win32-ia32-msvc.node')
nativeBinding = require('./vectorizer.win32-ia32-msvc.node')
} else {
nativeBinding = require('vectrace-win32-ia32-msvc')
nativeBinding = require('@neplex/vectorizer-win32-ia32-msvc')
}
} catch (e) {
loadError = e
}
break
case 'arm64':
localFileExisted = existsSync(
join(__dirname, 'vectrace.win32-arm64-msvc.node')
join(__dirname, 'vectorizer.win32-arm64-msvc.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.win32-arm64-msvc.node')
nativeBinding = require('./vectorizer.win32-arm64-msvc.node')
} else {
nativeBinding = require('vectrace-win32-arm64-msvc')
nativeBinding = require('@neplex/vectorizer-win32-arm64-msvc')
}
} catch (e) {
loadError = e
Expand All @@ -108,37 +108,37 @@ switch (platform) {
}
break
case 'darwin':
localFileExisted = existsSync(join(__dirname, 'vectrace.darwin-universal.node'))
localFileExisted = existsSync(join(__dirname, 'vectorizer.darwin-universal.node'))
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.darwin-universal.node')
nativeBinding = require('./vectorizer.darwin-universal.node')
} else {
nativeBinding = require('vectrace-darwin-universal')
nativeBinding = require('@neplex/vectorizer-darwin-universal')
}
break
} catch {}
switch (arch) {
case 'x64':
localFileExisted = existsSync(join(__dirname, 'vectrace.darwin-x64.node'))
localFileExisted = existsSync(join(__dirname, 'vectorizer.darwin-x64.node'))
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.darwin-x64.node')
nativeBinding = require('./vectorizer.darwin-x64.node')
} else {
nativeBinding = require('vectrace-darwin-x64')
nativeBinding = require('@neplex/vectorizer-darwin-x64')
}
} catch (e) {
loadError = e
}
break
case 'arm64':
localFileExisted = existsSync(
join(__dirname, 'vectrace.darwin-arm64.node')
join(__dirname, 'vectorizer.darwin-arm64.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.darwin-arm64.node')
nativeBinding = require('./vectorizer.darwin-arm64.node')
} else {
nativeBinding = require('vectrace-darwin-arm64')
nativeBinding = require('@neplex/vectorizer-darwin-arm64')
}
} catch (e) {
loadError = e
Expand All @@ -152,12 +152,12 @@ switch (platform) {
if (arch !== 'x64') {
throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
}
localFileExisted = existsSync(join(__dirname, 'vectrace.freebsd-x64.node'))
localFileExisted = existsSync(join(__dirname, 'vectorizer.freebsd-x64.node'))
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.freebsd-x64.node')
nativeBinding = require('./vectorizer.freebsd-x64.node')
} else {
nativeBinding = require('vectrace-freebsd-x64')
nativeBinding = require('@neplex/vectorizer-freebsd-x64')
}
} catch (e) {
loadError = e
Expand All @@ -168,26 +168,26 @@ switch (platform) {
case 'x64':
if (isMusl()) {
localFileExisted = existsSync(
join(__dirname, 'vectrace.linux-x64-musl.node')
join(__dirname, 'vectorizer.linux-x64-musl.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.linux-x64-musl.node')
nativeBinding = require('./vectorizer.linux-x64-musl.node')
} else {
nativeBinding = require('vectrace-linux-x64-musl')
nativeBinding = require('@neplex/vectorizer-linux-x64-musl')
}
} catch (e) {
loadError = e
}
} else {
localFileExisted = existsSync(
join(__dirname, 'vectrace.linux-x64-gnu.node')
join(__dirname, 'vectorizer.linux-x64-gnu.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.linux-x64-gnu.node')
nativeBinding = require('./vectorizer.linux-x64-gnu.node')
} else {
nativeBinding = require('vectrace-linux-x64-gnu')
nativeBinding = require('@neplex/vectorizer-linux-x64-gnu')
}
} catch (e) {
loadError = e
Expand All @@ -197,26 +197,26 @@ switch (platform) {
case 'arm64':
if (isMusl()) {
localFileExisted = existsSync(
join(__dirname, 'vectrace.linux-arm64-musl.node')
join(__dirname, 'vectorizer.linux-arm64-musl.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.linux-arm64-musl.node')
nativeBinding = require('./vectorizer.linux-arm64-musl.node')
} else {
nativeBinding = require('vectrace-linux-arm64-musl')
nativeBinding = require('@neplex/vectorizer-linux-arm64-musl')
}
} catch (e) {
loadError = e
}
} else {
localFileExisted = existsSync(
join(__dirname, 'vectrace.linux-arm64-gnu.node')
join(__dirname, 'vectorizer.linux-arm64-gnu.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.linux-arm64-gnu.node')
nativeBinding = require('./vectorizer.linux-arm64-gnu.node')
} else {
nativeBinding = require('vectrace-linux-arm64-gnu')
nativeBinding = require('@neplex/vectorizer-linux-arm64-gnu')
}
} catch (e) {
loadError = e
Expand All @@ -225,13 +225,13 @@ switch (platform) {
break
case 'arm':
localFileExisted = existsSync(
join(__dirname, 'vectrace.linux-arm-gnueabihf.node')
join(__dirname, 'vectorizer.linux-arm-gnueabihf.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.linux-arm-gnueabihf.node')
nativeBinding = require('./vectorizer.linux-arm-gnueabihf.node')
} else {
nativeBinding = require('vectrace-linux-arm-gnueabihf')
nativeBinding = require('@neplex/vectorizer-linux-arm-gnueabihf')
}
} catch (e) {
loadError = e
Expand All @@ -240,26 +240,26 @@ switch (platform) {
case 'riscv64':
if (isMusl()) {
localFileExisted = existsSync(
join(__dirname, 'vectrace.linux-riscv64-musl.node')
join(__dirname, 'vectorizer.linux-riscv64-musl.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.linux-riscv64-musl.node')
nativeBinding = require('./vectorizer.linux-riscv64-musl.node')
} else {
nativeBinding = require('vectrace-linux-riscv64-musl')
nativeBinding = require('@neplex/vectorizer-linux-riscv64-musl')
}
} catch (e) {
loadError = e
}
} else {
localFileExisted = existsSync(
join(__dirname, 'vectrace.linux-riscv64-gnu.node')
join(__dirname, 'vectorizer.linux-riscv64-gnu.node')
)
try {
if (localFileExisted) {
nativeBinding = require('./vectrace.linux-riscv64-gnu.node')
nativeBinding = require('./vectorizer.linux-riscv64-gnu.node')
} else {
nativeBinding = require('vectrace-linux-riscv64-gnu')
nativeBinding = require('@neplex/vectorizer-linux-riscv64-gnu')
}
} catch (e) {
loadError = e
Expand Down
4 changes: 2 additions & 2 deletions npm/android-arm-eabi/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# `vectrace-android-arm-eabi`
# `@neplex/vectorizer-android-arm-eabi`

This is the **armv7-linux-androideabi** binary for `vectrace`
This is the **armv7-linux-androideabi** binary for `@neplex/vectorizer`
12 changes: 9 additions & 3 deletions npm/android-arm-eabi/package.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
{
"name": "vectrace-android-arm-eabi",
"name": "@neplex/vectorizer-android-arm-eabi",
"version": "0.0.0",
"os": [
"android"
],
"cpu": [
"arm"
],
"main": "vectrace.android-arm-eabi.node",
"main": "vectorizer.android-arm-eabi.node",
"files": [
"vectrace.android-arm-eabi.node"
"vectorizer.android-arm-eabi.node"
],
"description": "A simple Node.js library to convert raster images into svg",
"author": "twlite <[email protected]>",
"license": "MIT",
"engines": {
"node": ">= 10"
},
"repository": {
"type": "git",
"url": "https://github.com/neplextech/vectrace"
}
}
Loading

0 comments on commit 5dc7ae4

Please sign in to comment.