From fddbb2e2aca83852c8d0310d02fd3b0ade33bf5e Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sat, 28 Jan 2023 23:04:30 +0100 Subject: [PATCH] soundfonts build --- packages/soundfonts/package.json | 10 +++++++++- packages/soundfonts/vite.config.js | 19 +++++++++++++++++++ pnpm-lock.yaml | 2 ++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 packages/soundfonts/vite.config.js diff --git a/packages/soundfonts/package.json b/packages/soundfonts/package.json index fe30a5b5..d8c02041 100644 --- a/packages/soundfonts/package.json +++ b/packages/soundfonts/package.json @@ -3,6 +3,13 @@ "version": "0.5.0", "description": "Soundsfont support for strudel", "main": "index.mjs", + "publishConfig": { + "main": "dist/index.js", + "module": "dist/index.mjs" + }, + "scripts": { + "build": "vite build" + }, "type": "module", "repository": { "type": "git", @@ -28,6 +35,7 @@ "soundfont2": "^0.4.0" }, "devDependencies": { - "node-fetch": "^3.2.6" + "node-fetch": "^3.2.6", + "vite": "^3.2.2" } } diff --git a/packages/soundfonts/vite.config.js b/packages/soundfonts/vite.config.js new file mode 100644 index 00000000..0fc63a6b --- /dev/null +++ b/packages/soundfonts/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) => ({ 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 5ad1d0f7..b15bd4c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -199,6 +199,7 @@ importers: node-fetch: ^3.2.6 sfumato: ^0.1.2 soundfont2: ^0.4.0 + vite: ^3.2.2 dependencies: '@strudel.cycles/core': link:../core '@strudel.cycles/webaudio': link:../webaudio @@ -206,6 +207,7 @@ importers: soundfont2: 0.4.0 devDependencies: node-fetch: 3.3.0 + vite: 3.2.5 packages/tonal: specifiers: