create-zoijs 0.2.0 → 0.3.1

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/CHANGELOG.md CHANGED
@@ -2,6 +2,30 @@
2
2
 
3
3
  All notable changes to `create-zoijs` are documented here.
4
4
 
5
+ ## 0.3.1 — 2026-11-02
6
+
7
+ ### Changed
8
+ - **New apps use `@zoijs/core` 1.11.0.** Package templates depend on `^1.11.0` and the `minimal`
9
+ template loads core 1.11.0 from jsDelivr with an integrity hash for every module file
10
+ (`core-cdn.json`, regenerated from the published tarball). 1.11.0 makes hydration recover
11
+ instead of crashing and adds an opt-in lean entry for apps that never hydrate — see the core
12
+ CHANGELOG. Templates are otherwise unchanged; existing apps are unaffected.
13
+
14
+ ## 0.3.0 — 2026-10-12
15
+
16
+ ### Changed
17
+ - **New apps use `@zoijs/core` 1.10.0.** Package templates depend on `^1.10.0` and the `minimal`
18
+ template loads core 1.10.0 from jsDelivr with an integrity hash for every module file
19
+ (`core-cdn.json`, regenerated from the published tarball). 1.10.0 fixes SVG/MathML lists,
20
+ style bindings under a strict `style-src` CSP, `each()` item spread/`JSON.stringify`, multi-root
21
+ list items, and class bindings that wiped classes added by other code — see the core CHANGELOG.
22
+ - **Scaffolded apps are editor-neutral.** The `app`, `basic`, `typescript` and `library`
23
+ templates no longer write `.vscode/extensions.json`, which recommended three third-party
24
+ extensions. Zoijs doesn't recommend editors or editor extensions; autocomplete and
25
+ optional type-checking still come from the types every package ships, through the
26
+ `jsconfig.json` (`app`, `basic`) or `tsconfig.json` (`typescript`, `library`) that the
27
+ templates keep. Existing apps are unaffected — delete `.vscode/` if you don't want it.
28
+
5
29
  ## 0.2.0 — 2026-10-05
6
30
 
7
31
  ### Security
