Node and Web basic npm package test work

This commit is contained in:
Elijah Morgan
2025-01-11 13:17:00 -05:00
parent 8fa3a760c7
commit f81dfed922
10 changed files with 81 additions and 37 deletions

View File

@@ -1,5 +1,5 @@
node_modules/
*.wasm
dist/
packages/
limbo-wasm*tgz
claude.md

View File

@@ -0,0 +1,15 @@
{
"name": "@limbo-wasm/node",
"version": "0.0.11",
"type": "commonjs",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"files": ["dist"],
"exports": {
".": {
"require": "./dist/index.js",
"types": "./dist/index.d.ts"
},
"./snippets/*": "./dist/snippets/*"
}
}

View File

@@ -6,8 +6,10 @@
"packages": {
"": {
"name": "limbo-wasm",
"version": "0.0.12",
"license": "MIT",
"version": "0.0.11",
"workspaces": [
"packages/*"
],
"devDependencies": {
"@playwright/test": "^1.49.1",
"@vitest/ui": "^2.1.8",
@@ -43,6 +45,14 @@
"dev": true,
"license": "MIT"
},
"node_modules/@limbo-wasm/node": {
"resolved": "packages/node",
"link": true
},
"node_modules/@limbo-wasm/web": {
"resolved": "packages/web",
"link": true
},
"node_modules/@playwright/test": {
"version": "1.49.1",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.1.tgz",
@@ -1452,6 +1462,12 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true,
"license": "ISC"
},
"packages/node": {
"version": "0.0.11"
},
"packages/web": {
"version": "0.0.11"
}
}
}

View File

@@ -1,29 +1,22 @@
{
"name": "limbo-wasm",
"collaborators": [
"the Limbo authors"
"version": "0.0.11",
"workspaces": [
"packages/*"
],
"files": [
"packages"
],
"version": "0.0.12",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/penberg/limbo"
},
"files": ["dist", "src"],
"exports": {
".": {
"import": "./dist/web/index.js",
"require": "./dist/node/index.cjs"
"./node": {
"require": "./packages/node/dist/index.js",
"types": "./packages/node/dist/index.d.ts"
},
"./src/*": "./src/*"
},
"main": "./dist/node/index.cjs",
"types": "./dist/node/index.d.ts",
"type": "module",
"scripts": {
"dev": "vite",
"test": "vitest --sequence.shuffle=false",
"test:ui": "vitest --ui"
"./web": {
"import": "./packages/web/dist/index.js",
"types": "./packages/web/dist/index.d.ts"
},
"./web/limbo-worker.js": "./packages/web/dist/limbo-worker.js"
},
"devDependencies": {
"@playwright/test": "^1.49.1",

View File

@@ -2,12 +2,12 @@
set -e
# Define final output directories
NODE_DIR="dist/node"
WEB_DIR="dist/web"
rm -rf dist
NODE_DIR="packages/node"
WEB_DIR="packages/web"
rm -rf packages/
rm -rf pkg
mkdir -p $NODE_DIR $WEB_DIR pkg
mkdir -p $NODE_DIR/dist $WEB_DIR/dist pkg
# Build Node.js target
npx wasm-pack build \
@@ -16,8 +16,7 @@ npx wasm-pack build \
--no-default-features \
--features nodejs
rm -rf pkg/package.json # don't want generated package.json
mv pkg/* $NODE_DIR/
mv $NODE_DIR/index.js $NODE_DIR/index.cjs
mv pkg/* $NODE_DIR/dist/
rm -r pkg
# Build web target
@@ -27,6 +26,11 @@ npx wasm-pack build \
--no-default-features \
--features web
rm -rf pkg/package.json # don't want generated package.json
mv pkg/* $WEB_DIR/
# cp src/opfs.js $WEB_DIR/
mv pkg/* $WEB_DIR/dist/
cp node_package.json $NODE_DIR/package.json
cp web_package.json $WEB_DIR/package.json
# mv $WEB_DIR/index.js $WEB_DIR/index.mjs
cp src/* $WEB_DIR/dist/
rm -r pkg

View File

@@ -1,5 +1,5 @@
import { VFS } from "./opfs.js";
import init, { Database } from "../dist/web/index.js";
import init, { Database } from "./index.js";
let db = null;
let currentStmt = null;

View File

@@ -24,7 +24,7 @@
// const worker = new Worker('./src/limbo-worker.js', { type: 'module' });
// const worker = new Worker('limbo-wasm/src/limbo-worker.js', { type: 'module' });
// const worker = new Worker('./node_modules/limbo-wasm/src/limbo-worker.js', { type: 'module' });
const worker = new Worker(new URL('limbo-wasm/src/limbo-worker.js', import.meta.url), { type: 'module' });
const worker = new Worker(new URL('limbo-wasm/web/limbo-worker.js', import.meta.url), { type: 'module' });
// Wait for ready then send createDb
await waitForMessage(worker, 'ready');

View File

@@ -1,6 +1,6 @@
// import { Database } from "limbo-wasm/node";
const { Database } = require("limbo-wasm");
const { Database } = require("limbo-wasm/node");
// Rest of your code...
const db = new Database("test.db");

View File

@@ -770,8 +770,10 @@
"node_modules/limbo-wasm": {
"version": "0.0.11",
"resolved": "file:../limbo-wasm-0.0.11.tgz",
"integrity": "sha512-9as9fkjVCXqrDKziYuGP0b4E4pEvHmf9XOtjtRE5TZsH9u7lHOekZ24ALyuO0eeaCa87Mc2yobC7LRMmISvEew==",
"license": "MIT"
"integrity": "sha512-5u2JFU1bqaiUawXD3Lkj++O4ezj+D+PAStZwqVeRu85QO7yBiLOvV3/OworAgICZC3l18jQfDuJguRXN4lLMYA==",
"workspaces": [
"packages/*"
]
},
"node_modules/nanoid": {
"version": "3.3.8",

View File

@@ -0,0 +1,14 @@
{
"name": "@limbo-wasm/web",
"version": "0.0.11",
"type": "module",
"main": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"files": ["dist"],
"exports": {
".": {
"import": "./dist/index.mjs",
"types": "./dist/index.d.ts"
}
}
}