@wordpress/build 0.13.0 → 0.13.2-next.v.202605131032.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.
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../eslint-overrides.cjs","../lib/package-utils.mjs","../lib/dependency-graph.mjs","../lib/php-generator.mjs","../lib/route-utils.mjs","../../../node_modules/no-case/dist/index.d.ts","../../../node_modules/pascal-case/dist/index.d.ts","../../../node_modules/camel-case/dist/index.d.ts","../../../node_modules/capital-case/dist/index.d.ts","../../../node_modules/constant-case/dist/index.d.ts","../../../node_modules/dot-case/dist/index.d.ts","../../../node_modules/header-case/dist/index.d.ts","../../../node_modules/param-case/dist/index.d.ts","../../../node_modules/path-case/dist/index.d.ts","../../../node_modules/sentence-case/dist/index.d.ts","../../../node_modules/snake-case/dist/index.d.ts","../../../node_modules/change-case/dist/index.d.ts","../../../node_modules/esbuild/lib/main.d.ts","../lib/wordpress-externals-plugin.mjs","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts"],"fileIdsList":[[75,114,117],[75,116,117],[117],[75,117,122,151],[75,117,118,123,129,130,137,148,159],[75,117,118,119,129,137],[75,117],[70,71,72,75,117],[75,117,120,160],[75,117,121,122,130,138],[75,117,122,148,156],[75,117,123,125,129,137],[75,116,117,124],[75,117,125,126],[75,117,129],[75,117,127,129],[75,116,117,129],[75,117,129,130,131,148,159],[75,117,129,130,131,144,148,151],[75,112,117,164],[75,117,125,129,132,137,148,159],[75,117,129,130,132,133,137,148,156,159],[75,117,132,134,148,156,159],[73,74,75,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165],[75,117,129,135],[75,117,136,159,164],[75,117,125,129,137,148],[75,117,138],[75,117,139],[75,116,117,140],[75,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165],[75,117,142],[75,117,143],[75,117,129,144,145],[75,117,144,146,160,162],[75,117,129,148,149,150,151],[75,117,148,150],[75,117,148,149],[75,117,151],[75,117,152],[75,114,117,148],[75,117,129,154,155],[75,117,154,155],[75,117,122,137,148,156],[75,117,157],[75,117,137,158],[75,117,132,143,159],[75,117,122,160],[75,117,148,161],[75,117,136,162],[75,117,163],[75,117,122,129,131,140,148,159,162,164],[75,117,148,165],[57,75,117],[56,75,117],[56,57,58,59,60,61,62,63,64,65,66,75,117],[59,75,117],[61,75,117],[75,84,88,117,159],[75,84,117,148,159],[75,79,117],[75,81,84,117,156,159],[75,117,137,156],[75,117,166],[75,79,117,166],[75,81,84,117,137,159],[75,76,77,80,83,117,129,148,159],[75,84,91,117],[75,76,82,117],[75,84,105,106,117],[75,80,84,117,151,159,166],[75,105,117,166],[75,78,79,117,166],[75,84,117],[75,78,79,80,81,82,83,84,85,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,106,107,108,109,110,111,117],[75,84,99,117],[75,84,91,92,117],[75,82,84,92,93,117],[75,83,117],[75,76,79,84,117],[75,84,88,92,93,117],[75,88,117],[75,82,84,87,117,159],[75,76,81,84,91,117],[75,117,148],[75,79,84,105,117,164,166],[52,75,117,139],[75,117,130,136,139],[52,75,117,131,139,159],[52,75,117,130,139],[52,67,68,75,117,122,131,139]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0fdc6f9f2a3da8eaf72337aba7fb44d1cc2497a26295c704a3cfc25fe3a4fe4","impliedFormat":1},{"version":"b534e7aecadb1a5042bf7371a84c8d22746b7bffb026c51030f15d502a1ef8c6","impliedFormat":99},{"version":"f644817dca4fc56685cf5cc01f31e669c169d9b3a0fbb37a51f934280a73e871","impliedFormat":99},{"version":"1ba69d7a742b11f3bf52da03650ce306be4ca156e5608ffdcffe192d030881c2","impliedFormat":99},{"version":"81e5974312cb4224971996bcc16a97b8f750daf400132028d7b6fa0b2f496f99","impliedFormat":99},{"version":"b4e123af1af6049685c93073a15868b50aebdad666d422edc72fa2b585fa8a37","impliedFormat":1},{"version":"f86c04a744ebcede96bac376f9a2c90f2bd3c422740d91dda4ca6233199d4977","impliedFormat":1},{"version":"6ae1bddee5c790439bd992abd063b9b46e0cadd676c2a8562268d1869213ff60","impliedFormat":1},{"version":"606244fc97a6a74b877f2e924ba7e55b233bc6acb57d7bf40ba84a5be2d9adb0","impliedFormat":1},{"version":"4a1cabac71036b8a14f5db1b753b579f0c901c7d7b9227e6872dadf6efb104e8","impliedFormat":1},{"version":"062959a1d825b96639d87be35fe497cbd3f89544bf06fdad577bbfb85fcf604c","impliedFormat":1},{"version":"4c3672dc8f4e4fdd3d18525b22b31f1b5481f5a415db96550d3ac5163a6c3dd3","impliedFormat":1},{"version":"f9a69ca445010b91fe08f08c06e0f86d79c0d776905f9bdb828477cb2a1eb7fc","impliedFormat":1},{"version":"ad7fd0e7ee457d4884b3aaecbcbd2a80b6803407c4ce2540c296170d4c7918ef","impliedFormat":1},{"version":"a50ef21605f41c6acad6c3ef0307e5311b94963c846ca093c764b80cdb5318d6","impliedFormat":1},{"version":"74b4035dd26d09a417c44ca23ab5ee69b173f8c2f6b2e47350ab0795cf2d4a17","impliedFormat":1},{"version":"918f86ee2b19cc38cb8b1a4cf8f223eb228aaa39df3604c42f700fac2f0b3ea1","impliedFormat":1},{"version":"161c8e0690c46021506e32fda85956d785b70f309ae97011fd27374c065cac9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fd778bc292899d32e685fc22bcb1c841ab2c30f6d824a852f929bbcf1bf9d5e8","impliedFormat":99},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fd06258805d26c72f5997e07a23155d322d5f05387adb3744a791fe6a0b042d","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"ca6d304b929748ea15c33f28c1f159df18a94470b424ab78c52d68d40a41e1e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"a72ffc815104fb5c075106ebca459b2d55d07862a773768fce89efc621b3964b","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36","impliedFormat":1},{"version":"d674383111e06b6741c4ad2db962131b5b0fa4d0294b998566c635e86195a453","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e58c4c18a031cbb17abec7a4ad0bd5ae9fc70c1f4ba1e7fb921ad87c504aca","impliedFormat":1},{"version":"a3e8bafb2af8e850c644f4be7f5156cf7d23b7bfdc3b786bd4d10ed40329649c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"f77d9188e41291acf14f476e931972460a303e1952538f9546e7b370cb8d0d20","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","impliedFormat":1},{"version":"3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","impliedFormat":1},{"version":"5a369483ac4cfbdf0331c248deeb36140e6907db5e1daed241546b4a2055f82c","impliedFormat":1},{"version":"e8f5b5cc36615c17d330eaf8eebbc0d6bdd942c25991f96ef122f246f4ff722f","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"4d7da7075068195f8f127f41c61e304cdca5aafb1be2d0f4fb67c6b4c3e98d50","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4bdde4e601e9554a844e1e0d0ccfa05e183ef9d82ab3ac25f17c1709033d360","impliedFormat":1},{"version":"ad23fd126ff06e72728dd7bfc84326a8ca8cec2b9d2dac0193d42a777df0e7d8","impliedFormat":1},{"version":"c60db41f7bee80fb80c0b12819f5e465c8c8b465578da43e36d04f4a4646f57d","impliedFormat":1},{"version":"93bd413918fa921c8729cef45302b24d8b6c7855d72d5bf82d3972595ae8dcbf","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e","impliedFormat":1},{"version":"1f4fc6905c4c3ae701838f89484f477b8d9b3ef39270e016b5488600d247d9a5","affectsGlobalScope":true,"impliedFormat":1},{"version":"d206b4baf4ddcc15d9d69a9a2f4999a72a2c6adeaa8af20fa7a9960816287555","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"70731d10d5311bd4cf710ef7f6539b62660f4b0bfdbb3f9fbe1d25fe6366a7fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"137c2894e8f3e9672d401cc0a305dc7b1db7c69511cf6d3970fb53302f9eae09","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"235bfb54b4869c26f7e98e3d1f68dbfc85acf4cf5c38a4444a006fbf74a8a43d","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"bb715efb4857eb94539eafb420352105a0cff40746837c5140bf6b035dd220ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"fdedf82878e4c744bc2a1c1e802ae407d63474da51f14a54babe039018e53d8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"08353b04a3501d84fc8d7b49de99f6c1cc26026e6d9d697a18315f3bfe92ed03","affectsGlobalScope":true,"impliedFormat":1},{"version":"578d8bb6dcb2a1c03c4c3f8eb71abc9677e1a5c788b7f24848e3138ce17f3400","impliedFormat":1},{"version":"4f029899f9bae07e225c43aef893590541b2b43267383bf5e32e3a884d219ed5","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"5b566927cad2ed2139655d55d690ffa87df378b956e7fe1c96024c4d9f75c4cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"bce947017cb7a2deebcc4f5ba04cead891ce6ad1602a4438ae45ed9aa1f39104","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3dffd70e6375b872f0b4e152de4ae682d762c61a24881ecc5eb9f04c5caf76f","impliedFormat":1},{"version":"e2c72c065a36bc9ab2a00ac6a6f51e71501619a72c0609defd304d46610487a4","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"616075a6ac578cf5a013ee12964188b4412823796ce0b202c6f1d2e4ca8480d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"cac793cc47c29e26e4ac3601dcb00b4435ebed26203485790e44f2ad8b6ad847","impliedFormat":1}],"root":[[51,55],69],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"checkJs":true,"composite":true,"declaration":true,"declarationDir":"../build-types","declarationMap":false,"emitDeclarationOnly":false,"jsx":1,"module":100,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"strict":true,"target":8},"referencedMap":[[114,1],[115,1],[116,2],[75,3],[117,4],[118,5],[119,6],[70,7],[73,8],[71,7],[72,7],[120,9],[121,10],[122,11],[123,12],[124,13],[125,14],[126,14],[128,15],[127,16],[129,17],[130,18],[131,19],[113,20],[74,7],[132,21],[133,22],[134,23],[166,24],[135,25],[136,26],[137,27],[138,28],[139,29],[140,30],[141,31],[142,32],[143,33],[144,34],[145,34],[146,35],[147,7],[148,36],[150,37],[149,38],[151,39],[152,40],[153,41],[154,42],[155,43],[156,44],[157,45],[158,46],[159,47],[160,48],[161,49],[162,50],[163,51],[164,52],[165,53],[58,54],[59,55],[67,56],[60,55],[61,55],[68,7],[62,57],[56,7],[63,58],[57,55],[64,58],[65,55],[66,58],[49,7],[50,7],[10,7],[9,7],[2,7],[11,7],[12,7],[13,7],[14,7],[15,7],[16,7],[17,7],[18,7],[3,7],[19,7],[20,7],[4,7],[21,7],[25,7],[22,7],[23,7],[24,7],[26,7],[27,7],[28,7],[5,7],[29,7],[30,7],[31,7],[32,7],[6,7],[36,7],[33,7],[34,7],[35,7],[37,7],[7,7],[38,7],[43,7],[44,7],[39,7],[40,7],[41,7],[42,7],[8,7],[48,7],[45,7],[46,7],[47,7],[1,7],[91,59],[101,60],[90,59],[111,61],[82,62],[81,63],[110,64],[104,65],[109,66],[84,67],[98,68],[83,69],[107,70],[79,71],[78,64],[108,72],[80,73],[85,74],[86,7],[89,74],[76,7],[112,75],[102,76],[93,77],[94,78],[96,79],[92,80],[95,81],[105,64],[87,82],[88,83],[97,84],[77,85],[100,76],[99,74],[103,7],[106,86],[51,7],[53,87],[52,88],[54,89],[55,90],[69,91]],"affectedFilesPendingEmit":[[51,17],[53,17],[52,17],[54,17],[55,17],[69,17]],"emitSignatures":[51,52,53,54,55,69],"version":"6.0.2"}
1
+ {"version":"7.0.0-dev.20260423.1","root":[[51,56],70],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","../eslint-overrides.cjs","../lib/package-utils.mjs","../lib/dependency-graph.mjs","../lib/php-generator.mjs","../lib/route-utils.mjs","../lib/widget-utils.mjs","../../../node_modules/no-case/dist/index.d.ts","../../../node_modules/pascal-case/dist/index.d.ts","../../../node_modules/camel-case/dist/index.d.ts","../../../node_modules/capital-case/dist/index.d.ts","../../../node_modules/constant-case/dist/index.d.ts","../../../node_modules/dot-case/dist/index.d.ts","../../../node_modules/header-case/dist/index.d.ts","../../../node_modules/param-case/dist/index.d.ts","../../../node_modules/path-case/dist/index.d.ts","../../../node_modules/sentence-case/dist/index.d.ts","../../../node_modules/snake-case/dist/index.d.ts","../../../node_modules/change-case/dist/index.d.ts","../../../node_modules/esbuild/lib/main.d.ts","../lib/wordpress-externals-plugin.mjs","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"a1aa1a5e065d48ef5c7bb99e38412f96","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f","e437c5c1302869326c3bb93da85bbbcf","e4324975a566567b21d350615f1fc6ac","333b1b9a2a9ac3b8497dba5c63b5ba50","6cffacd662b6eb5fa7a36aa2ea366bfa","b4c34f9c23304dbef2d23698637ed638","e5cb86a5fc491796ecd1d2dd348d208f",{"version":"01ac052ec4a79e87229f90466a9645f8","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"edba5df642941aa062a62f6328c6df3d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"bb3a710cbcda0533bb127712927cbe37","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0ee05eb59426d33e374226d8dcfa708b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e347c14030993906efcfbb88915b6a05","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b0231263857c9b6a03641acdc9280ceb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3b15c4a83b598cacb4067676e6f0abed","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b417d97b7934cef63b1889abec0bbfbf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"09a6cf4032ebba60ce22a501e663f881","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7a42de379b489e8f7b647455bebfc576","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e22cc07e3f3cc242ba52fa3f8ea1fc58","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c45da767a1bfbb220848df1bc4029e4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b44c3e0fbaf2130cdcf6ac38b120ffa1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"02705151a5e1551b9162a9ed8ab763f7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"41025e398be9215d32e4337335da8f0b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"52684c2b1f353a5538e4f275182a54cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6dedb6a4f90d1df3a6fbe5693e44886c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ca3f36fe3562c07e0f0d71c2bebd3f6d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"409974d6129befbb8226ddd1c6558568","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4d9cfde2a1ae1b4925f1f9bc10848e5d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7e1daecc66dd564144e3bb1a0266b5fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a8e1d9bb35fd0637f2f9fd2b2a54f2ec","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4f168501772a6543182765bfd5f2fbfe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a19c80aad1b2162103496f5ba293a732","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b69afa63cd5d059851c78adb2856ee09","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae2fc5d954e9b0f5feee3d481b953c27","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1cfd3091a071d8b6feec15277643bafe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"692bcd75364db0f65d428801c7884466","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a0d87491913d843139e0c993650a3235","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4ef72aa378127e7b7abba915b0110b1e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3ec74c6a7d4463f0254db3a74cf75646","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"84c2bdfa470d075526cce6322d81b0b6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0b3844c2b8c73e4e1ab91431411cad11","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},"189850867741e20bc4ba8c687f1bd90d",{"version":"02b01e6c2c5cb1c49a368aa72dc13e75","impliedNodeFormat":99},{"version":"b15bd36d4854896f626562f20ec211be","impliedNodeFormat":99},{"version":"47aac1d689f2fcf59ba0409cdc17b2c0","impliedNodeFormat":99},{"version":"7e9befdd25db0b636c8609f0b3cb5efa","impliedNodeFormat":99},{"version":"43d95132efe74d1c77f9b7f6726f79fd","impliedNodeFormat":99},"56bed6adc232e28a9f47c95644894a6f","17c398378c22e3340fa7af0e8d4aedbd","ea8c4131489d30cc21e08b67ac99c0da","f334a09cfdb7c8cca7bd37b2467deb79","73871f583e43cf9c7968da5d1e008b1d","ceb8f7e4fafc5b93d6c2fc889e38e731","acf8e0843a5e743cc57dbc5aa7783a10","8ad2211424b001dee0585d8e3702fdb9","357829dbe6fa21b8bedf1be66a0315df","551139d61c6d551443b62bc96e8a0399","baf819dfccc140c019405d1cab164cff","60c910950d36986f8879c795513908a0",{"version":"7a7959e53469a597bd000a31cb5c49df","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"dc2e602e2ba6cd0b0e379d9ecd8a5155","impliedNodeFormat":99},{"version":"90630acdc4134173bcf216f187bd3010","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"913b52a39743d1c11984e4e124b1f3a8","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2514e9a2749c0fc18d2f478e9e1e641e","affectsGlobalScope":true,"impliedNodeFormat":1},"fe51d7a9bcdbcce1e65bbcf39b212298",{"version":"849a1873c4e917b0887368c1be897faa","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"c46c3108bde06d3b1fc6f802eb09eeeb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1332add604574cf529fb33b23304b296","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9af0a7e3ef1c42cd066b9f8d365cc1ba","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9eca652586205dc5b07f9ba57b1c8500","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ec5f75939754ce94652189ec7d0d3058","affectsGlobalScope":true,"impliedNodeFormat":1},"628b774b54637325e286752c79c12432","bb1f9e3091b88e9d0e93b7198c736af3","514fd35e5eb35bb2e5cbb908af0a0aa2","ed57ae88565308729f2327f26d684976","dcd932d6b0038f2e250e30dc10125b22","9508c917bd7e458745e222a82dd24ef0","fabf86f455f96b90538cc26320ab2765","14550b4cd9f433e0addd8b6d67614d23","cf0ac6aebc25cb780674653aaeee688e","35fef7bac8048f583e4ce6eaa0c2a4c0","6752dc653fc7a333027249fd851fdb62","b9ad7e689b46dfba362c1bf174e69018","8b0a2930dfabdf27c69c6bb1eeabcdc8","4513b1ed15523d247040689f37fa9db2","5c0c499eed773a750903d9497beafacd","2377da227d1bac82ff7b3f2081ddf8d3","beef985b474fefeb80d27fb2c8778371","c79fc9d9f09ae598a374ae7c0b5284a4","f2caa3cebb1e6be855519004830a6be0","8ebc9f2a77c900e710801214c5cb994c","ec617a0e0577dd6a3210c3b067ecb325","1db5d06e485bd82d6d5f6e36925a8714","24b864518967840216c779b5e5f00975","8719cd8047700bfb6046798390053823","f2840afb502c94db92dab0fb8d27812f","a7e7d08b372210c203745d3eac61a411","531183cc80535e0e94226d720e5eb038","f627eb958ca52c85e42f04dce4661f86","9a43fc665bce9012a3d5fe1b574ff4dc","13f4b4da6546a34719fd6bde15fb63dd","a589216508844bfc00e62fc2d97fda45","865aea1c3209e31b076cb6fe780e769e","12e64aaf26af0f5c8f1b263dd66e3feb","928971ebbcdf5b093ef37669b33bddf6","b744265d8ad12b7d4d5c5dc35d18d44e","eff32168b8348b822afeed9cbf61afa7","9aafd1f29b4d8861c1c6c34bf83c0721",{"version":"a127795c4dad633990c87aa0b86831e5","affectsGlobalScope":true,"impliedNodeFormat":1},"4ef82d390af85e719a46d566e229dd83","7deced3ef46e082f97d49bb71622526a","fa7acb320bbf7da8f76e431437143034",{"version":"ee57e9bfec6167b488ced231a7bf233d","affectsGlobalScope":true,"impliedNodeFormat":1},"7aa99080b86233d5b21416907d7a75a6","7d6a8df1becce5c270da2093e7835920",{"version":"c37fea1584ced70492ff5748ed570abd","affectsGlobalScope":true,"impliedNodeFormat":1},"b2b472cd0bf0f8d5f022e00ca1c401f4",{"version":"e22c8fb0fc65df14299c6c94cf729b3c","affectsGlobalScope":true,"impliedNodeFormat":1},"a84efb87b57f78ea0b0577edaacd8b33","814e0c2cc2a92531b6dc5d2a1767a6e1","79ac55b2d493df83277d681e4d64a992","7ab3b7243211fa08af307609be231d6c","7fd0f028e135bdf15ff757781a2f4ba9",{"version":"cab5b406d3defff17c931e41fa98aeb1","affectsGlobalScope":true,"impliedNodeFormat":1},"aa7dc1db3d208fb91418794a18539d4c","e9b8fc3c9291fc5701e219c0407e973d","b8f5d7bb61117f48a99b0cecaa75d186","687b6f8f042393a27ce6c8fd32972129","1d3b57f542db6054f952f8076b3c6a3a","4e0ba29e69c1176d4b909ad8a85a2695",{"version":"e5d25a206975fb43b72d246ed86fd7fe","affectsGlobalScope":true,"impliedNodeFormat":1},"a5525d047b8b84dac8b2e21fa393f465","86308ea691fd06825dd9a3ce0f1e901a","44782881f424302151e0de8fdaa39575",{"version":"f0ef68e9c53d126a7b3bfc1ae9f2c7c4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"71259a408a4178e5f0795188b4d802f1","affectsGlobalScope":true,"impliedNodeFormat":1},"eb80d821e5e931dcccee2697f3e249e2","961969874f5ee12ed3429d3d0c82de02","9a62058bc2d476e807cc6594eed72adb","40cbc4bb3b225b03c54255154dada07d","6534825a8bda3eeecde9bca9e3a99712","09a582ab2a73806ab5887ea413b3d55a","17bf20c066f28d82e59096464112bc39","c8206d568b54e5ea06131963eecd576a","15878f4f50c2e562c0768eb735c2aed5",{"version":"2939c9bf76087f5c43b7ed44aeab6853","affectsGlobalScope":true,"impliedNodeFormat":1},"7b844f3801adf7e09ea25ec5f39f9a86","46c937d243665015f13587ac0db55909",{"version":"1f29cf27395029939dd41fce4f0c5653","affectsGlobalScope":true,"impliedNodeFormat":1},"f026c594d60114f10583261f6499df38","1ac553606580aeec204cce24c38b2e3f","3c29bf7066a67e7151f563fc1c4e56cb","00d49834780046c2d6a7da3e50d83cca",{"version":"377c78771ee061f2b4e59d5eb5a28782","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7293552290431bff8ef5f13e6f7fcbfc","affectsGlobalScope":true,"impliedNodeFormat":1},"9453ee3aca6a51ae747057fbc6388cf2","6c491c1508bd3e1df0f45f38b07243c2","1f99b8445612afcfaae0f8591d8d18ac",{"version":"bbd4e0ea8a847a4b60ba7d5741985c9d","affectsGlobalScope":true,"impliedNodeFormat":1},"f57ef54941c62bf28f3beafb86025735","7b6c16d46b33570aaef9d0fdc4f02f14"],"fileIdsList":[[76,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[71,72,73,76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[74,75,76,77,78,79,80,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,168,169],[76,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168],[58,76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[57,76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[57,58,59,60,61,62,63,64,65,66,67,76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[60,76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[62,76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,89,93,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,89,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,84,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,86,89,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[76,84,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[76,81,82,85,88,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,89,96,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,81,87,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,89,110,111,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,85,89,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[76,110,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[76,83,84,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[76,83,84,85,86,87,88,89,90,91,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,89,104,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,89,96,97,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,87,89,97,98,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,88,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,81,84,89,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,89,93,97,98,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,93,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,87,89,92,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,81,86,89,96,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[76,84,89,110,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[52,76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[52,68,69,76,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169]],"options":{"allowJs":true,"checkJs":true,"composite":true,"emitDeclarationOnly":false,"declaration":true,"declarationDir":"../build-types","declarationMap":false,"jsx":1,"module":100,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"strict":true,"target":8,"allowSyntheticDefaultImports":true},"referencedMap":[[119,1],[120,2],[121,3],[76,4],[122,5],[123,6],[124,7],[71,8],[74,9],[72,8],[73,8],[125,10],[126,11],[127,12],[128,13],[129,14],[130,15],[131,16],[132,17],[133,18],[134,19],[135,20],[77,8],[75,8],[136,21],[137,22],[138,23],[170,24],[139,25],[140,26],[141,27],[142,28],[143,29],[144,30],[145,31],[146,32],[147,33],[148,34],[149,35],[150,36],[151,37],[152,38],[154,39],[153,40],[155,41],[156,42],[157,43],[158,44],[159,45],[160,46],[161,47],[162,48],[163,49],[164,50],[165,51],[166,52],[167,53],[78,8],[79,8],[80,8],[118,54],[168,55],[169,56],[49,8],[50,8],[10,8],[9,8],[2,8],[11,8],[12,8],[13,8],[14,8],[15,8],[16,8],[17,8],[18,8],[3,8],[19,8],[20,8],[4,8],[21,8],[25,8],[22,8],[23,8],[24,8],[26,8],[27,8],[28,8],[5,8],[29,8],[30,8],[31,8],[32,8],[6,8],[36,8],[33,8],[34,8],[35,8],[37,8],[7,8],[38,8],[43,8],[44,8],[39,8],[40,8],[41,8],[42,8],[8,8],[48,8],[45,8],[46,8],[47,8],[1,8],[59,57],[60,58],[68,59],[61,58],[62,58],[69,8],[63,60],[57,8],[64,61],[58,58],[65,61],[66,58],[67,61],[96,62],[106,63],[95,62],[116,64],[87,65],[86,8],[115,66],[109,67],[114,65],[89,68],[103,69],[88,70],[112,71],[84,72],[83,66],[113,73],[85,74],[90,63],[91,8],[94,63],[81,8],[117,75],[107,76],[98,77],[99,78],[101,79],[97,80],[100,81],[110,66],[92,82],[93,83],[102,84],[82,8],[105,76],[104,63],[108,8],[111,85],[51,8],[53,86],[52,8],[54,86],[55,86],[56,8],[70,87]],"affectedFilesPendingEmit":[[51,17],[53,17],[52,17],[54,17],[55,17],[56,17],[70,17]],"emitSignatures":[51,52,53,54,55,56,70]}
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.13.1-next.0 (2026-05-13)
6
+
7
+ ### Bug Fixes
8
+
9
+ - Register generated CSS module styles with `@wordpress/style-runtime` so they can be injected into registered documents, such as editor iframes ([#77965](https://github.com/WordPress/gutenberg/pull/77965)).
10
+
5
11
  ## 0.13.0 (2026-04-29)
6
12
 
7
13
  ### Bug Fixes
package/README.md CHANGED
@@ -52,6 +52,13 @@ or via npm script:
52
52
  }
53
53
  ```
54
54
 
55
+ ### Testing Generated Styles
56
+
57
+ Generated CSS module output skips automatic style injection when `NODE_ENV` is
58
+ `test`. Node-based DOM implementations such as jsdom do not reliably support
59
+ modern CSS features, so tests that need actual styles in the DOM should
60
+ run in a browser environment.
61
+
55
62
  ## Package Configuration
56
63
 
57
64
  Configure your `package.json` with the following optional fields:
@@ -526,6 +533,143 @@ The build system generates:
526
533
 
527
534
  The boot package in Gutenberg will automatically use these routes and make them available.
528
535
 
536
+ ## Widgets (Experimental)
537
+
538
+ > [!NOTE]
539
+ > Widgets are still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
540
+
541
+ Widgets provide a file-based discovery system for building self-contained UI components that are registered as WordPress script modules. Each widget lives in its own directory under `widgets/` at the repository root.
542
+
543
+ ### Structure
544
+
545
+ ```
546
+ widgets/
547
+ hello-world/
548
+ widget.json # Static discovery metadata (required)
549
+ widget.ts # Runtime schema entry point (optional)
550
+ render.tsx # UI component entry point (optional)
551
+ render.scss # Optional styles (bundled inline when imported from render.tsx)
552
+ ```
553
+
554
+ ### Why two entries?
555
+
556
+ Widgets use a dual-entry pattern, similar in spirit to how blocks split metadata between `block.json` and `edit.js`:
557
+
558
+ | Concern | Lives in | Reason |
559
+ |---|---|---|
560
+ | Identity (`name`) | both (must match) | server needs it to register; client uses it to resolve the runtime entry |
561
+ | Static metadata (`title`, `description`, `category`) | `widget.json` | plain JSON the host can read without a JS runtime |
562
+ | Translated title / labels (`__()`) | `widget.ts` | i18n calls need a JS runtime; JSON can only carry static strings |
563
+ | Attribute schema (types, options) | `widget.ts` | needs TypeScript coupling with `render` props; may include translated `elements`/labels |
564
+ | `example` | `widget.ts` | co-located with the attribute schema it shapes |
565
+
566
+ Rule of thumb: anything expressible as plain JSON goes in `widget.json`. Anything that needs types, i18n, or runtime logic goes in `widget.ts`. The generated `build/widgets/registry.php` currently exposes only `name`, `dir_name`, and which entry files exist; forwarding the rest of `widget.json` to PHP is a follow-up.
567
+
568
+ ### `widget.json` — static discovery metadata
569
+
570
+ ```json
571
+ {
572
+ "name": "my-plugin/hello-world",
573
+ "title": "Hello World",
574
+ "description": "A simple example widget.",
575
+ "category": "demo"
576
+ }
577
+ ```
578
+
579
+ **Fields:**
580
+ - **`name`** (required): Namespaced identifier (e.g., `"my-plugin/hello-world"`)
581
+ - **`title`** (optional): Human-readable title
582
+ - **`description`** (optional): Short description for listings
583
+ - **`category`** (optional): Grouping category for filtering
584
+
585
+ ### `widget.ts` — runtime schema
586
+
587
+ Exports a default object that describes the widget's runtime contract: typed attributes, translated labels, example data. The build system injects the `render_module` handle at registration time, so authors don't need to declare it.
588
+
589
+ ```ts
590
+ import { __ } from '@wordpress/i18n';
591
+
592
+ type HelloWorldAttributes = {
593
+ greeting: string;
594
+ showDate: boolean;
595
+ };
596
+
597
+ const widget = {
598
+ name: 'my-plugin/hello-world',
599
+ title: __( 'Hello World', 'my-plugin' ),
600
+ attributes: [
601
+ {
602
+ id: 'greeting',
603
+ type: 'text',
604
+ label: __( 'Greeting', 'my-plugin' ),
605
+ },
606
+ {
607
+ id: 'showDate',
608
+ type: 'boolean',
609
+ label: __( 'Show current date', 'my-plugin' ),
610
+ },
611
+ ],
612
+ example: {
613
+ greeting: 'World',
614
+ showDate: true,
615
+ },
616
+ };
617
+
618
+ export default widget;
619
+ ```
620
+
621
+ The same `HelloWorldAttributes` type is consumed by `render.tsx`, giving the author a single source of truth for the data contract.
622
+
623
+ ### `render.tsx` — UI component
624
+
625
+ The render entry receives `attributes` matching the schema declared in `widget.ts`. It is bundled with CSS support (import `.scss` / `.css` directly).
626
+
627
+ ```tsx
628
+ interface HelloWorldRenderProps {
629
+ attributes: {
630
+ greeting?: string;
631
+ showDate?: boolean;
632
+ };
633
+ }
634
+
635
+ export default function HelloWorld( { attributes }: HelloWorldRenderProps ) {
636
+ return (
637
+ <div>
638
+ Hello, { attributes.greeting ?? 'World' }!
639
+ { attributes.showDate && <time>{ new Date().toLocaleDateString() }</time> }
640
+ </div>
641
+ );
642
+ }
643
+ ```
644
+
645
+ All non-JSON entries are optional. The build system checks for files with extensions in priority order: `.tsx`, `.ts`, `.jsx`, `.js`, `.mjs`.
646
+
647
+ ### Build Output
648
+
649
+ The build system generates:
650
+
651
+ - `build/widgets/{widget-name}/render.min.js` + `render.js` — Bundled UI component (ESM)
652
+ - `build/widgets/{widget-name}/render.min.asset.php` — Asset metadata for render module
653
+ - `build/widgets/{widget-name}/widget.min.js` + `widget.js` — Bundled metadata (ESM)
654
+ - `build/widgets/{widget-name}/widget.min.asset.php` — Asset metadata for widget module
655
+ - `build/widgets/registry.php` — Widget registry data
656
+ - `build/widgets.php` — Script module registration logic
657
+
658
+ ### PHP Registration
659
+
660
+ The generated `widgets.php` registers each widget's entries as script modules via `wp_register_script_module()`. Module handles follow the pattern:
661
+
662
+ ```
663
+ {handlePrefix}/widgets/{widget-dir-name}/render
664
+ {handlePrefix}/widgets/{widget-dir-name}/widget
665
+ ```
666
+
667
+ Registration is hooked into the `init` action. The `SCRIPT_DEBUG` constant controls whether minified (`.min.js`) or non-minified (`.js`) files are loaded.
668
+
669
+ ### Watch Mode
670
+
671
+ In development (`wp-build --watch`), widget source files are watched for changes. When a file inside `widgets/{name}/` changes, only that widget is rebuilt.
672
+
529
673
  ## Contributing to this package
530
674
 
531
675
  This is an individual package that's part of the Gutenberg project. The project is organized as a monorepo. It's made up of multiple self-contained software packages, each with a specific purpose.
package/lib/build.mjs CHANGED
@@ -6,6 +6,7 @@
6
6
  import { readFile, writeFile, copyFile, mkdir, unlink } from 'fs/promises';
7
7
  import path from 'path';
8
8
  import { createHash } from 'node:crypto';
9
+ import { createRequire as createNodeRequire } from 'node:module';
9
10
  import { parseArgs } from 'node:util';
10
11
  import esbuild from 'esbuild';
11
12
  import glob from 'fast-glob';
@@ -62,6 +63,11 @@ import {
62
63
  getRouteMetadata,
63
64
  generateContentEntryPoint,
64
65
  } from './route-utils.mjs';
66
+ import {
67
+ getAllWidgets,
68
+ getWidgetMetadata,
69
+ getWidgetFiles,
70
+ } from './widget-utils.mjs';
65
71
  import {
66
72
  generateWorkerPlaceholder,
67
73
  buildWorkers,
@@ -156,6 +162,33 @@ const wordpressExternalsPlugin = createWordpressExternalsPlugin(
156
162
  HANDLE_PREFIX
157
163
  );
158
164
 
165
+ const styleRuntimeRequire = createNodeRequire( import.meta.url );
166
+ const STYLE_RUNTIME_PACKAGE_NAME = '@wordpress/style-runtime';
167
+ // Use the source entry instead of the package export so wp-build can bootstrap
168
+ // from a clean checkout before style-runtime has generated build output.
169
+ const STYLE_RUNTIME_ENTRY = path.join(
170
+ path.dirname(
171
+ styleRuntimeRequire.resolve(
172
+ `${ STYLE_RUNTIME_PACKAGE_NAME }/package.json`
173
+ )
174
+ ),
175
+ 'src/index.ts'
176
+ );
177
+
178
+ // CSS module output generated by this package imports the style runtime. Resolve
179
+ // it from `@wordpress/build` so consumers don't need to expose transitive deps.
180
+ function styleRuntimeAliasPlugin() {
181
+ return {
182
+ name: 'style-runtime-alias',
183
+ setup( build ) {
184
+ build.onResolve(
185
+ { filter: /^@wordpress\/style-runtime$/ },
186
+ () => ( { path: STYLE_RUNTIME_ENTRY } )
187
+ );
188
+ },
189
+ };
190
+ }
191
+
159
192
  /**
160
193
  * Get SASS options for the given working directory.
161
194
  *
@@ -215,7 +248,15 @@ function compileInlineStyle( { cssModules = false, minify = true } = {} ) {
215
248
  .digest( 'hex' )
216
249
  .slice( 0, 10 );
217
250
 
218
- let cssModule = `if (typeof document !== 'undefined' && process.env.NODE_ENV !== 'test' && !document.head.querySelector("style[data-wp-hash='${ hash }']")) {
251
+ // Skip automatic style injection in Node-based test environments, where DOM
252
+ // implementations do not reliably support modern CSS features like @layer.
253
+ let cssModule = cssModules
254
+ ? `import { registerStyle } from '@wordpress/style-runtime';
255
+ if (typeof process === 'undefined' || process.env.NODE_ENV !== 'test') {
256
+ registerStyle("${ hash }", ${ JSON.stringify( css ) });
257
+ }
258
+ `
259
+ : `if (typeof document !== 'undefined' && process.env.NODE_ENV !== 'test' && !document.head.querySelector("style[data-wp-hash='${ hash }']")) {
219
260
  const style = document.createElement("style");
220
261
  style.setAttribute("data-wp-hash", "${ hash }");
221
262
  style.appendChild(document.createTextNode(${ JSON.stringify( css ) }));
@@ -246,6 +287,7 @@ function inlineStyle( contents ) {
246
287
  function createStyleBundlingPlugins( workingDir ) {
247
288
  const sassOptions = getSassOptions( workingDir );
248
289
  return [
290
+ styleRuntimeAliasPlugin(),
249
291
  // Handle CSS modules (.module.css and .module.scss)
250
292
  sassPlugin( {
251
293
  embedded: true,
@@ -529,7 +571,10 @@ async function bundlePackage( packageName, options = {} ) {
529
571
  };
530
572
  }
531
573
 
532
- const baseBundlePlugins = [ momentTimezoneAliasPlugin() ];
574
+ const baseBundlePlugins = [
575
+ momentTimezoneAliasPlugin(),
576
+ styleRuntimeAliasPlugin(),
577
+ ];
533
578
 
534
579
  builds.push(
535
580
  esbuild.build( {
@@ -616,6 +661,7 @@ async function bundlePackage( packageName, options = {} ) {
616
661
  minify: true,
617
662
  define: getDefine( false ),
618
663
  plugins: [
664
+ styleRuntimeAliasPlugin(),
619
665
  wordpressExternalsPlugin(
620
666
  `${ baseFileName }.min`,
621
667
  'esm',
@@ -642,6 +688,7 @@ async function bundlePackage( packageName, options = {} ) {
642
688
  minify: false,
643
689
  define: getDefine( true ),
644
690
  plugins: [
691
+ styleRuntimeAliasPlugin(),
645
692
  wordpressExternalsPlugin(
646
693
  `${ baseFileName }.min`,
647
694
  'esm',
@@ -1194,11 +1241,19 @@ async function generatePagesPhp( pageData, replacements ) {
1194
1241
  await Promise.all( pageGenerationPromises );
1195
1242
 
1196
1243
  // Generate pages.php loader
1197
- const pageIncludes = pageData
1198
- .map( ( page ) => {
1199
- return `require_once __DIR__ . '/pages/${ page.slug }/page.php';\nrequire_once __DIR__ . '/pages/${ page.slug }/page-wp-admin.php';`;
1200
- } )
1201
- .join( '\n' );
1244
+ const pageFiles = pageData.flatMap( ( page ) => [
1245
+ `\t__DIR__ . '/pages/${ page.slug }/page.php'`,
1246
+ `\t__DIR__ . '/pages/${ page.slug }/page-wp-admin.php'`,
1247
+ ] );
1248
+ const pageIncludes = [
1249
+ 'foreach ( [',
1250
+ pageFiles.join( ',\n' ) + ',',
1251
+ '] as $file ) {',
1252
+ '\tif ( file_exists( $file ) ) {',
1253
+ '\t\trequire_once $file;',
1254
+ '\t}',
1255
+ '}',
1256
+ ].join( '\n' );
1202
1257
 
1203
1258
  await generatePhpFromTemplate(
1204
1259
  'pages.php.template',
@@ -1330,8 +1385,10 @@ async function transpilePackage( packageName ) {
1330
1385
  dsTokenFallbacksJs,
1331
1386
  needsEmotionPlugin && emotionPlugin,
1332
1387
  wasmInlinePlugin,
1333
- externalizeAllExceptCssPlugin,
1388
+ // CSS modules import @wordpress/style-runtime in generated JS. Resolve
1389
+ // that alias before externalizing imports so the runtime is bundled.
1334
1390
  ...createStyleBundlingPlugins( packageDir ),
1391
+ externalizeAllExceptCssPlugin,
1335
1392
  ].filter( Boolean );
1336
1393
 
1337
1394
  if ( packageJson.main ) {
@@ -1608,6 +1665,7 @@ async function buildRoute( routeName ) {
1608
1665
  minify: true,
1609
1666
  define: getDefine( false ),
1610
1667
  plugins: [
1668
+ styleRuntimeAliasPlugin(),
1611
1669
  wordpressExternalsPlugin(
1612
1670
  'route.min',
1613
1671
  'esm',
@@ -1625,6 +1683,7 @@ async function buildRoute( routeName ) {
1625
1683
  minify: false,
1626
1684
  define: getDefine( true ),
1627
1685
  plugins: [
1686
+ styleRuntimeAliasPlugin(),
1628
1687
  wordpressExternalsPlugin(
1629
1688
  'route.min',
1630
1689
  'esm',
@@ -1657,13 +1716,13 @@ async function buildRoute( routeName ) {
1657
1716
  minify: true,
1658
1717
  define: getDefine( false ),
1659
1718
  plugins: [
1719
+ ...createStyleBundlingPlugins( routeDir ),
1660
1720
  wordpressExternalsPlugin(
1661
1721
  'content.min',
1662
1722
  'esm',
1663
1723
  [],
1664
1724
  true // Generate asset file for minified build
1665
1725
  ),
1666
- ...createStyleBundlingPlugins( routeDir ),
1667
1726
  ],
1668
1727
  } ),
1669
1728
  esbuild.build( {
@@ -1675,13 +1734,13 @@ async function buildRoute( routeName ) {
1675
1734
  minify: false,
1676
1735
  define: getDefine( true ),
1677
1736
  plugins: [
1737
+ ...createStyleBundlingPlugins( routeDir ),
1678
1738
  wordpressExternalsPlugin(
1679
1739
  'content.min',
1680
1740
  'esm',
1681
1741
  [],
1682
1742
  false // Skip asset file for non-minified build
1683
1743
  ),
1684
- ...createStyleBundlingPlugins( routeDir ),
1685
1744
  ],
1686
1745
  } ),
1687
1746
  ] );
@@ -1717,6 +1776,244 @@ async function buildAllRoutes() {
1717
1776
  );
1718
1777
  }
1719
1778
 
1779
+ /**
1780
+ * Build a single widget's files.
1781
+ *
1782
+ * @param {string} widgetName Widget name.
1783
+ * @return {Promise<number>} Build time in milliseconds.
1784
+ */
1785
+ async function buildWidget( widgetName ) {
1786
+ const startTime = Date.now();
1787
+ const widgetDir = path.join( ROOT_DIR, 'widgets', widgetName );
1788
+ const outputDir = path.join( BUILD_DIR, 'widgets', widgetName );
1789
+
1790
+ // Ensure output directory exists
1791
+ await mkdir( outputDir, { recursive: true } );
1792
+
1793
+ const files = getWidgetFiles( widgetDir );
1794
+
1795
+ // Build render.js if it exists
1796
+ if ( files.hasRender ) {
1797
+ const renderEntryPoints = await glob( `render.${ SOURCE_EXTENSIONS }`, {
1798
+ cwd: widgetDir,
1799
+ absolute: true,
1800
+ } );
1801
+
1802
+ if ( renderEntryPoints.length > 0 ) {
1803
+ // Build both minified and non-minified versions in parallel
1804
+ await Promise.all( [
1805
+ esbuild.build( {
1806
+ entryPoints: renderEntryPoints,
1807
+ outfile: path.join( outputDir, 'render.min.js' ),
1808
+ bundle: true,
1809
+ format: 'esm',
1810
+ target: browserslistToEsbuild(),
1811
+ minify: true,
1812
+ define: getDefine( false ),
1813
+ plugins: [
1814
+ ...createStyleBundlingPlugins( widgetDir ),
1815
+ wordpressExternalsPlugin(
1816
+ 'render.min',
1817
+ 'esm',
1818
+ [],
1819
+ true // Generate asset file for minified build
1820
+ ),
1821
+ ],
1822
+ } ),
1823
+ esbuild.build( {
1824
+ entryPoints: renderEntryPoints,
1825
+ outfile: path.join( outputDir, 'render.js' ),
1826
+ bundle: true,
1827
+ format: 'esm',
1828
+ target: browserslistToEsbuild(),
1829
+ minify: false,
1830
+ define: getDefine( true ),
1831
+ plugins: [
1832
+ ...createStyleBundlingPlugins( widgetDir ),
1833
+ wordpressExternalsPlugin(
1834
+ 'render.min',
1835
+ 'esm',
1836
+ [],
1837
+ false // Skip asset file for non-minified build
1838
+ ),
1839
+ ],
1840
+ } ),
1841
+ ] );
1842
+ }
1843
+ }
1844
+
1845
+ // Build widget.js if it exists
1846
+ if ( files.hasWidget ) {
1847
+ const widgetEntryPoints = await glob( `widget.${ SOURCE_EXTENSIONS }`, {
1848
+ cwd: widgetDir,
1849
+ absolute: true,
1850
+ } );
1851
+
1852
+ if ( widgetEntryPoints.length > 0 ) {
1853
+ // Build both minified and non-minified versions in parallel
1854
+ await Promise.all( [
1855
+ esbuild.build( {
1856
+ entryPoints: widgetEntryPoints,
1857
+ outfile: path.join( outputDir, 'widget.min.js' ),
1858
+ bundle: true,
1859
+ format: 'esm',
1860
+ target: browserslistToEsbuild(),
1861
+ minify: true,
1862
+ define: getDefine( false ),
1863
+ plugins: [
1864
+ styleRuntimeAliasPlugin(),
1865
+ wordpressExternalsPlugin(
1866
+ 'widget.min',
1867
+ 'esm',
1868
+ [],
1869
+ true // Generate asset file for minified build
1870
+ ),
1871
+ ],
1872
+ } ),
1873
+ esbuild.build( {
1874
+ entryPoints: widgetEntryPoints,
1875
+ outfile: path.join( outputDir, 'widget.js' ),
1876
+ bundle: true,
1877
+ format: 'esm',
1878
+ target: browserslistToEsbuild(),
1879
+ minify: false,
1880
+ define: getDefine( true ),
1881
+ plugins: [
1882
+ styleRuntimeAliasPlugin(),
1883
+ wordpressExternalsPlugin(
1884
+ 'widget.min',
1885
+ 'esm',
1886
+ [],
1887
+ false // Skip asset file for non-minified build
1888
+ ),
1889
+ ],
1890
+ } ),
1891
+ ] );
1892
+ }
1893
+ }
1894
+
1895
+ return Date.now() - startTime;
1896
+ }
1897
+
1898
+ /**
1899
+ * Build all discovered widgets.
1900
+ *
1901
+ * @return {Promise<void>}
1902
+ */
1903
+ async function buildAllWidgets() {
1904
+ console.log( '\n🧩 Phase 4: Building widgets...\n' );
1905
+
1906
+ const widgets = getAllWidgets( ROOT_DIR );
1907
+
1908
+ if ( widgets.length === 0 ) {
1909
+ console.log( ' No widgets found, skipping.\n' );
1910
+ return;
1911
+ }
1912
+
1913
+ console.log(
1914
+ ' ⚠️ Note: Widgets are still experimental and subject to drastic and breaking changes.\n'
1915
+ );
1916
+
1917
+ await Promise.all(
1918
+ widgets.map( async ( widgetName ) => {
1919
+ const buildTime = await buildWidget( widgetName );
1920
+ console.log(
1921
+ ` ✔ Built widget ${ widgetName } (${ buildTime }ms)`
1922
+ );
1923
+ } )
1924
+ );
1925
+ }
1926
+
1927
+ /**
1928
+ * Discover all widgets and collect their registry-facing data.
1929
+ * Widgets without a valid widget.json are skipped.
1930
+ *
1931
+ * @return {Array<{ name: string, dirName: string, hasRender: boolean, hasWidget: boolean }>} Array of widget objects.
1932
+ */
1933
+ function collectWidgets() {
1934
+ return getAllWidgets( ROOT_DIR ).flatMap( ( widgetName ) => {
1935
+ const metadata = getWidgetMetadata( ROOT_DIR, widgetName );
1936
+
1937
+ // Skip widgets without a valid widget.json.
1938
+ if ( ! metadata ) {
1939
+ return [];
1940
+ }
1941
+
1942
+ const widgetFiles = getWidgetFiles(
1943
+ path.join( ROOT_DIR, 'widgets', widgetName )
1944
+ );
1945
+
1946
+ return [
1947
+ {
1948
+ name: metadata.name,
1949
+ dirName: widgetName,
1950
+ hasRender: widgetFiles.hasRender,
1951
+ hasWidget: widgetFiles.hasWidget,
1952
+ },
1953
+ ];
1954
+ } );
1955
+ }
1956
+
1957
+ /**
1958
+ * Generate global widget registry file.
1959
+ * Creates a single registry with all widgets including file availability.
1960
+ *
1961
+ * @param {Array} widgets Array of widget objects.
1962
+ * @param {Record<string, string>} replacements PHP template replacements.
1963
+ */
1964
+ async function generateWidgetRegistry( widgets, replacements ) {
1965
+ if ( widgets.length === 0 ) {
1966
+ // No widgets to register, skip generating widgets registry
1967
+ return;
1968
+ }
1969
+
1970
+ // Generate PHP array entries with file availability.
1971
+ // Sort by dirName to keep registry output deterministic across platforms.
1972
+ const widgetEntries = [ ...widgets ]
1973
+ .sort( ( a, b ) => a.dirName.localeCompare( b.dirName ) )
1974
+ .map( ( widget ) => {
1975
+ const hasRenderStr = widget.hasRender ? 'true' : 'false';
1976
+ const hasWidgetStr = widget.hasWidget ? 'true' : 'false';
1977
+ return `\tarray(
1978
+ 'name' => '${ widget.name }',
1979
+ 'dir_name' => '${ widget.dirName }',
1980
+ 'has_render' => ${ hasRenderStr },
1981
+ 'has_widget' => ${ hasWidgetStr },
1982
+ )`;
1983
+ } )
1984
+ .join( ',\n' );
1985
+
1986
+ // Generate single global registry at build/widgets/registry.php
1987
+ await generatePhpFromTemplate(
1988
+ 'widget-registry.php.template',
1989
+ path.join( BUILD_DIR, 'widgets', 'registry.php' ),
1990
+ { ...replacements, '{{WIDGETS}}': widgetEntries }
1991
+ );
1992
+ }
1993
+
1994
+ /**
1995
+ * Generate widgets.php file with widget registration logic.
1996
+ * Uses registry pattern with loop-based registration on the init hook.
1997
+ *
1998
+ * @param {Array} widgets Array of widget objects.
1999
+ * @param {Record<string, string>} replacements PHP template replacements.
2000
+ */
2001
+ async function generateWidgetsPhp( widgets, replacements ) {
2002
+ if ( widgets.length === 0 ) {
2003
+ // No widgets to register, skip generating widgets.php
2004
+ return;
2005
+ }
2006
+
2007
+ await generatePhpFromTemplate(
2008
+ 'widget-registration.php.template',
2009
+ path.join( BUILD_DIR, 'widgets.php' ),
2010
+ {
2011
+ ...replacements,
2012
+ '{{HANDLE_PREFIX}}': HANDLE_PREFIX,
2013
+ }
2014
+ );
2015
+ }
2016
+
1720
2017
  /**
1721
2018
  * Main build function.
1722
2019
  *
@@ -1786,6 +2083,12 @@ async function buildAll( baseUrlExpression ) {
1786
2083
  // Build routes
1787
2084
  await buildAllRoutes();
1788
2085
 
2086
+ // Build widgets
2087
+ await buildAllWidgets();
2088
+
2089
+ // Collect widget data for PHP generation
2090
+ const widgets = collectWidgets();
2091
+
1789
2092
  // Collect route and page data for PHP generation
1790
2093
  // Use flatMap to expand routes with multiple pages into separate entries
1791
2094
  const routes = getAllRoutes( ROOT_DIR ).flatMap( ( routeName ) => {
@@ -1858,6 +2161,8 @@ async function buildAll( baseUrlExpression ) {
1858
2161
  generateConstantsPhp( phpReplacements ),
1859
2162
  generateRoutesRegistry( activeRoutes, phpReplacements ),
1860
2163
  generateRoutesPhp( activeRoutes, phpReplacements ),
2164
+ generateWidgetRegistry( widgets, phpReplacements ),
2165
+ generateWidgetsPhp( widgets, phpReplacements ),
1861
2166
  generatePagesPhp( pageData, phpReplacements ),
1862
2167
  ] );
1863
2168
  console.log( ' ✔ Generated build/build.php' );
@@ -1869,6 +2174,10 @@ async function buildAll( baseUrlExpression ) {
1869
2174
  console.log( ' ✔ Generated build/styles/registry.php' );
1870
2175
  console.log( ' ✔ Generated build/constants.php' );
1871
2176
  console.log( ' ✔ Generated build/routes.php' );
2177
+ if ( widgets.length > 0 ) {
2178
+ console.log( ' ✔ Generated build/widgets.php' );
2179
+ console.log( ' ✔ Generated build/widgets/registry.php' );
2180
+ }
1872
2181
  if ( pageData.length > 0 ) {
1873
2182
  console.log( ' ✔ Generated build/pages.php' );
1874
2183
  for ( const page of pageData ) {
@@ -1907,8 +2216,27 @@ async function watchMode() {
1907
2216
  fullToPackageJson.set( packageJson.name, packageJson );
1908
2217
  }
1909
2218
 
1910
- // Get all routes for dependency tracking
2219
+ // Get all routes and widgets for dependency tracking
1911
2220
  const allRoutes = getAllRoutes( ROOT_DIR );
2221
+ const allWidgetDirs = getAllWidgets( ROOT_DIR );
2222
+
2223
+ /**
2224
+ * Rebuild a widget.
2225
+ *
2226
+ * @param {string} widgetName Widget to rebuild.
2227
+ */
2228
+ async function rebuildWidget( widgetName ) {
2229
+ try {
2230
+ const startTime = Date.now();
2231
+ await buildWidget( widgetName );
2232
+ const buildTime = Date.now() - startTime;
2233
+ console.log( `✅ widgets/${ widgetName } (${ buildTime }ms)` );
2234
+ } catch ( error ) {
2235
+ console.log(
2236
+ `❌ widgets/${ widgetName } - Error: ${ error.message }`
2237
+ );
2238
+ }
2239
+ }
1912
2240
 
1913
2241
  /**
1914
2242
  * Rebuild a package and any affected scripts/modules.
@@ -2007,6 +2335,9 @@ async function watchMode() {
2007
2335
  if ( item.startsWith( 'route:' ) ) {
2008
2336
  const routeName = item.slice( 6 ); // Remove 'route:' prefix
2009
2337
  await rebuildRoute( routeName );
2338
+ } else if ( item.startsWith( 'widget:' ) ) {
2339
+ const widgetDirName = item.slice( 7 ); // Remove 'widget:' prefix
2340
+ await rebuildWidget( widgetDirName );
2010
2341
  } else {
2011
2342
  await rebuildPackage( item );
2012
2343
  }
@@ -2131,6 +2462,60 @@ async function watchMode() {
2131
2462
  routeWatcher.on( 'add', handleRouteFileChange );
2132
2463
  routeWatcher.on( 'unlink', handleRouteFileChange );
2133
2464
  }
2465
+
2466
+ // Watch widget files if widgets exist
2467
+ if ( allWidgetDirs.length > 0 ) {
2468
+ const widgetWatchPaths = allWidgetDirs.map( ( widgetDirName ) =>
2469
+ path.join( ROOT_DIR, 'widgets', widgetDirName )
2470
+ );
2471
+
2472
+ const widgetWatcher = chokidar.watch( widgetWatchPaths, {
2473
+ persistent: true,
2474
+ ignoreInitial: true,
2475
+ ignored: ( filepath ) => {
2476
+ if ( filepath.includes( 'node_modules' ) ) {
2477
+ return true;
2478
+ }
2479
+ return false;
2480
+ },
2481
+ useFsEvents: true,
2482
+ depth: 10,
2483
+ awaitWriteFinish: {
2484
+ stabilityThreshold: 100,
2485
+ pollInterval: 50,
2486
+ },
2487
+ } );
2488
+
2489
+ widgetWatcher.on( 'error', ( error ) => {
2490
+ console.error( '❌ Widget watcher error:', error );
2491
+ } );
2492
+
2493
+ const handleWidgetFileChange = async ( filename ) => {
2494
+ // Extract widget dir name from path: widgets/{widgetDirName}/...
2495
+ const widgetMatch = filename.match( /widgets[/\\]([^/\\]+)[/\\]/ );
2496
+ if ( ! widgetMatch ) {
2497
+ return;
2498
+ }
2499
+
2500
+ const widgetDirName = widgetMatch[ 1 ];
2501
+ if ( ! allWidgetDirs.includes( widgetDirName ) ) {
2502
+ return;
2503
+ }
2504
+
2505
+ if ( isRebuilding ) {
2506
+ needsRebuild.add( `widget:${ widgetDirName }` );
2507
+ return;
2508
+ }
2509
+
2510
+ isRebuilding = true;
2511
+ await rebuildWidget( widgetDirName );
2512
+ await processNextRebuild();
2513
+ };
2514
+
2515
+ widgetWatcher.on( 'change', handleWidgetFileChange );
2516
+ widgetWatcher.on( 'add', handleWidgetFileChange );
2517
+ widgetWatcher.on( 'unlink', handleWidgetFileChange );
2518
+ }
2134
2519
  }
2135
2520
 
2136
2521
  /**
@@ -0,0 +1,100 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { readdirSync, existsSync, readFileSync } from 'fs';
5
+ import path from 'path';
6
+
7
+ /**
8
+ * Get all widget names from the widgets directory.
9
+ *
10
+ * @param {string} rootDir Root directory of the project.
11
+ * @return {string[]} Array of widget directory names.
12
+ */
13
+ export function getAllWidgets( rootDir ) {
14
+ const widgetsPath = path.join( rootDir, 'widgets' );
15
+
16
+ try {
17
+ return readdirSync( widgetsPath, { withFileTypes: true } )
18
+ .filter( ( dirent ) => dirent.isDirectory() )
19
+ .map( ( dirent ) => dirent.name );
20
+ } catch {
21
+ // Widgets directory doesn't exist, return empty array
22
+ return [];
23
+ }
24
+ }
25
+
26
+ /**
27
+ * @typedef {Object} WidgetMetadata
28
+ * @property {string} name Widget namespaced identifier.
29
+ * @property {string} [title] Human-readable title.
30
+ * @property {string} [description] Short description.
31
+ * @property {string} [category] Grouping category.
32
+ */
33
+
34
+ /**
35
+ * Get widget metadata from widget.json.
36
+ *
37
+ * @param {string} rootDir Root directory of the project.
38
+ * @param {string} widgetName Widget name.
39
+ * @return {WidgetMetadata|null} Widget metadata object or null if not found.
40
+ */
41
+ export function getWidgetMetadata( rootDir, widgetName ) {
42
+ const widgetJsonPath = path.join(
43
+ rootDir,
44
+ 'widgets',
45
+ widgetName,
46
+ 'widget.json'
47
+ );
48
+
49
+ if ( ! existsSync( widgetJsonPath ) ) {
50
+ return null;
51
+ }
52
+
53
+ let metadata;
54
+ try {
55
+ metadata = /** @type {WidgetMetadata} */ (
56
+ JSON.parse( readFileSync( widgetJsonPath, 'utf8' ) )
57
+ );
58
+ } catch {
59
+ return null;
60
+ }
61
+
62
+ if ( ! metadata || ! metadata.name ) {
63
+ return null;
64
+ }
65
+
66
+ return metadata;
67
+ }
68
+
69
+ /**
70
+ * Supported source extensions for widget entry files, in priority order.
71
+ * Must stay aligned with SOURCE_EXTENSIONS in build.mjs.
72
+ */
73
+ const WIDGET_EXTENSIONS = [ 'tsx', 'ts', 'jsx', 'js', 'mjs' ];
74
+
75
+ /**
76
+ * @typedef {Object} WidgetFiles
77
+ * @property {boolean} hasRender Whether render entry file exists.
78
+ * @property {boolean} hasWidget Whether widget entry file exists.
79
+ */
80
+
81
+ /**
82
+ * Check if a widget has specific files.
83
+ *
84
+ * @param {string} widgetDirectory Widget directory path.
85
+ * @return {WidgetFiles} Object with boolean flags for widget files.
86
+ */
87
+ export function getWidgetFiles( widgetDirectory ) {
88
+ const entries = readdirSync( widgetDirectory );
89
+
90
+ /** @param {string} baseName */
91
+ const hasEntry = ( baseName ) =>
92
+ WIDGET_EXTENSIONS.some( ( ext ) =>
93
+ entries.includes( `${ baseName }.${ ext }` )
94
+ );
95
+
96
+ return {
97
+ hasRender: hasEntry( 'render' ),
98
+ hasWidget: hasEntry( 'widget' ),
99
+ };
100
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/build",
3
- "version": "0.13.0",
3
+ "version": "0.13.2-next.v.202605131032.0+f6d6e7149",
4
4
  "description": "Build tool for WordPress plugins.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -36,6 +36,7 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@emotion/babel-plugin": "11.13.5",
39
+ "@wordpress/style-runtime": "^0.1.2-next.v.202605131032.0+f6d6e7149",
39
40
  "autoprefixer": "10.4.21",
40
41
  "browserslist-to-esbuild": "2.1.1",
41
42
  "change-case": "4.1.2",
@@ -52,7 +53,7 @@
52
53
  "sass-embedded": "^1.97.2"
53
54
  },
54
55
  "devDependencies": {
55
- "@types/node": "^20.17.10"
56
+ "@types/node": "^20.19.39"
56
57
  },
57
58
  "peerDependencies": {
58
59
  "@wordpress/boot": ">=0.3.0 <1.0.0",
@@ -77,5 +78,5 @@
77
78
  "publishConfig": {
78
79
  "access": "public"
79
80
  },
80
- "gitHead": "8c229eaed0e88c9827e2da3d73a78f9ddd77714b"
81
+ "gitHead": "0e198c7ac7ca634e73ded9220ce048c0302174dd"
81
82
  }
@@ -30,6 +30,12 @@ if ( file_exists( $routes_file ) ) {
30
30
  require_once $routes_file;
31
31
  }
32
32
 
33
+ // Load widgets registration.
34
+ $widgets_file = __DIR__ . '/widgets.php';
35
+ if ( file_exists( $widgets_file ) ) {
36
+ require_once $widgets_file;
37
+ }
38
+
33
39
  // Load pages registration.
34
40
  $pages_file = __DIR__ . '/pages.php';
35
41
  if ( file_exists( $pages_file ) ) {
@@ -21,7 +21,11 @@ function {{PREFIX}}_register_script_modules() {
21
21
  $already_registered = true;
22
22
 
23
23
  // Load build constants
24
- $build_constants = require __DIR__ . '/constants.php';
24
+ $constants_file = __DIR__ . '/constants.php';
25
+ if ( ! file_exists( $constants_file ) ) {
26
+ return;
27
+ }
28
+ $build_constants = require $constants_file;
25
29
  $modules_dir = __DIR__ . '/modules';
26
30
  $modules_file = $modules_dir . '/registry.php';
27
31
 
@@ -196,6 +196,21 @@ function {{PREFIX}}_{{PAGE_SLUG_UNDERSCORE}}_wp_admin_enqueue_scripts( $hook_suf
196
196
  }
197
197
  }
198
198
 
199
+ /**
200
+ * Filters the boot script-module dependencies for the
201
+ * {{PAGE_SLUG}}-wp-admin page.
202
+ *
203
+ * Surfaces extending this page can append entries to the boot
204
+ * dependency list. Each entry is an array with 'import' (string
205
+ * 'static' or 'dynamic') and 'id' (script-module handle) keys.
206
+ *
207
+ * @param array $boot_dependencies Boot dependencies for the page.
208
+ */
209
+ $boot_dependencies = apply_filters(
210
+ '{{PAGE_SLUG}}-wp-admin_boot_dependencies',
211
+ $boot_dependencies
212
+ );
213
+
199
214
  // Dummy script module to ensure dependencies are loaded
200
215
  wp_register_script_module(
201
216
  '{{PAGE_SLUG}}-wp-admin',
@@ -209,6 +209,21 @@ function {{PREFIX}}_{{PAGE_SLUG_UNDERSCORE}}_render_page() {
209
209
  }
210
210
  }
211
211
 
212
+ /**
213
+ * Filters the boot script-module dependencies for the
214
+ * {{PAGE_SLUG}} page.
215
+ *
216
+ * Surfaces extending this page can append entries to the boot
217
+ * dependency list. Each entry is an array with 'import' (string
218
+ * 'static' or 'dynamic') and 'id' (script-module handle) keys.
219
+ *
220
+ * @param array $boot_dependencies Boot dependencies for the page.
221
+ */
222
+ $boot_dependencies = apply_filters(
223
+ '{{PAGE_SLUG}}_boot_dependencies',
224
+ $boot_dependencies
225
+ );
226
+
212
227
  // Dummy script module to ensure dependencies are loaded
213
228
  wp_register_script_module(
214
229
  '{{PAGE_SLUG}}',
@@ -0,0 +1,113 @@
1
+ <?php
2
+ /**
3
+ * Widget registration - Auto-generated by build process.
4
+ * Registers all widget script modules discovered from widgets/.
5
+ * Do not edit this file manually.
6
+ *
7
+ * @package {{PREFIX}}
8
+ */
9
+
10
+ /**
11
+ * Register widget script modules.
12
+ *
13
+ * Registers each widget's render and metadata as script modules via
14
+ * wp_register_script_module.
15
+ *
16
+ * Module IDs follow core's route pattern and use the widget directory name:
17
+ * {{HANDLE_PREFIX}}/widgets/{widget-dir-name}/render
18
+ * {{HANDLE_PREFIX}}/widgets/{widget-dir-name}/widget
19
+ */
20
+ function {{PREFIX}}_register_widget_modules() {
21
+ $widgets = {{PREFIX}}_get_registered_widget_modules();
22
+ if ( empty( $widgets ) ) {
23
+ return;
24
+ }
25
+
26
+ $build_constants = require __DIR__ . '/constants.php';
27
+ $extension = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '.js' : '.min.js';
28
+
29
+ foreach ( $widgets as $widget ) {
30
+ $widget_name = $widget['dir_name'];
31
+
32
+ // Register render script module if built.
33
+ if ( ! empty( $widget['render_module'] ) ) {
34
+ $render_asset_path = __DIR__ . "/widgets/{$widget_name}/render.min.asset.php";
35
+ if ( file_exists( $render_asset_path ) ) {
36
+ $render_asset = require $render_asset_path;
37
+ // Deregister first to override any previously registered version
38
+ // (e.g., Core's default modules when running as a plugin).
39
+ wp_deregister_script_module( $widget['render_module'] );
40
+ wp_register_script_module(
41
+ $widget['render_module'],
42
+ $build_constants['build_url'] . 'widgets/' . $widget_name . '/render' . $extension,
43
+ $render_asset['module_dependencies'] ?? array(),
44
+ $render_asset['version'] ?? false
45
+ );
46
+ }
47
+ }
48
+
49
+ // Register widget metadata script module if built.
50
+ if ( ! empty( $widget['widget_module'] ) ) {
51
+ $widget_asset_path = __DIR__ . "/widgets/{$widget_name}/widget.min.asset.php";
52
+ if ( file_exists( $widget_asset_path ) ) {
53
+ $widget_asset = require $widget_asset_path;
54
+ // Deregister first to override any previously registered version
55
+ // (e.g., Core's default modules when running as a plugin).
56
+ wp_deregister_script_module( $widget['widget_module'] );
57
+ wp_register_script_module(
58
+ $widget['widget_module'],
59
+ $build_constants['build_url'] . 'widgets/' . $widget_name . '/widget' . $extension,
60
+ $widget_asset['module_dependencies'] ?? array(),
61
+ $widget_asset['version'] ?? false
62
+ );
63
+ }
64
+ }
65
+ }
66
+ }
67
+
68
+ // Register immediately if init already fired, otherwise defer.
69
+ if ( did_action( 'init' ) ) {
70
+ {{PREFIX}}_register_widget_modules();
71
+ } else {
72
+ add_action( 'init', '{{PREFIX}}_register_widget_modules' );
73
+ }
74
+
75
+ /**
76
+ * Returns the widgets discovered by the build pipeline, with their
77
+ * script-module handles resolved.
78
+ *
79
+ * Reads `build/widgets/registry.php` once and memoizes the result for the
80
+ * remainder of the request. Each entry is augmented with `render_module`
81
+ * and `widget_module` (the script-module handles), kept null when the
82
+ * corresponding source file was not present at build time. Consumers
83
+ * should treat the array as read-only; authoring of widget types is
84
+ * build-driven via the `widgets/` folder.
85
+ *
86
+ * @return array<int, array<string, mixed>> List of widgets with resolved
87
+ * module handles.
88
+ */
89
+ function {{PREFIX}}_get_registered_widget_modules() {
90
+ static $widgets = null;
91
+
92
+ if ( null === $widgets ) {
93
+ $registry_file = __DIR__ . '/widgets/registry.php';
94
+ $raw = file_exists( $registry_file ) ? require $registry_file : array();
95
+ if ( ! is_array( $raw ) ) {
96
+ $raw = array();
97
+ }
98
+ $widgets = array_map(
99
+ static function ( $widget ) {
100
+ $widget['render_module'] = ! empty( $widget['has_render'] )
101
+ ? '{{HANDLE_PREFIX}}/widgets/' . $widget['dir_name'] . '/render'
102
+ : null;
103
+ $widget['widget_module'] = ! empty( $widget['has_widget'] )
104
+ ? '{{HANDLE_PREFIX}}/widgets/' . $widget['dir_name'] . '/widget'
105
+ : null;
106
+ return $widget;
107
+ },
108
+ $raw
109
+ );
110
+ }
111
+
112
+ return $widgets;
113
+ }
@@ -0,0 +1,11 @@
1
+ <?php
2
+ /**
3
+ * Widget registry - Auto-generated by build process.
4
+ * Do not edit this file manually.
5
+ *
6
+ * @package {{PREFIX}}
7
+ */
8
+
9
+ return array(
10
+ {{WIDGETS}}
11
+ );
package/tsconfig.json CHANGED
@@ -17,6 +17,7 @@
17
17
  "noEmit": true,
18
18
  "outDir": ".cache"
19
19
  },
20
+ "references": [ { "path": "../style-runtime" } ],
20
21
  "include": [ "." ],
21
22
  "exclude": [
22
23
  // Excluded to maintain consistency with bin/tsconfig.json