diff --git a/packages/serial/package.json b/packages/serial/package.json index 4ca223cd..5b5a4680 100644 --- a/packages/serial/package.json +++ b/packages/serial/package.json @@ -1,8 +1,15 @@ { "name": "@strudel.cycles/serial", - "version": "0.3.0", + "version": "0.6.0", "description": "Webserial API for strudel", "main": "serial.mjs", + "publishConfig": { + "main": "dist/index.js", + "module": "dist/index.mjs" + }, + "scripts": { + "build": "vite build" + }, "repository": { "type": "git", "url": "git+https://github.com/tidalcycles/strudel.git" @@ -22,5 +29,8 @@ "homepage": "https://github.com/tidalcycles/strudel#readme", "dependencies": { "@strudel.cycles/core": "workspace:*" + }, + "devDependencies": { + "vite": "^3.2.2" } } diff --git a/packages/serial/vite.config.js b/packages/serial/vite.config.js new file mode 100644 index 00000000..070609bf --- /dev/null +++ b/packages/serial/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, 'serial.mjs'), + formats: ['es', 'cjs'], + fileName: (ext) => ({ es: 'index.mjs', cjs: 'index.js' }[ext]), + }, + rollupOptions: { + external: [...Object.keys(dependencies)], + }, + target: 'esnext', + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a3aec83b..5ad1d0f7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -186,8 +186,11 @@ importers: packages/serial: specifiers: '@strudel.cycles/core': workspace:* + vite: ^3.2.2 dependencies: '@strudel.cycles/core': link:../core + devDependencies: + vite: 3.2.5 packages/soundfonts: specifiers: