marko 5.34.5 → 5.35.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.
@@ -82,8 +82,13 @@ exports.p = function (domCompat) {
82
82
  domCompat.patchConditionals((conditional) => (...args) => {
83
83
  const signal = conditional(...args);
84
84
  const skipAttrs = args.length <= 1;
85
- return (scope, renderer, clean) => {
86
- return signal(scope, create5to6Renderer(renderer, skipAttrs), clean);
85
+ return (scope, rendererOrOp) => {
86
+ return signal(
87
+ scope,
88
+ domCompat.isOp(rendererOrOp) ?
89
+ rendererOrOp :
90
+ create5to6Renderer(rendererOrOp, skipAttrs)
91
+ );
87
92
  };
88
93
  });
89
94
 
@@ -124,8 +129,8 @@ exports.p = function (domCompat) {
124
129
  _j_(null, null, realFragment);
125
130
  return realFragment;
126
131
  },
127
- (scope, input, clean) => {
128
- if (clean) return;
132
+ (scope, input) => {
133
+ if (domCompat.isOp(input)) return;
129
134
  renderAndMorph(scope, rendererFromAnywhere, renderer, input);
130
135
  }
131
136
  );
package/docs/compiler.md CHANGED
@@ -206,6 +206,13 @@ Default: [environment based](https://github.com/marko-js/marko/blob/0f212897d2d3
206
206
 
207
207
  Enables production mode optimizations.
208
208
 
209
+ #### `optimizedRegistryIds`
210
+
211
+ Type: `Map<string, string>`<br>
212
+ Default: `undefined`
213
+
214
+ If `optimize` is enabled you can provide a Map which the compiler will use to store shorter registry/template id's in. This can only be used if the same `optimizedRegistryIds` are used for both server and client compilations.
215
+
209
216
  #### `resolveVirtualDependency`
210
217
 
211
218
  Type:
@@ -1,6 +1,22 @@
1
1
  # Getting started
2
2
 
3
- The easiest way to get started with Marko is to use the [Try Online](https://markojs.com/try-online) feature. You can just open it in another tab and follow along. If you'd rather develop locally, check out the [Installation](./installing.md) page.
3
+ ## Setup
4
+
5
+ ### Marko Run (Recommended)
6
+
7
+ [Marko Run](https://github.com/marko-js/run) makes it easy to get started with little to no config and is the recommended starting point for a new Marko project.
8
+
9
+ To set up your project:
10
+
11
+ 1. `npm init marko -- -t basic`
12
+ 2. `cd ./<PROJECT_NAME>`
13
+ 3. `npm run dev`
14
+
15
+ Open `src/routes/_index/+page.marko` in your editor to change the index page. See the [routing documentation](https://github.com/marko-js/run#file-based-routing) to learn how to add additional pages to your project.
16
+
17
+ ### Other setups
18
+
19
+ If you just want to test out Marko in your browser, use the [Try Online](https://markojs.com/try-online) feature. You can open it in another tab and follow along. For other setups, check out the [Installation](./installing.md) page.
4
20
 
5
21
  ## Hello world
6
22
 
@@ -9,10 +9,10 @@ If you just want to play around with Marko in the browser, head on over to our [
9
9
  If you're starting from scratch, you can use Marko's [CLI](https://github.com/marko-js/cli) commands to quickly create a starter app:
10
10
 
11
11
  ```bash
12
- npx @marko/create
12
+ npm init marko
13
13
  ```
14
14
 
15
- This will use an interactive [CLI](https://github.com/marko-js/cli) to automatically create a project for you using the pre-made starter template of your choosing. The `basic` template is the most minimal and the easiest way to get started. It uses our batteries-included `@marko/build` and `@marko/serve` tools that handle building, bundling, and serving your web application. These projects are config-free with built-in file based routing and automatic code reloading.
15
+ This will use an interactive [CLI](https://github.com/marko-js/cli) to automatically create a project for you using the pre-made starter template of your choosing. The `basic` template is the most minimal and the easiest way to get started. It uses our recommended app framework [Marko Run](https://github.com/marko-js/run) that handles building, bundling, and serving your web application. These projects are config-free with built-in file based routing and automatic code reloading.
16
16
 
17
17
  ## Custom Bundling
18
18
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "5.34.5",
3
+ "version": "5.35.0",
4
4
  "description": "UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.",
5
5
  "keywords": [
6
6
  "front-end",
@@ -64,7 +64,7 @@
64
64
  "build": "babel ./src --out-dir ./dist --extensions .js --copy-files --config-file ../../babel.config.js --env-name=production"
65
65
  },
66
66
  "dependencies": {
67
- "@marko/compiler": "^5.36.2",
67
+ "@marko/compiler": "^5.37.0",
68
68
  "@marko/translator-default": "^6.0.1",
69
69
  "app-module-path": "^2.2.0",
70
70
  "argly": "^1.2.0",
@@ -82,8 +82,13 @@ exports.p = function (domCompat) {
82
82
  domCompat.patchConditionals((conditional) => (...args) => {
83
83
  const signal = conditional(...args);
84
84
  const skipAttrs = args.length <= 1;
85
- return (scope, renderer, clean) => {
86
- return signal(scope, create5to6Renderer(renderer, skipAttrs), clean);
85
+ return (scope, rendererOrOp) => {
86
+ return signal(
87
+ scope,
88
+ domCompat.isOp(rendererOrOp)
89
+ ? rendererOrOp
90
+ : create5to6Renderer(rendererOrOp, skipAttrs),
91
+ );
87
92
  };
88
93
  });
89
94
 
@@ -124,8 +129,8 @@ exports.p = function (domCompat) {
124
129
  ___createFragmentNode(null, null, realFragment);
125
130
  return realFragment;
126
131
  },
127
- (scope, input, clean) => {
128
- if (clean) return;
132
+ (scope, input) => {
133
+ if (domCompat.isOp(input)) return;
129
134
  renderAndMorph(scope, rendererFromAnywhere, renderer, input);
130
135
  },
131
136
  );