Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
44a6892
change apis to accept an option object directly
ceifa Jan 18, 2025
fce233a
convert bin to esm
ceifa Jan 18, 2025
867ae70
wip: new improved cli
ceifa Jan 18, 2025
eae545b
implement option to use raw node fs
ceifa Feb 18, 2025
2e0ab5f
drop support for node 18 and 20
ceifa Feb 18, 2025
580e25a
unify build command
ceifa Feb 18, 2025
32fdd5c
specify cjs
ceifa Feb 25, 2025
9fdcef4
add node fs support for windows
ceifa Feb 25, 2025
dbda8f0
more close to real api
ceifa Feb 25, 2025
d9a63f9
remove finalization registry check
ceifa Feb 25, 2025
1e04deb
stdin finally working (at least on linux)
ceifa Feb 25, 2025
048878a
add jsr publish
ceifa Feb 25, 2025
07096b3
update artifact package
ceifa Feb 25, 2025
2683947
lint
ceifa Feb 25, 2025
a315aba
fix jsr.json structure
ceifa Feb 25, 2025
68deb27
package name
ceifa Feb 25, 2025
84ee22c
concatenation
ceifa Feb 25, 2025
745fac6
force include
ceifa Feb 25, 2025
3b4d4e1
force exclude dist
ceifa Feb 25, 2025
f8f95f5
try not checking out repo
ceifa Feb 25, 2025
8acf55d
license
ceifa Feb 25, 2025
b3778d6
test older emscripten version
ceifa Feb 25, 2025
657a079
fix string
ceifa Feb 25, 2025
32af619
disable jsr publish
ceifa Feb 25, 2025
a34ed74
better api for stdio
ceifa Feb 26, 2025
e63fcb6
check for docker
ceifa Feb 26, 2025
ecc6388
changed library api to abstract wasm (but keep it exposed) and change…
ceifa Feb 26, 2025
9dac5f9
update packages, use oxc
ceifa Mar 13, 2026
9fd1b19
fix lua 5.5.1 implementation
ceifa Mar 13, 2026
d41aca8
add a test to ensure no regressions on 64bit numbers
ceifa Mar 14, 2026
a23e34d
optimize build size
ceifa Mar 14, 2026
c326891
lint and readme benchmark
ceifa Mar 14, 2026
4d8c2d4
nodefs
ceifa Mar 25, 2026
dbcb003
nodefs: load the current drive by default
ceifa Mar 25, 2026
0980891
lint
ceifa Mar 25, 2026
c66b3e3
ci: install Playwright browsers before running tests
ceifa Mar 25, 2026
335320e
fix: keep new threads off of stack
ceifa Apr 25, 2026
5c5dee5
cleanup
ceifa Apr 25, 2026
2fc3a80
bigint support and fixes
ceifa Jul 28, 2026
ab84d4d
chore: update packages
ceifa Jul 28, 2026
38dd187
fix utf-8, stdio, and api changes again
ceifa Jul 28, 2026
e4a27b9
better types
ceifa Jul 28, 2026
574ee54
better browser support
ceifa Jul 29, 2026
3411ce5
tests ovehaul
ceifa Jul 29, 2026
266037a
small api changes
ceifa Jul 29, 2026
639d163
fix some cli unparity with official lua cli
ceifa Jul 29, 2026
df082d5
perf
ceifa Jul 29, 2026
fe81283
fix: memory leaks
ceifa Jul 29, 2026
21bb5e8
better fs support
ceifa Jul 29, 2026
e41bf7f
perf
ceifa Jul 29, 2026
85cb6e5
perf
ceifa Jul 29, 2026
67deeb4
fixes
ceifa Jul 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 95 additions & 14 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,105 @@ on:
branches: [main]

jobs:
publish:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@v7
with:
submodules: recursive
- uses: mymindstorm/setup-emsdk@v14
- name: Use Node.js 22.x
uses: actions/setup-node@v4

- name: Setup EMSDK
uses: emscripten-core/setup-emsdk@v16
with:
version: 6.0.4
actions-cache-folder: emsdk-cache

- name: Use Node.js 24.x
uses: actions/setup-node@v7
with:
node-version: 24.x

- name: Install dependencies
run: npm ci

- name: Run lint (no fix)
run: npm run lint:nofix

- name: Build WASM
run: npm run build:wasm

- name: Build project
run: npm run build

- name: Install Playwright browsers
run: npx playwright install --with-deps chromium

- name: Run tests
run: npm test

- name: Run Lua tests
run: npm run luatests

- name: Upload build artifact
uses: actions/upload-artifact@v7
with:
name: build-artifact
path: |
package.json
package-lock.json
dist/
bin/
LICENSE

publish_npm:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout repository
uses: actions/checkout@v7

- name: Download build artifact
uses: actions/download-artifact@v8
with:
node-version: 22.x
- run: npm ci
- run: npm run lint:nofix
- run: npm run build:wasm
- run: npm run build
- run: npm test
- run: npm run luatests
- uses: JS-DevTools/npm-publish@v3
name: build-artifact
path: build-artifact

- name: Restore build artifact
run: cp -r build-artifact/* .

- name: Publish to npm
uses: JS-DevTools/npm-publish@v4
with:
token: ${{ secrets.NPM_TOKEN }}

# Emscripten still doesn't support deno
# publish_jsr:
# runs-on: ubuntu-latest
# needs: build
# permissions:
# contents: read
# id-token: write
# steps:
# - name: Download build artifact
# uses: actions/download-artifact@v8
# with:
# name: build-artifact
# path: build-artifact

# - name: Restore build artifact
# run: cp -r build-artifact/* .

# - name: Generate jsr.json from package.json
# run: |
# node -e "const pkg = require('./package.json'); \
# const jsr = { \
# name: '@ceifa/' + pkg.name, \
# version: pkg.version, \
# exports: pkg.main, \
# include: ['dist/**/*', 'bin/**/*']
# }; \
# require('fs').writeFileSync('jsr.json', JSON.stringify(jsr, null, 2));"

# - name: Publish to JSR
# run: npx jsr publish
13 changes: 9 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,25 @@ jobs:

strategy:
matrix:
node-version: [18, 20, 22]
node-version: [24]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
with:
submodules: recursive
- uses: mymindstorm/setup-emsdk@v12
- uses: emscripten-core/setup-emsdk@v16
with:
version: 6.0.4
actions-cache-folder: emsdk-cache
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
uses: actions/setup-node@v7
with:
node-version: ${{ matrix.node-version }}
cache: npm
- run: npm ci
- run: npm run lint:nofix
- run: npm run build:wasm
- run: npm run build
- run: npx playwright install --with-deps chromium
- run: npm test
- run: npm run luatests
4 changes: 3 additions & 1 deletion .prettierrc → .oxfmtrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,7 @@
"quoteProps": "consistent",
"semi": false,
"printWidth": 140,
"tabWidth": 4
"tabWidth": 4,
"sortPackageJson": false,
"ignorePatterns": ["rolldown.config.*.js"]
}
18 changes: 18 additions & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"plugins": ["import", "promise", "node"],
"categories": {
"correctness": "deny",
"suspicious": "deny"
},
"rules": {
"no-shadow": "off",
"no-extend-native": "off",
"no-underscore-dangle": "off",
"consistent-function-scoping": "off",
"promise/always-return": "off"
},
"ignorePatterns": ["dist/**", "build/**", "rolldown.config.ts", "rolldown.config.*.js", "utils/**"],
"env": {
"builtin": true
}
}
6 changes: 0 additions & 6 deletions .prettierignore

This file was deleted.

Loading
Loading