diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
new file mode 100644
index 0000000..a37c368
--- /dev/null
+++ b/.github/workflows/codeql.yml
@@ -0,0 +1,36 @@
+name: codeql
+
+on:
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
+
+jobs:
+ analyze:
+ name: analyze
+ runs-on: ubuntu-latest
+ permissions:
+ actions: read
+ contents: read
+ security-events: write
+ strategy:
+ fail-fast: false
+ matrix:
+ language: [ 'javascript' ]
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ - name: initialize codeql
+ uses: github/codeql-action/init@v2
+ with:
+ languages: ${{ matrix.language }}
+ - name: build
+ run: |
+ npm install
+ bash scripts/build.sh
+ - name: analyze
+ uses: github/codeql-action/analyze@v2
diff --git a/.github/workflows/cover.yml b/.github/workflows/cover.yml
new file mode 100644
index 0000000..cef2ae1
--- /dev/null
+++ b/.github/workflows/cover.yml
@@ -0,0 +1,26 @@
+name: cover
+
+on:
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
+
+jobs:
+ cover:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ - name: cover
+ run: |
+ npm install
+ npm run cover
+ - name: upload report
+ uses: codecov/codecov-action@v3
+ with:
+ fail_ci_if_error: true
+ env:
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 0000000..cc274b3
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,27 @@
+name: publish
+on:
+ workflow_dispatch: { }
+ push:
+ branches:
+ - main
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ permissions:
+ pages: write
+ id-token: write
+ environment:
+ name: github-pages
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v3
+ - name: build
+ run: |
+ cd docs
+ npm install
+ npm run build
+ - uses: actions/configure-pages@v3
+ - uses: actions/upload-pages-artifact@v2
+ with:
+ path: .vitepress/dist
+ - uses: actions/deploy-pages@v2
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index a4eea08..ad925bb 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -13,4 +13,4 @@ jobs:
- uses: actions/checkout@v2
- name: editorconfig
run: |
- docker run --rm --volume=$PWD:/check mstruebing/editorconfig-checker ec --exclude .git
+ docker run --rm --volume=$PWD:/check mstruebing/editorconfig-checker ec --exclude "\.git|*\.blend"
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 0000000..aa325ec
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,24 @@
+name: publish
+
+on:
+ release:
+ types: [ published ]
+
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ registry-url: "https://npm.pkg.github.com"
+ - name: build
+ run: |
+ npm install
+ bash scripts/build.sh
+ - run: npm publish
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.GH_KEY }}
diff --git a/README.md b/README.md
index b4058ad..59f42f7 100644
--- a/README.md
+++ b/README.md
@@ -6,12 +6,30 @@