diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 06e357097..793a567a8 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -68,7 +68,7 @@ jobs: id: cache-node-modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-dev-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('packages/**/package.json') }} + key: node-modules-dev-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5e3db8d32..9b28e8b05 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -35,7 +35,7 @@ jobs: id: cache-node-modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-dev-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('packages/**/package.json') }} + key: node-modules-dev-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules diff --git a/.github/workflows/main-windows.yml b/.github/workflows/main-windows.yml index 01bc468ba..e58372ed7 100644 --- a/.github/workflows/main-windows.yml +++ b/.github/workflows/main-windows.yml @@ -60,7 +60,7 @@ jobs: - name: Cache node modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -172,7 +172,7 @@ jobs: if: ${{ startsWith(matrix.os, 'windows') }} uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: puppeteer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('packages/jco/package.json') }} + key: puppeteer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | /c/users/runneradmin/.cache/puppeteer @@ -263,7 +263,7 @@ jobs: - name: Cache node modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 874280fcc..e3c889ec9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -50,7 +50,7 @@ jobs: - name: Cache node modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -158,7 +158,7 @@ jobs: if: ${{ startsWith(matrix.os, 'ubuntu') }} uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: puppeteer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('packages/jco/package.json') }} + key: puppeteer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | /home/runner/.cache/puppeteer @@ -166,7 +166,7 @@ jobs: if: ${{ startsWith(matrix.os, 'macos') }} uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: puppeteer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('packages/jco/package.json') }} + key: puppeteer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | /Users/runner/.cache/puppeteer @@ -239,7 +239,7 @@ jobs: - name: Cache node modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -302,7 +302,7 @@ jobs: - name: Cache node modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -352,7 +352,7 @@ jobs: - name: Cache node modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -362,7 +362,7 @@ jobs: - name: Cache puppeteer install uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: puppeteer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('packages/jco/package.json') }} + key: puppeteer-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | /home/runner/.cache/puppeteer @@ -391,7 +391,7 @@ jobs: - name: Cache node modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -413,7 +413,7 @@ jobs: - name: Cache node modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -481,7 +481,7 @@ jobs: - name: Cache node modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -603,7 +603,7 @@ jobs: - name: Cache node modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 76b36ac60..67e03ae8e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -96,7 +96,7 @@ jobs: id: cache-node-modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-dev-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-dev-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -285,7 +285,7 @@ jobs: id: cache-node-modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -440,7 +440,7 @@ jobs: - name: Cache npm install uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules @@ -539,7 +539,7 @@ jobs: id: cache-node-modules uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: - key: node-modules-dev-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }} + key: node-modules-dev-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml') }} path: | node_modules diff --git a/crates/js-component-bindgen/src/function_bindgen.rs b/crates/js-component-bindgen/src/function_bindgen.rs index df95ae9ef..7a947cffd 100644 --- a/crates/js-component-bindgen/src/function_bindgen.rs +++ b/crates/js-component-bindgen/src/function_bindgen.rs @@ -2334,243 +2334,6 @@ impl Bindgen for FunctionBindgen<'_> { results.push(rsc); } - // Instruction::HandleLift { handle, .. } => { - // let (Handle::Own(ty) | Handle::Borrow(ty)) = handle; - // let resource_ty = &crate::dealias(self.resolve, *ty); - // let ResourceTable { imported, data } = &self.resource_map[resource_ty]; - - // let is_own = matches!(handle, Handle::Own(_)); - // let rsc = format!("rsc{}", self.tmp()); - // let handle = format!("handle{}", self.tmp()); - // uwriteln!(self.src, "var {handle} = {};", &operands[0]); - - // match data { - // ResourceData::Host { - // tid, - // rid, - // local_name, - // dtor_name, - // } => { - // let tid = tid.as_u32(); - // let rid = rid.as_u32(); - // let symbol_dispose = self.intrinsic(Intrinsic::SymbolDispose); - // let rsc_table_remove = self - // .intrinsic(Intrinsic::Resource(ResourceIntrinsic::ResourceTableRemove)); - // let rsc_flag = self - // .intrinsic(Intrinsic::Resource(ResourceIntrinsic::ResourceTableFlag)); - // let symbol_resource_handle = - // self.intrinsic(Intrinsic::SymbolResourceHandle); - // let empty_func = - // self.intrinsic(Intrinsic::JsHelper(JsHelperIntrinsic::EmptyFunc)); - - // match (imported, is_own) { - // // Non-imported owned host resource - // (_imported @ false, _owned @ true) => { - // let dtor_setup_js = if let Some(dtor) = dtor_name { - // // The Symbol.dispose function gets disabled on drop, so we can rely on the own handle remaining valid. - // format!( - // r#", - // Object.defineProperty( - // {rsc}, - // {symbol_dispose}, - // {{ - // writable: true, - // value: function () {{ - // finalizationRegistry{tid}.unregister({rsc}); - // {rsc_table_remove}(handleTable{tid}, {handle}); - // {rsc}[{symbol_dispose}] = {empty_func}; - // {rsc}[{symbol_resource_handle}] = undefined; - // {dtor}(handleTable{tid}[({handle} << 1) + 1] & ~{rsc_flag}); - // }} - // }}, - // ); - // "# - // ) - // } else { - // // Set up Symbol.dispose for borrows to allow its call, even though it does nothing. - // format!( - // "Object.defineProperty({rsc}, {symbol_dispose}, {{ writable: true, value: {empty_func} }});" - // ) - // }; - - // // Sending an own handle out to JS as a return value - set up finalizer and disposal. - // uwriteln!( - // self.src, - // r#" - // var {rsc}; - // if (new.target === {local_name}) {{ - // {rsc} = this; - // }} else {{ - // {rsc} = Object.create({local_name}.prototype); - // }} - // Object.defineProperty({rsc}, {symbol_resource_handle}, {{ writable: true, value: {handle} }}); - // finalizationRegistry{tid}.register({rsc}, {handle}, {rsc}); - // {dtor_setup_js} - // "# - // ); - // } - - // // Non-imported borrowed host resource - // (_imported @ false, _owned @ false) => { - // // Borrow handles of local resources have rep handles, which we carry through here. - // uwriteln!( - // self.src, - // "Object.defineProperty({rsc}, {symbol_resource_handle}, {{ writable: true, value: {handle} }});" - // ); - // } - - // // Imported owned host resource - // (_imported @ true, _owned @ true) => { - // let rep = format!("rep{}", self.tmp()); - // // Imported handles either lift as instance capture from a previous lowering, - // // or we create a new JS class to represent it. - // let symbol_resource_rep = - // self.intrinsic(Intrinsic::SymbolResourceRep); - // let symbol_resource_handle = - // self.intrinsic(Intrinsic::SymbolResourceHandle); - - // uwriteln!( - // self.src, - // r#" - // var {rep} = handleTable{tid}[({handle} << 1) + 1] & ~{rsc_flag}; - // var {rsc} = captureTable{rid}.get({rep}); - // if (!{rsc}) {{ - // {rsc} = Object.create({local_name}.prototype); - // Object.defineProperty({rsc}, {symbol_resource_handle}, {{ writable: true, value: {handle} }}); - // Object.defineProperty({rsc}, {symbol_resource_rep}, {{ writable: true, value: {rep} }}); - // }} else {{ - // captureTable{rid}.delete({rep}); - // }} - // // NOTE: owned lifting is a transfer to JS, so existing own handle must be dropped - // {rsc_table_remove}(handleTable{tid}, {handle}); - // "#, - // ); - // } - - // // Imported borrowed host resource - // (_imported @ true, _owned @ false) => { - // let rep = format!("rep{}", self.tmp()); - // // Imported handles either lift as instance capture from a previous lowering, - // // or we create a new JS class to represent it. - // let symbol_resource_rep = - // self.intrinsic(Intrinsic::SymbolResourceRep); - // let symbol_resource_handle = - // self.intrinsic(Intrinsic::SymbolResourceHandle); - - // uwriteln!( - // self.src, - // r#" - // var {rep} = handleTable{tid}[({handle} << 1) + 1] & ~{rsc_flag}; - // var {rsc} = captureTable{rid}.get({rep}); - // if (!{rsc}) {{ - // {rsc} = Object.create({local_name}.prototype); - // Object.defineProperty({rsc}, {symbol_resource_handle}, {{ writable: true, value: {handle} }}); - // Object.defineProperty({rsc}, {symbol_resource_rep}, {{ writable: true, value: {rep} }}); - // }} - // "#, - // ); - // } - // } - - // // Borrow handles are tracked to release after the call by CallInterface. - // if !is_own { - // let cur_resource_borrows = self.intrinsic(Intrinsic::Resource( - // ResourceIntrinsic::CurResourceBorrows, - // )); - // uwriteln!(self.src, "{cur_resource_borrows}.push({rsc});"); - // self.clear_resource_borrows = true; - // } - // } - - // ResourceData::Guest { - // resource_name, - // prefix, - // extra, - // } => { - // assert!( - // extra.is_none(), - // "plain resource handles do not carry extra data" - // ); - - // let symbol_resource_handle = - // self.intrinsic(Intrinsic::SymbolResourceHandle); - // let prefix = prefix.as_deref().unwrap_or(""); - // let lower_camel = resource_name.to_lower_camel_case(); - - // match (imported, is_own) { - // // Non-imported, owned guest resource - // (_imported @ false, _owned @ true) => { - // uwrite!( - // self.src, - // r#" - // var {rsc} = repTable.get($resource_{prefix}rep${lower_camel}({handle})).rep; - // repTable.delete({handle}); - // delete {rsc}[{symbol_resource_handle}]; - // finalizationRegistry_export${prefix}{lower_camel}.unregister({rsc}); - // "# - // ); - // } - - // // Non-imported, borrowed guest resource - // (_imported @ false, _owned @ false) => { - // uwriteln!(self.src, "var {rsc} = repTable.get({handle}).rep;"); - // } - - // // Imported, owned guest resource - // (_imported @ true, _owned @ true) => { - // let upper_camel = resource_name.to_upper_camel_case(); - - // uwrite!( - // self.src, - // r#" - // var {rsc}; - // if (new.target === import_{prefix}{upper_camel}) {{ - // {rsc} = this; - // }} else {{ - // {rsc} = Object.create(import_{prefix}{upper_camel}.prototype); - // }} - // Object.defineProperty({rsc}, {symbol_resource_handle}, {{ writable: true, value: {handle} }}); - // finalizationRegistry_import${prefix}{lower_camel}.register({rsc}, {handle}, {rsc}); - // "# - // ); - // } - - // // Imported, borrowed guest resource - // (_imported @ true, _owned @ false) => { - // let upper_camel = resource_name.to_upper_camel_case(); - - // uwrite!( - // self.src, - // r#" - // var {rsc}; - // if (new.target === import_{prefix}{upper_camel}) {{ - // {rsc} = this; - // }} else {{ - // {rsc} = Object.create(import_{prefix}{upper_camel}.prototype); - // }} - // Object.defineProperty({rsc}, {symbol_resource_handle}, {{ writable: true, value: {handle} }}); - // finalizationRegistry_import${prefix}{lower_camel}.register({rsc}, {handle}, {rsc}); - // "# - // ); - - // // TODO(fix): should this be similar to host and *not* be here, but apply no matter what? - // if !is_own { - // let cur_resource_borrows = self.intrinsic(Intrinsic::Resource( - // ResourceIntrinsic::CurResourceBorrows, - // )); - // uwriteln!( - // self.src, - // "{cur_resource_borrows}.push({{ rsc: {rsc}, drop: $resource_import${prefix}drop${lower_camel} }});" - // ); - // self.clear_resource_borrows = true; - // } - // } - // } - // } - // } - - // results.push(rsc); - // } Instruction::HandleLower { handle, name, .. } => { let (Handle::Own(ty) | Handle::Borrow(ty)) = handle; let is_own = matches!(handle, Handle::Own(_)); diff --git a/package.json b/package.json index baa3ae290..3a15be182 100644 --- a/package.json +++ b/package.json @@ -28,4 +28,5 @@ "oxlint": "^1.47.0", "semver": "^7.8.0" } + } diff --git a/packages/jco-std/tsconfig.json b/packages/jco-std/tsconfig.json index e1367bca7..822f7028d 100644 --- a/packages/jco-std/tsconfig.json +++ b/packages/jco-std/tsconfig.json @@ -1,6 +1,7 @@ { "compilerOptions": { "outDir": "dist", + "rootDir": "src", "lib": ["esnext", "dom"], "module": "nodenext", "moduleResolution": "nodenext", diff --git a/packages/jco-transpile/package.json b/packages/jco-transpile/package.json index ca59fe5d0..23a37618a 100644 --- a/packages/jco-transpile/package.json +++ b/packages/jco-transpile/package.json @@ -63,7 +63,7 @@ }, "devDependencies": { "@npmcli/run-script": "^10.0.2", - "@types/node": "^24.10.0", + "@types/node": "^24.12.4", "vite": "^7.1.5", "vitest": "^4.0.7" } diff --git a/packages/jco-transpile/src/opt.ts b/packages/jco-transpile/src/opt.ts index 949607d21..421181963 100644 --- a/packages/jco-transpile/src/opt.ts +++ b/packages/jco-transpile/src/opt.ts @@ -91,7 +91,7 @@ export async function runOptimizeComponent( // organize components in modules into tree parent and children const nodes = componentMetadata.slice(1); const getChildren = (parentIndex: number) => { - const children = []; + const children: EnhancedModuleMetadata[] = []; for (let i = 0; i < nodes.length; i++) { const metadata = nodes[i]; if (metadata.parentIndex === parentIndex) { diff --git a/packages/jco-transpile/tsconfig.json b/packages/jco-transpile/tsconfig.json index d14bc3360..fdcf60561 100644 --- a/packages/jco-transpile/tsconfig.json +++ b/packages/jco-transpile/tsconfig.json @@ -2,8 +2,11 @@ "include": ["src/**/*"], "compilerOptions": { "outDir": "dist", + "rootDir": "src", + "types": ["node"], "module": "nodenext", "moduleResolution": "nodenext", + "noImplicitAny": false, "strict": true, "declaration": true, "sourceMap": true diff --git a/packages/jco/package.json b/packages/jco/package.json index fd7304500..c42002a09 100644 --- a/packages/jco/package.json +++ b/packages/jco/package.json @@ -91,7 +91,7 @@ "conventional-changelog-conventionalcommits": "^9.1.0", "mime": "^4.0.7", "oxfmt": "^0.28.0", - "puppeteer": "^24.43.1", + "puppeteer": "catalog:", "semver": "^7.7.1", "smol-toml": "^1.4.2", "typescript": "^5.9.2", diff --git a/packages/preview2-shim/package.json b/packages/preview2-shim/package.json index 895009ab9..234234d18 100644 --- a/packages/preview2-shim/package.json +++ b/packages/preview2-shim/package.json @@ -60,6 +60,6 @@ "@bytecodealliance/componentize-js": "0.21.0", "@bytecodealliance/jco": "1.15.2", "mime": "^4.0.7", - "puppeteer": "^24.43.1" + "puppeteer": "catalog:" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6c9db6821..d4d4e9781 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,12 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +catalogs: + default: + puppeteer: + specifier: ^25.1.0 + version: 25.1.0 + importers: .: @@ -287,8 +293,8 @@ importers: specifier: ^0.28.0 version: 0.28.0 puppeteer: - specifier: ^24.43.1 - version: 24.43.1(typescript@5.9.3) + specifier: 'catalog:' + version: 25.1.0 semver: specifier: ^7.7.1 version: 7.8.0 @@ -351,7 +357,7 @@ importers: specifier: ^10.0.2 version: 10.0.4 '@types/node': - specifier: ^24.10.0 + specifier: ^24.12.4 version: 24.12.4 vite: specifier: ^7.1.5 @@ -372,8 +378,8 @@ importers: specifier: ^4.0.7 version: 4.1.0 puppeteer: - specifier: ^24.43.1 - version: 24.43.1(typescript@5.9.3) + specifier: 'catalog:' + version: 25.1.0 packages/preview3-shim: dependencies: @@ -433,10 +439,6 @@ packages: resolution: {integrity: sha512-2D/v9m+6cwVd/MYmv6rBgaiUv6vBJaSKWwbPh4ltAfxcbh4KYJioSsAiEyiwKSD2HlK0LZ45N0Kzfc9WOyWnVQ==} hasBin: true - '@bytecodealliance/jco@1.19.0': - resolution: {integrity: sha512-I57cVbL24/u/zCBwHq7D9PyIMP81hFFYF4hL/pW5biRGVLQAZuwEAUaEmghOouyt77bU2ExqscP2wkLvr3nfDw==} - hasBin: true - '@bytecodealliance/preview2-shim@0.17.9': resolution: {integrity: sha512-i0R3eQBe6PA/o/1EFE3Owe4In2rcccb6QxnjpntM/lPe3/duJ0bRQTVZM2Ufpo99X4eofGeltQUkape1C91FFA==} @@ -1401,6 +1403,16 @@ packages: engines: {node: '>=18'} hasBin: true + '@puppeteer/browsers@3.0.4': + resolution: {integrity: sha512-HGM8iAmGTf+Y7t0373szVbTmt3d7vPkYL/1bpOkOFO0YUYLgSeuYBCzESklogNPvOBnZ/MRD5f07OkpqH1trtA==} + engines: {node: '>=22.12.0'} + hasBin: true + peerDependencies: + proxy-agent: '>=8.0.1' + peerDependenciesMeta: + proxy-agent: + optional: true + '@rolldown/binding-android-arm64@1.0.0': resolution: {integrity: sha512-TWMZnRLMe63C2Lhyicviu7ZHaU4kxa6PS3rofvc9GmcvptzNN11BcfQ4Sl7MwTOsisQoa2keB/EBdNCAnUo8vA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1959,8 +1971,9 @@ packages: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} - chromium-bidi@14.0.0: - resolution: {integrity: sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw==} + chromium-bidi@16.0.1: + resolution: {integrity: sha512-J63PGu/9PpeCwLIcKYyzWP6yaVL5pxuBc0shlYCYM8BaAkmlwiQboXO1iNbOgSDbVklEyYFfNEcHD8oOAWacUA==} + engines: {node: '>=20.19.0 <22.0.0 || >=22.12.0'} peerDependencies: devtools-protocol: '*' @@ -2107,8 +2120,8 @@ packages: deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - devtools-protocol@0.0.1608973: - resolution: {integrity: sha512-Tpm17fxYzt+J7VrGdc1k8YdRqS3YV7se/M6KeemEqvUbq/n7At1rWVuXMxQgpWkdwSdIEKYbU//Bve+Shm4YNQ==} + devtools-protocol@0.0.1624250: + resolution: {integrity: sha512-YFAat/lOiIk0ARmBweG+ygrEcbZrq5B9urRyUoeQKp53MlidHXE2TmTbxKcaXoQj7u/aX+jebDO4BW55rs0WwA==} dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} @@ -2535,6 +2548,10 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -2638,6 +2655,10 @@ packages: engines: {node: '>=10'} hasBin: true + modern-tar@0.7.6: + resolution: {integrity: sha512-sweCIVXzx1aIGTCdzcMlSZt1h8k5Tmk08VNAuRk3IU28XamGiOH5ypi11g6De2CH7PhYqSSnGy2A/EFhbWnVKg==} + engines: {node: '>=18.0.0'} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -2843,13 +2864,13 @@ packages: pump@3.0.4: resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} - puppeteer-core@24.43.1: - resolution: {integrity: sha512-T5ScUMAsmhdNbgDR41AGESYeS6V9MSgetkSnVhhW+gXvzC42VesKCn5ld87gAZDJ6vLHL9GkRvY9WtQWSnwFbw==} - engines: {node: '>=18'} + puppeteer-core@25.1.0: + resolution: {integrity: sha512-jKzy5y4WG6uNuFbTWgW1D7mqoT9o0nllc/6a1DGF775T1mPmgw3scdFEtEq67yVFikavQmbYq6NLfbTfxHSlqQ==} + engines: {node: '>=22.12.0'} - puppeteer@24.43.1: - resolution: {integrity: sha512-/FSOViCrqRdb1HDocpsM9Z1giA71gTQPUt3SpHGVRALKAy/rJr1fLFYZW9F23qPxqVxTHQnbh/5B5opJST3kAw==} - engines: {node: '>=18'} + puppeteer@25.1.0: + resolution: {integrity: sha512-7L6/0JM7XStK99lIL4xQySyNEXNfII6pk0BxkI5kKBTOhR7AsoQiv067YTsE/rIXxQiq9ajlO4WcqBjS/FWK1A==} + engines: {node: '>=22.12.0'} hasBin: true readable-stream@2.3.8: @@ -3261,8 +3282,8 @@ packages: jsdom: optional: true - webdriver-bidi-protocol@0.4.1: - resolution: {integrity: sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw==} + webdriver-bidi-protocol@0.4.2: + resolution: {integrity: sha512-VSV+fzfChirL3e7jay2yUC7B4HQCGtEWEg/MSSQbK+qWbqeGlRLlXTzPpYr3XGUvbpDHumWZBJxgesg4N7dbtA==} which-typed-array@1.1.20: resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} @@ -3295,8 +3316,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -3375,7 +3396,7 @@ snapshots: '@bytecodealliance/componentize-js@0.20.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@bytecodealliance/jco': 1.19.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@bytecodealliance/jco': 1.17.6 '@bytecodealliance/weval': 0.4.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@bytecodealliance/wizer': 10.0.0 es-module-lexer: 1.7.0 @@ -3422,20 +3443,6 @@ snapshots: ora: 8.2.0 terser: 5.47.1 - '@bytecodealliance/jco@1.19.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': - dependencies: - '@bytecodealliance/componentize-js': 0.20.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) - '@bytecodealliance/componentize-js-0-19-3': '@bytecodealliance/componentize-js@0.19.3' - '@bytecodealliance/preview2-shim': 0.17.9 - binaryen: 123.0.0 - commander: 14.0.3 - mkdirp: 3.0.1 - ora: 8.2.0 - terser: 5.47.1 - transitivePeerDependencies: - - '@emnapi/core' - - '@emnapi/runtime' - '@bytecodealliance/preview2-shim@0.17.9': {} '@bytecodealliance/preview3-shim@0.1.0': @@ -4191,6 +4198,11 @@ snapshots: - react-native-b4a - supports-color + '@puppeteer/browsers@3.0.4': + dependencies: + modern-tar: 0.7.6 + yargs: 17.7.2 + '@rolldown/binding-android-arm64@1.0.0': optional: true @@ -4622,9 +4634,9 @@ snapshots: chownr@3.0.0: {} - chromium-bidi@14.0.0(devtools-protocol@0.0.1608973): + chromium-bidi@16.0.1(devtools-protocol@0.0.1624250): dependencies: - devtools-protocol: 0.0.1608973 + devtools-protocol: 0.0.1624250 mitt: 3.0.1 zod: 3.25.76 @@ -4781,7 +4793,7 @@ snapshots: deprecation@2.3.1: {} - devtools-protocol@0.0.1608973: {} + devtools-protocol@0.0.1624250: {} dot-prop@5.3.0: dependencies: @@ -5186,6 +5198,8 @@ snapshots: jsonparse@1.3.1: {} + lilconfig@3.1.3: {} + lines-and-columns@1.2.4: {} locate-path@7.2.0: @@ -5257,6 +5271,8 @@ snapshots: mkdirp@3.0.1: {} + modern-tar@0.7.6: {} + ms@2.1.3: {} nanoid@3.3.12: {} @@ -5526,38 +5542,30 @@ snapshots: end-of-stream: 1.4.5 once: 1.4.0 - puppeteer-core@24.43.1: + puppeteer-core@25.1.0: dependencies: - '@puppeteer/browsers': 2.13.2 - chromium-bidi: 14.0.0(devtools-protocol@0.0.1608973) - debug: 4.4.3 - devtools-protocol: 0.0.1608973 + '@puppeteer/browsers': 3.0.4 + chromium-bidi: 16.0.1(devtools-protocol@0.0.1624250) + devtools-protocol: 0.0.1624250 typed-query-selector: 2.12.2 - webdriver-bidi-protocol: 0.4.1 - ws: 8.20.0 + webdriver-bidi-protocol: 0.4.2 + ws: 8.21.0 transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - bufferutil - - react-native-b4a - - supports-color + - proxy-agent - utf-8-validate - puppeteer@24.43.1(typescript@5.9.3): + puppeteer@25.1.0: dependencies: - '@puppeteer/browsers': 2.13.2 - chromium-bidi: 14.0.0(devtools-protocol@0.0.1608973) - cosmiconfig: 9.0.1(typescript@5.9.3) - devtools-protocol: 0.0.1608973 - puppeteer-core: 24.43.1 + '@puppeteer/browsers': 3.0.4 + chromium-bidi: 16.0.1(devtools-protocol@0.0.1624250) + devtools-protocol: 0.0.1624250 + lilconfig: 3.1.3 + puppeteer-core: 25.1.0 typed-query-selector: 2.12.2 transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - bufferutil - - react-native-b4a - - supports-color - - typescript + - proxy-agent - utf-8-validate readable-stream@2.3.8: @@ -6009,7 +6017,7 @@ snapshots: transitivePeerDependencies: - msw - webdriver-bidi-protocol@0.4.1: {} + webdriver-bidi-protocol@0.4.2: {} which-typed-array@1.1.20: dependencies: @@ -6046,7 +6054,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.21.0: {} xtend@4.0.2: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 460d5ff1b..684562fba 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -28,6 +28,13 @@ packages: - examples/components/typegen-async-export - examples/components/webidl-book-library +catalog: + puppeteer: ^25.1.0 + minimumReleaseAgeExclude: - '@bytecodealliance/componentize-js@0.21.0' - '@bytecodealliance/preview3-shim@0.1.0' + - '@puppeteer/browsers@3.0.4' + - puppeteer-core@25.1.0 + - puppeteer@25.1.0 + - ws@8.21.0