From 9eea85e8c38eab490748e293218c8e0b48f1fb35 Mon Sep 17 00:00:00 2001 From: "P.Conrad" Date: Sun, 12 Apr 2026 10:45:04 +0000 Subject: [PATCH 1/2] refactor: update package.json module paths and remove helpers - Fixing the repackage script to conditionally include "helpers/" based on its existence. - Fix the "module" entry in multiple package.json files to point to "dist/index.js" instead of specific binding files. --- builds/reference/package.json | 4 +--- packages/bind/package.json | 6 ++---- packages/binding.component/package.json | 6 ++---- packages/binding.core/package.json | 6 ++---- packages/binding.foreach/package.json | 6 ++---- packages/binding.if/package.json | 6 ++---- packages/binding.template/package.json | 2 +- packages/builder/package.json | 4 +--- packages/computed/package.json | 4 +--- packages/filter.punches/package.json | 6 ++---- packages/lifecycle/package.json | 6 ++---- packages/observable/package.json | 4 +--- packages/provider.attr/package.json | 6 ++---- packages/provider.bindingstring/package.json | 6 ++---- packages/provider.component/package.json | 6 ++---- packages/provider.databind/package.json | 6 ++---- packages/provider.multi/package.json | 6 ++---- packages/provider.mustache/package.json | 6 ++---- packages/provider.native/package.json | 6 ++---- packages/provider.virtual/package.json | 6 ++---- packages/provider/package.json | 6 ++---- packages/utils.component/package.json | 6 ++---- packages/utils.functionrewrite/package.json | 6 ++---- packages/utils.jsx/package.json | 6 ++---- packages/utils.parser/package.json | 6 ++---- tools/repackage.mjs | 12 ++++++++---- 26 files changed, 53 insertions(+), 97 deletions(-) diff --git a/builds/reference/package.json b/builds/reference/package.json index ac840fed4..8a737868b 100644 --- a/builds/reference/package.json +++ b/builds/reference/package.json @@ -34,7 +34,6 @@ }, "files": [ "dist/", - "helpers/", "types/" ], "homepage": "https://tko.io", @@ -49,8 +48,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.mjs" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/bind/package.json b/packages/bind/package.json index db92afc7d..74a61f580 100644 --- a/packages/bind/package.json +++ b/packages/bind/package.json @@ -2,7 +2,7 @@ "version": "4.0.0", "name": "@tko/bind", "description": "TKO DOM-Observable Binding", - "module": "dist/bind.js", + "module": "dist/index.js", "dependencies": { "@tko/computed": "^4.0.0", "@tko/lifecycle": "^4.0.0", @@ -14,7 +14,6 @@ }, "files": [ "dist/", - "helpers/", "types/" ], "repository": { @@ -44,7 +43,6 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } } } \ No newline at end of file diff --git a/packages/binding.component/package.json b/packages/binding.component/package.json index e52c27e2a..7653f3d73 100644 --- a/packages/binding.component/package.json +++ b/packages/binding.component/package.json @@ -2,7 +2,7 @@ "version": "4.0.0", "name": "@tko/binding.component", "description": "component: binding for web components", - "module": "dist/binding.component.js", + "module": "dist/index.js", "license": "MIT", "dependencies": { "@tko/bind": "^4.0.0", @@ -15,7 +15,6 @@ }, "files": [ "dist/", - "helpers/", "types/" ], "karma": { @@ -35,8 +34,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/binding.core/package.json b/packages/binding.core/package.json index a90b71381..979c905e3 100644 --- a/packages/binding.core/package.json +++ b/packages/binding.core/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/binding.core", "description": "TKO Core bindings", - "module": "dist/binding.core.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "repository": { @@ -45,7 +44,6 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } } } \ No newline at end of file diff --git a/packages/binding.foreach/package.json b/packages/binding.foreach/package.json index 42a6083a3..8008a3b91 100644 --- a/packages/binding.foreach/package.json +++ b/packages/binding.foreach/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/binding.foreach", "description": "Knockout Foreach Binding", - "module": "dist/binding.foreach.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "repository": { @@ -44,7 +43,6 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } } } \ No newline at end of file diff --git a/packages/binding.if/package.json b/packages/binding.if/package.json index 49e147811..418b5cea9 100644 --- a/packages/binding.if/package.json +++ b/packages/binding.if/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/binding.if", "description": "TKO conditional (if/ifnot/unless/with/else) bindings", - "module": "dist/binding.if.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "repository": { @@ -44,7 +43,6 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } } } \ No newline at end of file diff --git a/packages/binding.template/package.json b/packages/binding.template/package.json index 5602dd4bf..8b652a94b 100644 --- a/packages/binding.template/package.json +++ b/packages/binding.template/package.json @@ -2,7 +2,7 @@ "version": "4.0.0", "name": "@tko/binding.template", "description": "TKO Template bindings", - "module": "dist/binding.template.js", + "module": "dist/index.js", "files": [ "dist/", "helpers/", diff --git a/packages/builder/package.json b/packages/builder/package.json index 541900d9c..f0e2325b5 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -27,7 +27,6 @@ ], "files": [ "dist/", - "helpers/", "types/" ], "exports": { @@ -35,8 +34,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "karma": { "frameworks": [ diff --git a/packages/computed/package.json b/packages/computed/package.json index bdc48d2bc..beedda449 100644 --- a/packages/computed/package.json +++ b/packages/computed/package.json @@ -5,7 +5,6 @@ "module": "dist/computed.js", "files": [ "dist/", - "helpers/", "types/" ], "dependencies": { @@ -42,7 +41,6 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } } } \ No newline at end of file diff --git a/packages/filter.punches/package.json b/packages/filter.punches/package.json index e0971bd4e..1243272a0 100644 --- a/packages/filter.punches/package.json +++ b/packages/filter.punches/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/filter.punches", "description": "TKO filters from knockout punches", - "module": "dist/filter.punches.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "repository": { @@ -42,7 +41,6 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } } } \ No newline at end of file diff --git a/packages/lifecycle/package.json b/packages/lifecycle/package.json index 43bf24908..d4150dfca 100644 --- a/packages/lifecycle/package.json +++ b/packages/lifecycle/package.json @@ -1,6 +1,6 @@ { "version": "4.0.0", - "module": "dist/lifecycle.js", + "module": "dist/index.js", "dependencies": { "@tko/computed": "^4.0.0", "@tko/utils": "^4.0.0" @@ -10,7 +10,6 @@ }, "files": [ "dist/", - "helpers/", "types/" ], "name": "@tko/lifecycle", @@ -38,8 +37,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/observable/package.json b/packages/observable/package.json index e421ca52e..547a09397 100644 --- a/packages/observable/package.json +++ b/packages/observable/package.json @@ -11,12 +11,10 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "files": [ "dist/", - "helpers/", "types/" ], "keywords": [ diff --git a/packages/provider.attr/package.json b/packages/provider.attr/package.json index 8494b326a..1253c792c 100644 --- a/packages/provider.attr/package.json +++ b/packages/provider.attr/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/provider.attr", "description": "Link HTML attributes (e.g. ko-handler-name) to binding handlers", - "module": "dist/provider.attr.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "license": "MIT", @@ -29,8 +28,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/provider.bindingstring/package.json b/packages/provider.bindingstring/package.json index a4b4a005e..973047145 100644 --- a/packages/provider.bindingstring/package.json +++ b/packages/provider.bindingstring/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/provider.bindingstring", "description": "Abstract Base Class for providers that parse a binding string", - "module": "dist/provider.bindingString.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "license": "MIT", @@ -30,8 +29,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/provider.component/package.json b/packages/provider.component/package.json index 1452fe9b1..0d925a78e 100644 --- a/packages/provider.component/package.json +++ b/packages/provider.component/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/provider.component", "description": "Bind custom web components e.g. ", - "module": "dist/provider.component.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "license": "MIT", @@ -34,8 +33,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/provider.databind/package.json b/packages/provider.databind/package.json index 31345ab7c..bc1781110 100644 --- a/packages/provider.databind/package.json +++ b/packages/provider.databind/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/provider.databind", "description": "Link HTML attributes based on a `data-bind` HTML attribute", - "module": "dist/provider.databind.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "license": "MIT", @@ -30,8 +29,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/provider.multi/package.json b/packages/provider.multi/package.json index c1445842d..3f678d9d0 100644 --- a/packages/provider.multi/package.json +++ b/packages/provider.multi/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/provider.multi", "description": "Combine multiple other providers into one", - "module": "dist/provider.multi.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "license": "MIT", @@ -30,8 +29,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/provider.mustache/package.json b/packages/provider.mustache/package.json index 3d0c9c7d9..12fdf31d2 100644 --- a/packages/provider.mustache/package.json +++ b/packages/provider.mustache/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/provider.mustache", "description": "Interpolate text/node attributes {{ }}", - "module": "dist/provider.mustache.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "repository": { @@ -44,7 +43,6 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } } } \ No newline at end of file diff --git a/packages/provider.native/package.json b/packages/provider.native/package.json index dbe9b5193..5ce017cd4 100644 --- a/packages/provider.native/package.json +++ b/packages/provider.native/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/provider.native", "description": "Link binding handlers whose value is already attached to the node", - "module": "dist/provider.native.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "license": "MIT", @@ -31,8 +30,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/provider.virtual/package.json b/packages/provider.virtual/package.json index 536be9f84..b53c7a63a 100644 --- a/packages/provider.virtual/package.json +++ b/packages/provider.virtual/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/provider.virtual", "description": "Binding provider for virtual elements", - "module": "dist/provider.virtual.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "author": "The Knockout Team", @@ -32,8 +31,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/provider/package.json b/packages/provider/package.json index 545facfe6..d82f7bc25 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/provider", "description": "Abstract base class of tko Provider (HTML <-> Data Binding linker)", - "module": "dist/provider.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "author": "The Knockout Team", @@ -32,8 +31,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/utils.component/package.json b/packages/utils.component/package.json index a0131ec9c..bff22f23c 100644 --- a/packages/utils.component/package.json +++ b/packages/utils.component/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/utils.component", "description": "Registry and loading utilities for web components", - "module": "dist/utils.component.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "license": "MIT", @@ -38,8 +37,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/utils.functionrewrite/package.json b/packages/utils.functionrewrite/package.json index 6a9a5e95a..7d43f95b2 100644 --- a/packages/utils.functionrewrite/package.json +++ b/packages/utils.functionrewrite/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/utils.functionrewrite", "description": "Rewrite `function {}` as lambdas (=>)", - "module": "dist/utils.functionrewrite.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "license": "MIT", @@ -27,8 +26,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/utils.jsx/package.json b/packages/utils.jsx/package.json index f09ad31ba..dbcd8187d 100644 --- a/packages/utils.jsx/package.json +++ b/packages/utils.jsx/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/utils.jsx", "description": "TKO JSX Rendering", - "module": "dist/utils.jsx.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "repository": { @@ -44,8 +43,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/packages/utils.parser/package.json b/packages/utils.parser/package.json index ce114f455..24927dc0c 100644 --- a/packages/utils.parser/package.json +++ b/packages/utils.parser/package.json @@ -2,10 +2,9 @@ "version": "4.0.0", "name": "@tko/utils.parser", "description": "Parse the Javascript-like language used in data-bind and other HTML attributes (CSP-safe)", - "module": "dist/utils.parser.js", + "module": "dist/index.js", "files": [ "dist/", - "helpers/", "types/" ], "license": "MIT", @@ -35,8 +34,7 @@ "types": "./types/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.js" - }, - "./helpers/*": "./helpers/*" + } }, "bugs": { "url": "https://github.com/knockout/tko/issues" diff --git a/tools/repackage.mjs b/tools/repackage.mjs index e94f301ca..a6d8c42bc 100644 --- a/tools/repackage.mjs +++ b/tools/repackage.mjs @@ -7,7 +7,10 @@ import fs from 'fs/promises' const LERNA_CONF = '../../lerna.json' -const packageData = (pkg, version) => ({ +const hasDir = (name) => + fs.access(name).then(() => true, () => false) + +const packageData = (pkg, version, hasHelpers) => ({ version: version, ...pkg, // Common @@ -18,11 +21,11 @@ const packageData = (pkg, version) => ({ require: "./dist/index.cjs", import: "./dist/index.js" }, - "./helpers/*": "./helpers/*" + ...(hasHelpers && { "./helpers/*": "./helpers/*" }) }, files: [ "dist/", - "helpers/", + ...(hasHelpers ? ["helpers/"] : []), "types/" ], homepage: "https://tko.io", @@ -46,7 +49,8 @@ const parse = async n => JSON.parse(await fs.readFile(n, 'utf8')) const version = (await parse(LERNA_CONF)).version const pkg = await parse('package.json') +const hasHelpers = await hasDir('helpers') console.info(`Rewriting package.json: ${pkg.name}.`) -const data = packageData(pkg, version) +const data = packageData(pkg, version, hasHelpers) fs.writeFile('package.json', JSON.stringify(data, null, 2), 'utf8') .catch(console.error) From 1aba4c8e2205504d3442ca149381cbf7dc26f2cd Mon Sep 17 00:00:00 2001 From: "P.Conrad" Date: Sun, 12 Apr 2026 11:17:56 +0000 Subject: [PATCH 2/2] fix: update module path in package.json for computed package --- packages/computed/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/computed/package.json b/packages/computed/package.json index beedda449..3d7206ab1 100644 --- a/packages/computed/package.json +++ b/packages/computed/package.json @@ -2,7 +2,7 @@ "version": "4.0.0", "name": "@tko/computed", "description": "TKO Computed Observables", - "module": "dist/computed.js", + "module": "dist/index.js", "files": [ "dist/", "types/"