@@ -89,7 +89,7 @@ const isText = (file) => file === "_gitignore" || TEXT_EXT.has(path.extname(file
89
89
 
90
90
  // npm strips/renames files and dirs that start with a dot from a published package,
91
91
  // so templates ship them with a "_" prefix and we restore the dot name on copy.
92
- const RENAME = { _gitignore: ".gitignore", _vscode: ".vscode" };
92
+ const RENAME = { _gitignore: ".gitignore" };
93
93
 
94
94
  function applyTokens(content, tokens) {
95
95
  return content.replace(/\{\{(APP_NAME|APP_TITLE|ZOIJS_CORE_VERSION|ZOIJS_CORE_CDN|ZOIJS_CORE_IMPORTMAP)\}\}/g, (_, key) => tokens[key]);
package/core-cdn.json CHANGED
@@ -1,36 +1,37 @@
1
1
  {
2
2
  "prod": false,
3
3
  "imports": {
4
- "@zoijs/core": "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/index.js"
4
+ "@zoijs/core": "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/index.js"
5
5
  },
6
6
  "integrity": {
7
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/core/boundary.js": "sha384-sgP+7Uk+gh1Gk39OqMxZEo9Mox6uM6upgCbk9n4HKa8L3LywliSiXjQPQrjj/OG/",
8
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/core/brand.js": "sha384-SQKAavcGif93XT58P5unWneM/VMR1rPsGM/wF63kNN4YaR2RdK2mu2IwULo9VYix",
9
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/core/each.js": "sha384-ple5ogdJi5exkzQbgaQ8jnLLOymkmnG8dG/B8L36QkDbmIOiuRL+IdNVNNLYh+3N",
10
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/core/html.js": "sha384-5sS5ABTdRpfXmhwZuIyhqcSO7fCY1VFVlYcolWRfLsRVzytc9JnUkjfX2Adfy8WI",
11
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/core/mount.js": "sha384-eAm8c9K1SY4j66NnZ4pc4exzlek7iG67di9hU5U9S3PnaZnElkqRGpzOy2z4Uz2h",
12
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/core/renderer.js": "sha384-H2K6FI3+kv2iPxyLb8V9e9Ux4X95PcPQGYu/h7Gq9rk4brE1nLHKFvI4iG5vt7Uz",
13
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/index.js": "sha384-dDKK+RVA9Pj7X7aJvv0zgepWNZQi9W20zZ1JgACZ4EbIQ9LjvLsss8gsQGiyvcRb",
14
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/prod.js": "sha384-2Wg5h5XW9gULwwZPet1azoni63tKm9iTs9FrAoLV0vGUa77h5WPgqsG/F3TFPuBy",
15
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/reactivity/computed.js": "sha384-nlAK86Jy1IR3yFSePE38l6cjZqcu5SdnYRVQxJh/+2YQL3WhTHdZ18yCKeKL4ffm",
16
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/reactivity/core.js": "sha384-dBKT0ohkuylmZHrv0HAjRtTxrMNyo6FZTk8Fqf6LH+aAi3moXikSLGdlPaeZi5IV",
17
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/reactivity/devtools.js": "sha384-KyEdZp4AcE9RdgocIKg0Q3NKTIyCUPnMi8LLPGrDDhRCJ55DA/JcqSZRFjoHHR5X",
18
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/reactivity/effect.js": "sha384-EMCI2Kpw6k0EUn5QPC6tJLoON+nUgQ7L25AXgIrWLmhMCLKJq/jP+C6Bk/P6gGDY",
19
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/reactivity/env.js": "sha384-41791FgWw6cq/pCRB6up+hZExngmUr1tAVxQG58SdvonImEcU6jK7g14jzZAPBFL",
20
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/reactivity/owner.js": "sha384-r8/NbofI3PXPfKvjxBuhWcRZGMJQn+Ldbne0ghFkjELu6SjvpaWIHnxF8FuScUAp",
21
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/reactivity/runtime.js": "sha384-5CQnBBrMFUfcq+ahlgE4DX/nG0ua+Bo0l70VtRkXVPWQyvGtXoSScup7FHsQqbA2",
22
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/reactivity/state.js": "sha384-w2HVkiWmSdb8h7qqr4OViqHJrDqlD/oInr+5Lal+lSvXWu3SPuZv35WWDPsEOgUq",
23
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/utils/dom.js": "sha384-XsdCmmxzHfpBmOdz1648tCRrAMMHbWKIzvm4Aj2VIEpWJDIIaKmihqEARvxN6d+2",
24
- "https://cdn.jsdelivr.net/npm/@zoijs/core@1.9.0/src/utils/security.js": "sha384-7UafFG7FtgE/ZSVl+gEOKHc7qewaF0V6hKLEqgI9yj9mGTxz62GTzkrUPfbOXOtT"
7
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/core/boundary.js": "sha384-sgP+7Uk+gh1Gk39OqMxZEo9Mox6uM6upgCbk9n4HKa8L3LywliSiXjQPQrjj/OG/",
8
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/core/brand.js": "sha384-SQKAavcGif93XT58P5unWneM/VMR1rPsGM/wF63kNN4YaR2RdK2mu2IwULo9VYix",
9
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/core/each.js": "sha384-ple5ogdJi5exkzQbgaQ8jnLLOymkmnG8dG/B8L36QkDbmIOiuRL+IdNVNNLYh+3N",
10
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/core/html.js": "sha384-5sS5ABTdRpfXmhwZuIyhqcSO7fCY1VFVlYcolWRfLsRVzytc9JnUkjfX2Adfy8WI",
11
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/core/hydrate.js": "sha384-L2uv3g3vwGkWvMJxnH+eJW5c676I68NgiJmXeul8zj2BOAtctgG/MGnK10FE/4Tn",
12
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/core/mount.js": "sha384-benwPi7Hv9RKhfuIrt53DisMEfkYpJKnRtP6kjwT8jbYDFsFif6fYfM5699bVHgy",
13
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/core/renderer.js": "sha384-LlahJ537I5Nnh8PvDKR1BRv3kr3QqjgG0Y/XaLhsxfX2df3pVcRPQcWcbAoHoKZm",
14
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/index.js": "sha384-OofaQ8PA9DpDSMN7sezJCzqIJ6RNDBCR+R2des8dZ29cH1ayOALp0KpcGPrF4m3D",
15
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/prod.js": "sha384-2Wg5h5XW9gULwwZPet1azoni63tKm9iTs9FrAoLV0vGUa77h5WPgqsG/F3TFPuBy",
16
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/reactivity/computed.js": "sha384-nlAK86Jy1IR3yFSePE38l6cjZqcu5SdnYRVQxJh/+2YQL3WhTHdZ18yCKeKL4ffm",
17
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/reactivity/core.js": "sha384-2/pjKxk/6bmPWV33/RYobky3OmTngk1kiv2QM/lehlz8Qx6sv2vjvMA7yvtC7H/M",
18
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/reactivity/devtools.js": "sha384-KyEdZp4AcE9RdgocIKg0Q3NKTIyCUPnMi8LLPGrDDhRCJ55DA/JcqSZRFjoHHR5X",
19
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/reactivity/effect.js": "sha384-EMCI2Kpw6k0EUn5QPC6tJLoON+nUgQ7L25AXgIrWLmhMCLKJq/jP+C6Bk/P6gGDY",
20
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/reactivity/env.js": "sha384-41791FgWw6cq/pCRB6up+hZExngmUr1tAVxQG58SdvonImEcU6jK7g14jzZAPBFL",
21
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/reactivity/owner.js": "sha384-r8/NbofI3PXPfKvjxBuhWcRZGMJQn+Ldbne0ghFkjELu6SjvpaWIHnxF8FuScUAp",
22
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/reactivity/runtime.js": "sha384-5CQnBBrMFUfcq+ahlgE4DX/nG0ua+Bo0l70VtRkXVPWQyvGtXoSScup7FHsQqbA2",
23
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/reactivity/state.js": "sha384-w2HVkiWmSdb8h7qqr4OViqHJrDqlD/oInr+5Lal+lSvXWu3SPuZv35WWDPsEOgUq",
24
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/utils/dom.js": "sha384-OuaImF4uLjqgJaa3ys/aKXepfX34hafYkA5tPFNwLwYzRjK0NWRVXAC+SqUmhshs",
25
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.11.0/src/utils/security.js": "sha384-7UafFG7FtgE/ZSVl+gEOKHc7qewaF0V6hKLEqgI9yj9mGTxz62GTzkrUPfbOXOtT"
25
26
  },
26
27
  "packages": {
27
28
  "@zoijs/core": {
28
- "version": "1.9.0",
29
+ "version": "1.11.0",
29
30
  "entries": [
30
31
  "src/index.js",
31
32
  "src/prod.js"
32
33
  ],
33
- "files": 18
34
+ "files": 19
34
35
  }
35
36
  }
36
37
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-zoijs",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "Create a new Zoijs app with one command. Plain HTML, CSS, and JavaScript — no build step.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
- // jsconfig.json — gives your editor IntelliSense (autocomplete, hover, go-to-
3
- // definition) for Zoijs and the DOM, from the types every package ships. No build
2
+ // jsconfig.json — gives your editor autocomplete, hover docs and go-to-
3
+ // definition for Zoijs and the DOM, from the types every package ships. No build
4
4
  // step, no TypeScript migration. Flip "checkJs" to true to also TYPE-CHECK your
5
5
  // JavaScript against those types (or add `// @ts-check` to a single file).
6
6
  "compilerOptions": {
@@ -1,6 +1,6 @@
1
1
  {
2
- // jsconfig.json — gives your editor IntelliSense (autocomplete, hover, go-to-
3
- // definition) for Zoijs and the DOM, from the types every package ships. No build
2
+ // jsconfig.json — gives your editor autocomplete, hover docs and go-to-
3
+ // definition for Zoijs and the DOM, from the types every package ships. No build
4
4
  // step, no TypeScript migration. Flip "checkJs" to true to also TYPE-CHECK your
5
5
  // JavaScript against those types (or add `// @ts-check` to a single file).
6
6
  "compilerOptions": {
@@ -1,7 +0,0 @@
1
- {
2
- "recommendations": [
3
- "bierner.lit-html",
4
- "dbaeumer.vscode-eslint",
5
- "esbenp.prettier-vscode"
6
- ]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "recommendations": [
3
- "bierner.lit-html",
4
- "dbaeumer.vscode-eslint",
5
- "esbenp.prettier-vscode"
6
- ]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "recommendations": [
3
- "bierner.lit-html",
4
- "dbaeumer.vscode-eslint",
5
- "esbenp.prettier-vscode"
6
- ]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "recommendations": [
3
- "bierner.lit-html",
4
- "dbaeumer.vscode-eslint",
5
- "esbenp.prettier-vscode"
6
- ]
7
- }