diff --git a/packages/transpiler/package.json b/packages/transpiler/package.json index 16023ff7..fdd4ad51 100644 --- a/packages/transpiler/package.json +++ b/packages/transpiler/package.json @@ -1,9 +1,14 @@ { "name": "@strudel.cycles/transpiler", - "version": "0.5.0", + "version": "0.6.0", "description": "Transpiler for strudel user code. Converts syntactically correct but semantically meaningless JS into evaluatable strudel code.", "main": "index.mjs", + "publishConfig": { + "main": "dist/index.js", + "module": "dist/index.mjs" + }, "scripts": { + "build": "vite build", "test": "vitest run" }, "repository": { @@ -30,6 +35,7 @@ "estree-walker": "^3.0.1" }, "devDependencies": { + "vite": "^3.2.2", "vitest": "^0.25.8" } } diff --git a/packages/transpiler/vite.config.js b/packages/transpiler/vite.config.js new file mode 100644 index 00000000..0fc63a6b --- /dev/null +++ b/packages/transpiler/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 6601dfc2..5983f03f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -245,6 +245,7 @@ importers: acorn: ^8.8.1 escodegen: ^2.0.0 estree-walker: ^3.0.1 + vite: ^3.2.2 vitest: ^0.25.8 dependencies: '@strudel.cycles/core': link:../core @@ -252,6 +253,7 @@ importers: escodegen: 2.0.0 estree-walker: 3.0.3 devDependencies: + vite: 3.2.5 vitest: 0.25.8 packages/webaudio: