diff --git a/packages/core/examples/vanilla.html b/packages/core/examples/vanilla.html
new file mode 100644
index 00000000..1f9b1281
--- /dev/null
+++ b/packages/core/examples/vanilla.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+ Buildless Vanilla Strudel REPL
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/soundfonts/package-lock.json b/packages/soundfonts/package-lock.json
index cf9ccf3c..c5b41e76 100644
--- a/packages/soundfonts/package-lock.json
+++ b/packages/soundfonts/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@strudel.cycles/soundfonts",
- "version": "0.3.2",
+ "version": "0.3.3",
"lockfileVersion": 2,
"requires": true,
"packages": {
diff --git a/packages/soundfonts/package.json b/packages/soundfonts/package.json
index 0175a3c9..80ab00f3 100644
--- a/packages/soundfonts/package.json
+++ b/packages/soundfonts/package.json
@@ -1,6 +1,6 @@
{
"name": "@strudel.cycles/soundfonts",
- "version": "0.3.2",
+ "version": "0.3.3",
"description": "Soundsfont support for strudel",
"main": "index.mjs",
"type": "module",
@@ -23,7 +23,7 @@
"homepage": "https://github.com/tidalcycles/strudel#readme",
"dependencies": {
"@strudel.cycles/core": "^0.3.2",
- "@strudel.cycles/webaudio": "^0.3.2",
+ "@strudel.cycles/webaudio": "^0.3.3",
"sfumato": "^0.1.2",
"soundfont2": "^0.4.0"
},
diff --git a/packages/webaudio/package-lock.json b/packages/webaudio/package-lock.json
index ec482eaf..eeea2c82 100644
--- a/packages/webaudio/package-lock.json
+++ b/packages/webaudio/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@strudel.cycles/webaudio",
- "version": "0.3.2",
+ "version": "0.3.3",
"lockfileVersion": 2,
"requires": true,
"packages": {
diff --git a/packages/webaudio/package.json b/packages/webaudio/package.json
index 8ddf62b3..ba915421 100644
--- a/packages/webaudio/package.json
+++ b/packages/webaudio/package.json
@@ -1,14 +1,17 @@
{
"name": "@strudel.cycles/webaudio",
- "version": "0.3.2",
+ "version": "0.3.3",
"description": "Web Audio helpers for Strudel",
"main": "index.mjs",
+ "module": "dist/index.es.js",
"type": "module",
"directories": {
"example": "examples"
},
"scripts": {
- "example": "npx parcel examples/repl.html"
+ "example": "npx parcel examples/repl.html",
+ "build": "vite build",
+ "prepublish": "npm run build"
},
"repository": {
"type": "git",
diff --git a/packages/webaudio/vite.config.js b/packages/webaudio/vite.config.js
new file mode 100644
index 00000000..5df3b215
--- /dev/null
+++ b/packages/webaudio/vite.config.js
@@ -0,0 +1,19 @@
+import { defineConfig } from 'vite';
+import { dependencies } from './package.json';
+import { resolve } from 'path';
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [],
+ build: {
+ lib: {
+ entry: resolve(__dirname, 'index.mjs'),
+ formats: ['es', 'cjs'],
+ fileName: (ext) => `index.${ext}.js`,
+ },
+ rollupOptions: {
+ external: [...Object.keys(dependencies)],
+ },
+ target: 'esnext',
+ },
+});