Commit 7214a9dad1b for woocommerce
commit 7214a9dad1b9741924df66b6c5ae5e536a158e54
Author: Manzoor Wani <manzoorwani.jk@gmail.com>
Date: Fri Jul 24 19:16:15 2026 +0530
Fix create-woo-extension scaffold npm install failure (#66782)
* Fix create-woo-extension scaffold npm install failure
Scaffolded extensions failed `npm install` with a swallowed exit-1 error:
`@woocommerce/components` pulls `i18n-calypso@7.4.1` (via tour-kit), which was
published with a Yarn-only `patch:` dependency spec that npm cannot parse.
Emit a top-level `overrides` pinning `i18n-calypso` to 7.4.0 (the newest release
without the bad spec) in the scaffolded package.json, routed through
`customPackageJSON`. Stopgap until the upstream range stops resolving to 7.4.1.
* Trim scaffold overrides comment
* Pin scaffold i18n-calypso override to latest (8.1.0)
* Name pinned version in scaffold overrides comment
diff --git a/packages/js/create-woo-extension/changelog/66078-fix-scaffold-npm-install b/packages/js/create-woo-extension/changelog/66078-fix-scaffold-npm-install
new file mode 100644
index 00000000000..dfa427dc579
--- /dev/null
+++ b/packages/js/create-woo-extension/changelog/66078-fix-scaffold-npm-install
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Pin `i18n-calypso` to 8.1.0 in scaffolded extensions so `npm install` no longer fails on an unparseable Yarn `patch:` dependency spec.
diff --git a/packages/js/create-woo-extension/index.js b/packages/js/create-woo-extension/index.js
index 03ec7789188..1371d0c0334 100644
--- a/packages/js/create-woo-extension/index.js
+++ b/packages/js/create-woo-extension/index.js
@@ -26,13 +26,25 @@ const defaultDevDependencies = {
prettier: 'npm:wp-prettier@3.0.3',
};
+/*
+ * Stopgap: `i18n-calypso@7.4.1` (via `@woocommerce/components`) ships a Yarn-only
+ * `patch:` spec that breaks `npm install`. Pin to 8.1.0 (latest, without the
+ * spec) until the upstream range stops resolving to 7.4.1.
+ */
+const overrides = {
+ 'i18n-calypso': '8.1.0',
+};
+
module.exports = {
pluginTemplatesPath: join( __dirname, 'variants', 'default' ),
blockTemplatesPath: join( __dirname, 'variants', 'default', 'src' ),
defaultValues: {
npmDependencies: defaultDependencies,
npmDevDependencies: Object.keys( defaultDevDependencies ),
- customPackageJSON: { devDependencies: defaultDevDependencies },
+ customPackageJSON: {
+ devDependencies: defaultDevDependencies,
+ overrides,
+ },
namespace: 'extension',
license: 'GPL-3.0+',
customScripts: {