create-zoijs 0.2.0 → 0.3.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/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to `create-zoijs` are documented here.
4
4
 
5
+ ## 0.3.0 — 2026-10-12
6
+
7
+ ### Changed
8
+ - **New apps use `@zoijs/core` 1.10.0.** Package templates depend on `^1.10.0` and the `minimal`
9
+ template loads core 1.10.0 from jsDelivr with an integrity hash for every module file
10
+ (`core-cdn.json`, regenerated from the published tarball). 1.10.0 fixes SVG/MathML lists,
11
+ style bindings under a strict `style-src` CSP, `each()` item spread/`JSON.stringify`, multi-root
12
+ list items, and class bindings that wiped classes added by other code — see the core CHANGELOG.
13
+ - **Scaffolded apps are editor-neutral.** The `app`, `basic`, `typescript` and `library`
14
+ templates no longer write `.vscode/extensions.json`, which recommended three third-party
15
+ extensions. Zoijs doesn't recommend editors or editor extensions; autocomplete and
16
+ optional type-checking still come from the types every package ships, through the
17
+ `jsconfig.json` (`app`, `basic`) or `tsconfig.json` (`typescript`, `library`) that the
18
+ templates keep. Existing apps are unaffected — delete `.vscode/` if you don't want it.
19
+
5
20
  ## 0.2.0 — 2026-10-05
6
21
 
7
22
  ### 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,31 +1,31 @@
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.10.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.10.0/src/core/boundary.js": "sha384-sgP+7Uk+gh1Gk39OqMxZEo9Mox6uM6upgCbk9n4HKa8L3LywliSiXjQPQrjj/OG/",
8
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/core/brand.js": "sha384-SQKAavcGif93XT58P5unWneM/VMR1rPsGM/wF63kNN4YaR2RdK2mu2IwULo9VYix",
9
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/core/each.js": "sha384-ple5ogdJi5exkzQbgaQ8jnLLOymkmnG8dG/B8L36QkDbmIOiuRL+IdNVNNLYh+3N",
10
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/core/html.js": "sha384-5sS5ABTdRpfXmhwZuIyhqcSO7fCY1VFVlYcolWRfLsRVzytc9JnUkjfX2Adfy8WI",
11
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/core/mount.js": "sha384-ALL+/TvSuGMiaTpVshF9N+Y11C42/PSUPW7WHGsQlNNpDrqAB8zN2LmnYztgnWNT",
12
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/core/renderer.js": "sha384-vPSoCsTpq874cABpp4izdLZRiT26fXql+VOQMhbT1087RnETORCAcMTIogVnvzpW",
13
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/index.js": "sha384-dDKK+RVA9Pj7X7aJvv0zgepWNZQi9W20zZ1JgACZ4EbIQ9LjvLsss8gsQGiyvcRb",
14
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/prod.js": "sha384-2Wg5h5XW9gULwwZPet1azoni63tKm9iTs9FrAoLV0vGUa77h5WPgqsG/F3TFPuBy",
15
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/reactivity/computed.js": "sha384-nlAK86Jy1IR3yFSePE38l6cjZqcu5SdnYRVQxJh/+2YQL3WhTHdZ18yCKeKL4ffm",
16
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/reactivity/core.js": "sha384-2/pjKxk/6bmPWV33/RYobky3OmTngk1kiv2QM/lehlz8Qx6sv2vjvMA7yvtC7H/M",
17
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/reactivity/devtools.js": "sha384-KyEdZp4AcE9RdgocIKg0Q3NKTIyCUPnMi8LLPGrDDhRCJ55DA/JcqSZRFjoHHR5X",
18
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/reactivity/effect.js": "sha384-EMCI2Kpw6k0EUn5QPC6tJLoON+nUgQ7L25AXgIrWLmhMCLKJq/jP+C6Bk/P6gGDY",
19
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/reactivity/env.js": "sha384-41791FgWw6cq/pCRB6up+hZExngmUr1tAVxQG58SdvonImEcU6jK7g14jzZAPBFL",
20
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/reactivity/owner.js": "sha384-r8/NbofI3PXPfKvjxBuhWcRZGMJQn+Ldbne0ghFkjELu6SjvpaWIHnxF8FuScUAp",
21
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/reactivity/runtime.js": "sha384-5CQnBBrMFUfcq+ahlgE4DX/nG0ua+Bo0l70VtRkXVPWQyvGtXoSScup7FHsQqbA2",
22
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/reactivity/state.js": "sha384-w2HVkiWmSdb8h7qqr4OViqHJrDqlD/oInr+5Lal+lSvXWu3SPuZv35WWDPsEOgUq",
23
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/utils/dom.js": "sha384-OuaImF4uLjqgJaa3ys/aKXepfX34hafYkA5tPFNwLwYzRjK0NWRVXAC+SqUmhshs",
24
+ "https://cdn.jsdelivr.net/npm/@zoijs/core@1.10.0/src/utils/security.js": "sha384-7UafFG7FtgE/ZSVl+gEOKHc7qewaF0V6hKLEqgI9yj9mGTxz62GTzkrUPfbOXOtT"
25
25
  },
26
26
  "packages": {
27
27
  "@zoijs/core": {
28
- "version": "1.9.0",
28
+ "version": "1.10.0",
29
29
  "entries": [
30
30
  "src/index.js",
31
31
  "src/prod.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-zoijs",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
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
- }