@m4l-jweb/build 0.9.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,42 @@
1
+ # @m4l-jweb/build
2
+
3
+ The CLI. It reads a device manifest and writes finished, installable `.amxd` files - generating the Max patcher, compiling the `[js]` wrapper, and freezing your UI bundle inside the device. No Max editor is opened at any point.
4
+
5
+ Part of **[m4l-jweb](https://github.com/alienmind/m4l-jweb)** - build Ableton Live devices (`.amxd`) from a TypeScript repo: React UI, LiveAPI glue, CI builds, no Max editor.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ pnpm add @m4l-jweb/build
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ # in a device repo
17
+ pnpm m4l-jweb build # patchers + wrapper + .amxd, end to end
18
+ pnpm m4l-jweb patchers # just regenerate the patcher JSON
19
+ pnpm m4l-jweb wrapper # just recompile the [js] wrapper
20
+ pnpm m4l-jweb install # copy the built devices into your User Library
21
+ pnpm m4l-jweb init # scaffold a new device repo
22
+ ```
23
+
24
+ ## Notes
25
+
26
+ - Devices are declared as data in `patcher/devices.mjs` - a name, a `type` (`midi` / `audio` / `instrument`), and a list of **chains**. Patch cords become code review.
27
+ - Chains are small functions that each claim a stage of the signal or message path: `webaudio` (the page's own audio, via `[jweb~]`), `midiin`, `midiout`, `lowpass`, `gain`, `download`, `remote`, and your own in `patcher/chains.mjs`.
28
+ - The generated patcher is checked before it is written - duplicate box ids and unrouted selectors fail the build rather than producing a device that loads and silently does nothing.
29
+
30
+ ## Requirements
31
+
32
+ Ableton Live 12 with Max 9. Devices are built on `[jweb~]`, the browser view with signal outlets; older hosts are unverified.
33
+
34
+ ## Links
35
+
36
+ - [Repository and full README](https://github.com/alienmind/m4l-jweb)
37
+ - [Architecture](https://github.com/alienmind/m4l-jweb/blob/main/doc/ARCHITECTURE.md)
38
+ - [What Max actually does: the measured facts](https://github.com/alienmind/m4l-jweb/blob/main/doc/MAX-FACTS.md)
39
+
40
+ ## License
41
+
42
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m4l-jweb/build",
3
- "version": "0.9.9",
3
+ "version": "1.0.0",
4
4
  "description": "m4l-jweb: the CLI that builds and packages a device repo into installable Max for Live devices.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -34,6 +34,6 @@
34
34
  "archiver": "^7.0.1",
35
35
  "esbuild": "^0.25.0",
36
36
  "typescript": "^5.7.0",
37
- "@m4l-jweb/wrapper": "0.9.9"
37
+ "@m4l-jweb/wrapper": "1.0.0"
38
38
  }
39
39
  }
@@ -17,13 +17,13 @@
17
17
  "format": "prettier --write \"src/**/*.{ts,tsx,css}\" \"scripts/*.mjs\" \"patcher/*.mjs\""
18
18
  },
19
19
  "dependencies": {
20
- "@m4l-jweb/bridge": "^0.9.0",
21
- "@m4l-jweb/surface": "^0.9.0",
20
+ "@m4l-jweb/bridge": "^1.0.0",
21
+ "@m4l-jweb/surface": "^1.0.0",
22
22
  "react": "^19.0.0",
23
23
  "react-dom": "^19.0.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@m4l-jweb/build": "^0.9.0",
26
+ "@m4l-jweb/build": "^1.0.0",
27
27
  "@types/node": "^22.0.0",
28
28
  "@types/react": "^19.0.0",
29
29
  "@types/react-dom": "^19.0.0",