···4455## Why are we doing this?
6677-We were massively impressed by what [HTMZ](https://leanrada.com/htmz/) made possible in just 166 bytes, and we think there’s huge potential combining the HTMZ iframe proxy technique with a tiny DOM morphing function. Our goal is to combine this into a new powerful way to build web applications.
77+We were massively impressed by what HTMZ made possible in just 166 bytes, and we think there’s huge potential combining the HTMZ iframe proxy technique with a tiny DOM morphing function. Our goal is to combine this into a new powerful way to build web applications.
8899There are three parts:
10101111-1. iframe proxies for `prepend`, `append` and `morph` operations, targeted by normal HTML links and forms;
1111+1. iframe proxies for `prepend`, `append`, `morph` and `replace` operations, targeted by normal HTML links and forms;
12122. a tiny DOM morphing function that can handle complex cases;
13133. a protocol for requesting the server return a specific fragment of a view by DOM id.
14141515Initially, we will build support for rendering fragments into [phlex](https://github.com/phlex-ruby/phlex) and [phlex-rails](https://github.com/phlex-ruby/phlex-rails).
16161717-## Current status
1818-1919-We have a basic sketch of the morphing function in `src/morphlex.ts` that can handle simple cases. Now, we’re copying tests from [Morphdom](https://github.com/patrick-steele-idem/morphdom), [Idiomorph](https://github.com/bigskysoftware/idiomorph), [Alpine Morph](https://github.com/alpinejs/alpine/tree/main/packages/morph), and [nanomorph](https://github.com/choojs/nanomorph).
2020-2121-## Run tests
2222-2323-- `npm install`
2424-- `npm watch`
2525-- in another tab `npm run "test:watch"`
2626-2717## Usage
28182919```javascript
···31213222morph(currentNode, guideNode);
3323```
2424+2525+## Run tests
2626+2727+- `npm install`
2828+- `npm watch`
2929+- in another tab `npm run "test:watch"`
+3-2
package.json
···11{
22 "name": "morphlex",
33- "version": "0.0.2",
33+ "version": "0.0.3",
44 "type": "module",
55 "description": "Morphlex is an attempt to create a DOM morphing function in less than 100 lines of code.",
66 "main": "dist/morphlex.js",
···1212 "test:watch": "npm run test -- --watch",
1313 "lint": "eslint ./src",
1414 "minify": "terser dist/morphlex.js -o dist/morphlex.min.js -c -m --module",
1515- "prepare": "npm run build && npm run minify"
1515+ "prepare": "npm run build && npm run minify",
1616+ "ship": "npm run prepare && npm run test && npm run lint && npm publish"
1617 },
1718 "author": "Joel Drapper",
1819 "license": "MIT",