diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4c612525..daea251f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,9 +52,9 @@ jobs: run: npm install - name: Install Playwright run: npx -y playwright install --with-deps - # This step has been observed to hang indefinitely when failing to - # download browsers, but it can also be quite slow. - timeout-minutes: 30 + # This step has been observed to either complete in under a minute or to + # hang indefinitely when failing to install browsers/os updates + timeout-minutes: 10 - name: Run tests run: npm run test # This step has been observed to hang indefinitely when the browsers @@ -73,9 +73,9 @@ jobs: run: npm install - name: Install Playwright run: npx -y playwright install --with-deps - # This step has been observed to hang indefinitely when failing to - # download browsers, but it can also be quite slow. - timeout-minutes: 30 + # This step has been observed to either complete in under a minute or to + # hang indefinitely when failing to install browsers/os updates + timeout-minutes: 10 - name: Run linting run: npm run lint - name: Run tests diff --git a/.gitignore b/.gitignore index f9e889f4..d96c15c0 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ playwright-report output.car tsconfig-check.aegir.tsbuildinfo tsconfig-check.aegir.json +tsconfig.build.tsbuildinfo diff --git a/examples/helia-browser-verified-fetch/package.json b/examples/helia-browser-verified-fetch/package.json index 67974247..8edd869e 100644 --- a/examples/helia-browser-verified-fetch/package.json +++ b/examples/helia-browser-verified-fetch/package.json @@ -25,9 +25,9 @@ "@playwright/test": "^1.42.1", "@types/react": "^19.0.1", "@types/react-dom": "^19.0.1", - "@vitejs/plugin-react": "^4.2.1", + "@vitejs/plugin-react": "^6.0.1", "test-ipfs-example": "^1.3.3", - "typescript": "^5.4.3", - "vite": "^6.0.9" + "typescript": "^6.0.2", + "vite": "^8.0.8" } } diff --git a/examples/helia-create-car/package.json b/examples/helia-create-car/package.json index 3c0c2a8e..361ed7a9 100644 --- a/examples/helia-create-car/package.json +++ b/examples/helia-create-car/package.json @@ -26,8 +26,8 @@ "@playwright/test": "^1.31.2", "@types/react": "^19.0.1", "@types/react-dom": "^19.0.1", - "@vitejs/plugin-react": "^4.0.0", + "@vitejs/plugin-react": "^6.0.1", "test-ipfs-example": "^1.3.3", - "vite": "^6.0.9" + "vite": "^8.0.8" } } diff --git a/examples/helia-electron/package.json b/examples/helia-electron/package.json index 8cd82577..07b3cfae 100644 --- a/examples/helia-electron/package.json +++ b/examples/helia-electron/package.json @@ -19,7 +19,7 @@ "helia": "^6.1.2" }, "devDependencies": { - "electron": "^35.0.3", + "electron": "^41.2.0", "electron-rebuild": "^3.1.1", "test-ipfs-example": "^1.3.3", "xvfb-maybe": "^0.2.1" diff --git a/examples/helia-esbuild/package.json b/examples/helia-esbuild/package.json index 39e62319..cac502c7 100644 --- a/examples/helia-esbuild/package.json +++ b/examples/helia-esbuild/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@babel/core": "^7.14.8", "@playwright/test": "^1.12.3", - "esbuild": "^0.25.1", + "esbuild": "^0.28.0", "playwright": "^1.12.3", "process": "^0.11.10", "rimraf": "^6.0.1", diff --git a/examples/helia-jest-typescript/package.json b/examples/helia-jest-typescript/package.json index 1d567a60..ba1cac73 100644 --- a/examples/helia-jest-typescript/package.json +++ b/examples/helia-jest-typescript/package.json @@ -11,9 +11,9 @@ "helia": "^6.1.2" }, "devDependencies": { - "@types/jest": "^29.5.2", - "jest": "^29.6.2", + "@types/jest": "^30.0.0", + "jest": "^30.3.0", "ts-jest": "^29.1.1", - "typescript": "^5.1.6" + "typescript": "^6.0.2" } } diff --git a/examples/helia-jest-typescript/tsconfig.json b/examples/helia-jest-typescript/tsconfig.json index 57c539f0..37b36a59 100644 --- a/examples/helia-jest-typescript/tsconfig.json +++ b/examples/helia-jest-typescript/tsconfig.json @@ -1,12 +1,16 @@ { "compilerOptions": { - "module": "ES2022", - "target": "ES2021", - "moduleResolution": "node", + "module": "node20", + "target": "ES2022", + + "moduleResolution": "node16", + "skipLibCheck": true, + "types": [ + "jest" + ], // only necessary for the example linting check, your project may not need // these settings - "strictNullChecks": true, - "skipLibCheck": true + "strictNullChecks": true } } diff --git a/examples/helia-jest/package.json b/examples/helia-jest/package.json index a0920360..c841eefe 100644 --- a/examples/helia-jest/package.json +++ b/examples/helia-jest/package.json @@ -11,6 +11,6 @@ "helia": "^6.1.2" }, "devDependencies": { - "jest": "^29.6.2" + "jest": "^30.3.0" } } diff --git a/examples/helia-nestjs/package.json b/examples/helia-nestjs/package.json index 7abd5986..41284a1e 100644 --- a/examples/helia-nestjs/package.json +++ b/examples/helia-nestjs/package.json @@ -31,15 +31,15 @@ "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "^11.0.3", "@types/express": "^5.0.0", - "@types/jest": "^29.5.2", - "@types/node": "^22.7.4", - "@types/supertest": "^6.0.2", - "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", - "eslint": "^8.42.0", - "eslint-config-prettier": "^9.0.0", + "@types/jest": "^30.0.0", + "@types/node": "^25.6.0", + "@types/supertest": "^7.2.0", + "@typescript-eslint/eslint-plugin": "^8.58.2", + "@typescript-eslint/parser": "^8.58.2", + "eslint": "^10.2.0", + "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.0.0", - "jest": "^29.5.0", + "jest": "^30.3.0", "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^7.0.0", @@ -47,7 +47,7 @@ "ts-loader": "^9.4.3", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", - "typescript": "^5.1.3" + "typescript": "^6.0.2" }, "jest": { "moduleFileExtensions": [ diff --git a/examples/helia-nestjs/tsconfig.json b/examples/helia-nestjs/tsconfig.json index 34348292..ea24cf2b 100644 --- a/examples/helia-nestjs/tsconfig.json +++ b/examples/helia-nestjs/tsconfig.json @@ -1,15 +1,15 @@ { "compilerOptions": { - "module": "ES2020", + "module": "node20", "declaration": true, "removeComments": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "allowSyntheticDefaultImports": true, - "target": "ES2020", + "target": "ES2022", "sourceMap": true, + "rootDir": ".", "outDir": "./dist", - "baseUrl": "./", "incremental": true, "skipLibCheck": true, "strictNullChecks": true, @@ -17,6 +17,9 @@ "strictBindCallApply": false, "forceConsistentCasingInFileNames": false, "noFallthroughCasesInSwitch": false, - "moduleResolution": "Node" + "moduleResolution": "node16", + "types": [ + "jest" + ] } } diff --git a/examples/helia-nextjs/next.config.js b/examples/helia-nextjs/next.config.js index 9b5eb904..30d7f18b 100644 --- a/examples/helia-nextjs/next.config.js +++ b/examples/helia-nextjs/next.config.js @@ -1,5 +1,3 @@ -import { NodeProtocolUrlPlugin } from 'node-stdlib-browser/helpers/webpack/plugin' - export default { reactStrictMode: true, images: { @@ -7,14 +5,5 @@ export default { path: 'http://localhost:3000' }, output: 'export', - distDir: 'dist', - webpack: (config) => { - // support loading modules with "node:" prefix - // see https://github.com/webpack/webpack/issues/14166 - // see https://github.com/Richienb/node-polyfill-webpack-plugin/issues/19 - config.plugins.push(new NodeProtocolUrlPlugin()) - - // Important: return the modified config - return config - } + distDir: 'dist' } diff --git a/examples/helia-nextjs/package.json b/examples/helia-nextjs/package.json index ce5c166c..09b59476 100644 --- a/examples/helia-nextjs/package.json +++ b/examples/helia-nextjs/package.json @@ -15,16 +15,15 @@ }, "dependencies": { "helia": "^6.1.2", - "next": "^15.1.5", + "next": "^16.2.3", "react": "^19.0.0", "react-dom": "^19.0.0" }, "devDependencies": { "@playwright/test": "^1.32.1", - "eslint": "^8.36.0", - "eslint-config-next": "^15.1.5", + "eslint": "^10.2.0", + "eslint-config-next": "^16.2.3", "interface-datastore": "^9.0.3", - "node-stdlib-browser": "^1.3.1", "playwright": "^1.32.1", "rimraf": "^6.0.1", "test-ipfs-example": "^1.3.3" diff --git a/examples/helia-remote-pinning/package.json b/examples/helia-remote-pinning/package.json index 89ad7067..b6187b4e 100644 --- a/examples/helia-remote-pinning/package.json +++ b/examples/helia-remote-pinning/package.json @@ -33,9 +33,9 @@ }, "devDependencies": { "@playwright/test": "^1.37.1", - "@vitejs/plugin-react": "^4.0.4", + "@vitejs/plugin-react": "^6.0.1", "rimraf": "^6.0.1", "test-ipfs-example": "^1.3.3", - "vite": "^6.0.9" + "vite": "^8.0.8" } } diff --git a/examples/helia-script-tag/package.json b/examples/helia-script-tag/package.json index 1d379adc..66297d3d 100644 --- a/examples/helia-script-tag/package.json +++ b/examples/helia-script-tag/package.json @@ -21,6 +21,6 @@ "process": "^0.11.10", "rimraf": "^6.0.1", "test-ipfs-example": "^1.3.3", - "vite": "^6.0.9" + "vite": "^8.0.8" } } diff --git a/examples/helia-ts-node/package.json b/examples/helia-ts-node/package.json index a3769f8d..2caa3eda 100644 --- a/examples/helia-ts-node/package.json +++ b/examples/helia-ts-node/package.json @@ -12,9 +12,8 @@ "helia": "^6.1.2" }, "devDependencies": { - "cross-env": "^7.0.3", "test-ipfs-example": "^1.2.0", "ts-node": "^10.9.2", - "typescript": "^5.3.3" + "typescript": "^6.0.2" } } diff --git a/examples/helia-ts-node/tsconfig.json b/examples/helia-ts-node/tsconfig.json index 9fd026ae..83c5ab3f 100644 --- a/examples/helia-ts-node/tsconfig.json +++ b/examples/helia-ts-node/tsconfig.json @@ -2,9 +2,9 @@ "compilerOptions": { // only necessary for the example linting check, your project may not need // these settings - "module": "ES2022", + "module": "node20", "target": "ES2021", - "moduleResolution": "node", + "moduleResolution": "node16", "strictNullChecks": true, "skipLibCheck": true } diff --git a/examples/helia-typescript/package.json b/examples/helia-typescript/package.json index deff6bae..b7086f9a 100644 --- a/examples/helia-typescript/package.json +++ b/examples/helia-typescript/package.json @@ -16,6 +16,6 @@ }, "devDependencies": { "test-ipfs-example": "^1.3.3", - "typescript": "^5.1.6" + "typescript": "^6.0.2" } } diff --git a/examples/helia-typescript/tsconfig.json b/examples/helia-typescript/tsconfig.json index 21845277..a24a8343 100644 --- a/examples/helia-typescript/tsconfig.json +++ b/examples/helia-typescript/tsconfig.json @@ -1,10 +1,11 @@ { "compilerOptions": { - "module": "ES2015", - "target": "ES2015", + "module": "node20", + "target": "ES2022", - "moduleResolution": "node", + "moduleResolution": "node16", "skipLibCheck": true, + "rootDir": "./src", "outDir": "./dist", // only necessary for the example linting check, your project may not need diff --git a/examples/helia-vite/package.json b/examples/helia-vite/package.json index 326e2923..845ac6e3 100644 --- a/examples/helia-vite/package.json +++ b/examples/helia-vite/package.json @@ -24,8 +24,8 @@ "@playwright/test": "^1.31.2", "@types/react": "^19.0.1", "@types/react-dom": "^19.0.1", - "@vitejs/plugin-react": "^4.0.0", + "@vitejs/plugin-react": "^6.0.1", "test-ipfs-example": "^1.3.3", - "vite": "^6.0.9" + "vite": "^8.0.8" } } diff --git a/examples/helia-vue/package.json b/examples/helia-vue/package.json index 4e003bf5..2e12f5ee 100644 --- a/examples/helia-vue/package.json +++ b/examples/helia-vue/package.json @@ -19,9 +19,9 @@ "vue": "^3.2.47" }, "devDependencies": { - "@vitejs/plugin-vue": "^5.0.3", + "@vitejs/plugin-vue": "^6.0.6", "rimraf": "^6.0.1", "test-ipfs-example": "^1.3.3", - "vite": "^6.0.9" + "vite": "^8.0.8" } } diff --git a/examples/helia-webpack/package.json b/examples/helia-webpack/package.json index 1ad663f6..4c4c69fc 100644 --- a/examples/helia-webpack/package.json +++ b/examples/helia-webpack/package.json @@ -27,8 +27,8 @@ "@babel/preset-env": "^7.13.12", "@babel/preset-react": "^7.12.13", "@playwright/test": "^1.12.3", - "babel-loader": "^9.1.2", - "copy-webpack-plugin": "^12.0.2", + "babel-loader": "^10.1.1", + "copy-webpack-plugin": "^14.0.0", "css-loader": "^7.1.2", "html-webpack-plugin": "^5.3.2", "node-polyfill-webpack-plugin": "^4.0.0", @@ -38,7 +38,7 @@ "style-loader": "^4.0.0", "test-ipfs-example": "^1.3.3", "webpack": "^5.45.1", - "webpack-cli": "^6.0.1", + "webpack-cli": "^7.0.2", "webpack-dev-server": "^5.0.3", "webpack-merge": "^6.0.1" }