diff --git a/.node-version b/.node-version index d9b0424..bf90957 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -v25.9.0 +v26.0.0 diff --git a/SECURITY.md b/SECURITY.md index 801d681..dadd2ab 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -10,7 +10,7 @@ | OS baseline | WSL (Ubuntu 25.10) | Shared environment across tracks. | | Ruby exercises | Ruby 4.0.3 (`.ruby-version`) | Bundler-managed gems per kata; default relies on stdlib. | | Python exercises | CPython 3.14.4 (`.python-version`) | Requirements are declared per exercise; base templates use stdlib only. | -| JavaScript exercises | Node v25.9.0 (`.node-version`) | Use the Node toolchain plus any dependencies listed inside each `package.json`. | +| JavaScript exercises | Node v26.0.0 (`.node-version`) | Use the Node toolchain plus any dependencies listed inside each `package.json`. | ## Backward Compatibility diff --git a/javascript/README.md b/javascript/README.md index 2292750..fab7dfb 100644 --- a/javascript/README.md +++ b/javascript/README.md @@ -1,6 +1,6 @@ ## 1. Environment -- Node v25.9.0 +- Node v26.0.0 - PNPM 10.30.3 ## 2. JEST install for Unit Test diff --git a/javascript/package.json b/javascript/package.json index d275606..7f0ea2f 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -18,7 +18,7 @@ "homepage": "https://github.com/hayat01sh1da/coding-tests/javascript#readme", "devDependencies": { "@babel/core": "^7.29.0", - "@babel/preset-env": "^7.29.3", + "@babel/preset-env": "^7.29.5", "babel-jest": "^30.3.0", "jest": "^30.3.0" } diff --git a/javascript/pnpm-lock.yaml b/javascript/pnpm-lock.yaml index f0d0d54..88d86c4 100644 --- a/javascript/pnpm-lock.yaml +++ b/javascript/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: ^7.29.0 version: 7.29.0 '@babel/preset-env': - specifier: ^7.29.3 - version: 7.29.3(@babel/core@7.29.0) + specifier: ^7.29.5 + version: 7.29.5(@babel/core@7.29.0) babel-jest: specifier: ^30.3.0 version: 30.3.0(@babel/core@7.29.0) @@ -426,8 +426,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.29.0': - resolution: {integrity: sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==} + '@babel/plugin-transform-modules-systemjs@7.29.4': + resolution: {integrity: sha512-N7QmZ0xRZfjHOfZeQLJjwgX2zS9pdGHSVl/cjSGlo4dXMqvurfxXDMKY4RqEKzPozV78VMcd0lxyG13mlbKc4w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -582,8 +582,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.29.3': - resolution: {integrity: sha512-ySZypNLAIH1ClygLDQzVMoGQRViATnkHkYYV6TcNDz+8+jwZCdsguGvsb3EY5d9wyWyhmF1iSuFM0Yh5XPnqSA==} + '@babel/preset-env@7.29.5': + resolution: {integrity: sha512-/69t2aEzGKHD76DyLbHysF/QH2LJOB8iFnYO37unDTKBTubzcMRv0f3H5EiN1Q6ajOd/eB7dAInF0qdFVS06kA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -744,11 +744,11 @@ packages: '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - '@sinonjs/fake-timers@15.3.2': - resolution: {integrity: sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==} + '@sinonjs/fake-timers@15.4.0': + resolution: {integrity: sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==} - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + '@tybys/wasm-util@0.10.2': + resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -783,8 +783,8 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + '@ungap/structured-clone@1.3.1': + resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} '@unrs/resolver-binding-android-arm-eabi@1.11.1': resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} @@ -963,8 +963,8 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - baseline-browser-mapping@2.10.25: - resolution: {integrity: sha512-QO/VHsXCQdnzADMfmkeOPvHdIAkoB7i0/rGjINPJEetLx75hNttVWGQ/jycHUDP9zZ9rupbm60WRxcwViB0MiA==} + baseline-browser-mapping@2.10.27: + resolution: {integrity: sha512-zEs/ufmZoUd7WftKpKyXaT6RFxpQ5Qm9xytKRHvJfxFV9DFJkZph9RvJ1LcOUi0Z1ZVijMte65JbILeV+8QQEA==} engines: {node: '>=6.0.0'} hasBin: true @@ -997,8 +997,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001791: - resolution: {integrity: sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==} + caniuse-lite@1.0.30001792: + resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1074,8 +1074,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.349: - resolution: {integrity: sha512-QsWVGyRuY07Aqb234QytTfwd5d9AJlfNIQ5wIOl1L+PZDzI9d9+Fn0FRale/QYlFxt/bUnB0/nLd1jFPGxGK1A==} + electron-to-chromium@1.5.351: + resolution: {integrity: sha512-9D7Iqx8RImSvCnOsj86rCH6eQjZFQoM04Jn6HnZVM0Nu/G58/gmKYQ1d12MZTbjQbQSTGI8nwEy07ErsA2slLA==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -1210,8 +1210,8 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} is-fullwidth-code-point@3.0.0: @@ -2236,7 +2236,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.29.0(@babel/core@7.29.0)': + '@babel/plugin-transform-modules-systemjs@7.29.4(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) @@ -2401,7 +2401,7 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/preset-env@7.29.3(@babel/core@7.29.0)': + '@babel/preset-env@7.29.5(@babel/core@7.29.0)': dependencies: '@babel/compat-data': 7.29.3 '@babel/core': 7.29.0 @@ -2443,7 +2443,7 @@ snapshots: '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.29.0) '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.29.0) '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-modules-systemjs': 7.29.4(@babel/core@7.29.0) '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.29.0) '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.29.0) @@ -2612,7 +2612,7 @@ snapshots: '@jest/fake-timers@30.3.0': dependencies: '@jest/types': 30.3.0 - '@sinonjs/fake-timers': 15.3.2 + '@sinonjs/fake-timers': 15.4.0 '@types/node': 25.6.0 jest-message-util: 30.3.0 jest-mock: 30.3.0 @@ -2745,7 +2745,7 @@ snapshots: dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.1 + '@tybys/wasm-util': 0.10.2 optional: true '@pkgjs/parseargs@0.11.0': @@ -2759,11 +2759,11 @@ snapshots: dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@15.3.2': + '@sinonjs/fake-timers@15.4.0': dependencies: '@sinonjs/commons': 3.0.1 - '@tybys/wasm-util@0.10.1': + '@tybys/wasm-util@0.10.2': dependencies: tslib: 2.8.1 optional: true @@ -2811,7 +2811,7 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@ungap/structured-clone@1.3.0': {} + '@ungap/structured-clone@1.3.1': {} '@unrs/resolver-binding-android-arm-eabi@1.11.1': optional: true @@ -2975,7 +2975,7 @@ snapshots: balanced-match@1.0.2: {} - baseline-browser-mapping@2.10.25: {} + baseline-browser-mapping@2.10.27: {} brace-expansion@1.1.14: dependencies: @@ -2988,9 +2988,9 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.25 - caniuse-lite: 1.0.30001791 - electron-to-chromium: 1.5.349 + baseline-browser-mapping: 2.10.27 + caniuse-lite: 1.0.30001792 + electron-to-chromium: 1.5.351 node-releases: 2.0.38 update-browserslist-db: 1.2.3(browserslist@4.28.2) @@ -3006,7 +3006,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001791: {} + caniuse-lite@1.0.30001792: {} chalk@4.1.2: dependencies: @@ -3061,7 +3061,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.349: {} + electron-to-chromium@1.5.351: {} emittery@0.13.1: {} @@ -3183,7 +3183,7 @@ snapshots: is-arrayish@0.2.1: {} - is-core-module@2.16.1: + is-core-module@2.16.2: dependencies: hasown: 2.0.3 @@ -3524,7 +3524,7 @@ snapshots: jest-worker@30.3.0: dependencies: '@types/node': 25.6.0 - '@ungap/structured-clone': 1.3.0 + '@ungap/structured-clone': 1.3.1 jest-util: 30.3.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -3707,7 +3707,7 @@ snapshots: resolve@1.22.12: dependencies: es-errors: 1.3.0 - is-core-module: 2.16.1 + is-core-module: 2.16.2 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 diff --git a/javascript/pnpm-workspace.yaml b/javascript/pnpm-workspace.yaml index fbda7ed..b2a1b32 100644 --- a/javascript/pnpm-workspace.yaml +++ b/javascript/pnpm-workspace.yaml @@ -1,5 +1,8 @@ packages: - . +allowBuilds: + unrs-resolver: set this to true or false + ignoredBuiltDependencies: - core-js