Skip to content

Commit ee0cbe3

Browse files
authored
Release 14.0.0 (#160)
## What's Changed * feat: Node 24, React 19.2 compatibility, ... by @puehringer in #158 **Full Changelog**: v13.2.3...v14.0.0
2 parents c8ce912 + 2f7af5f commit ee0cbe3

File tree

13 files changed

+5993
-5121
lines changed

13 files changed

+5993
-5121
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/* eslint-disable */
2+
//prettier-ignore
3+
module.exports = {
4+
name: "@yarnpkg/plugin-engines",
5+
factory: function (require) {
6+
var plugin=(()=>{var m=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var s=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')});var k=(o,r)=>{for(var t in r)m(o,t,{get:r[t],enumerable:!0})},j=(o,r,t,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of N(r))!P.call(o,n)&&n!==t&&m(o,n,{get:()=>r[n],enumerable:!(e=C(r,n))||e.enumerable});return o};var V=o=>j(m({},"__esModule",{value:!0}),o);var T={};k(T,{default:()=>S});var i=s("@yarnpkg/core");var p=class{constructor(r){this.throwWrongEngineError=(r,t)=>{let e=this.formatErrorMessage(r,t);this.throwError(e)};this.throwError=r=>{switch(this.errorReporter){case"Yarn":this.reportYarnError(r);break;case"Console":default:this.reportConsoleError(r);break}};this.reportYarnError=r=>{throw new i.ReportError(i.MessageName.UNNAMED,r)};this.reportConsoleError=r=>{console.error(r),process.exit(1)};this.formatErrorMessage=(r,t)=>{let{configuration:e}=this.project,n=i.formatUtils.applyStyle(e,i.formatUtils.pretty(e,this.engine,"green"),2),c=i.formatUtils.pretty(e,r,"cyan"),g=i.formatUtils.pretty(e,t,"cyan"),l=`The current ${n} version ${c} does not satisfy the required version ${g}.`;return i.formatUtils.pretty(e,l,"red")};this.project=r.project,this.errorReporter=r.errorReporter}};var f=s("fs"),v=s("path"),h=s("semver"),y=s("@yarnpkg/fslib"),a=s("@yarnpkg/core");var Y=".nvmrc",b=".node-version",d=class extends p{constructor(){super(...arguments);this.resolveNodeFromFileRequiredVersion=t=>{let{configuration:e,cwd:n}=this.project,c=(0,v.resolve)(y.npath.fromPortablePath(n),t),g=a.formatUtils.applyStyle(e,a.formatUtils.pretty(e,this.engine,"green"),2);if(!(0,f.existsSync)(c)){this.throwError(a.formatUtils.pretty(e,`Unable to verify the ${g} version. The ${t} file does not exist.`,"red"));return}let l=(0,f.readFileSync)(c,"utf-8").trim();if((0,h.validRange)(l))return l;let w=a.formatUtils.pretty(e,t,"yellow");this.throwError(a.formatUtils.pretty(e,`Unable to verify the ${g} version. The ${w} file contains an invalid semver range.`,"red"))}}get engine(){return"Node"}verifyEngine(t){let e=t.node;e!=null&&([Y,b].forEach(n=>{e===n&&(e=this.resolveNodeFromFileRequiredVersion(n))}),(0,h.satisfies)(process.version,e,{includePrerelease:!0})||this.throwWrongEngineError(process.version.replace(/^v/i,""),e.replace(/^v/i,"")))}};var R=s("semver"),u=s("@yarnpkg/core");var E=class extends p{get engine(){return"Yarn"}verifyEngine(r){let t=r.yarn;t!=null&&((0,R.satisfies)(u.YarnVersion,t,{includePrerelease:!0})||this.throwWrongEngineError(u.YarnVersion,t))}};var x=o=>r=>{if(process.env.PLUGIN_YARN_ENGINES_DISABLE!=null)return;let{engines:t={}}=r.getWorkspaceByCwd(r.cwd).manifest.raw,e={project:r,errorReporter:o};[new d(e),new E(e)].forEach(c=>c.verifyEngine(t))},F={hooks:{validateProject:x("Yarn"),setupScriptEnvironment:x("Console")}},S=F;return V(T);})();
7+
return plugin;
8+
}
9+
};

.yarn/releases/yarn-4.10.3.cjs

Lines changed: 942 additions & 0 deletions
Large diffs are not rendered by default.

.yarn/releases/yarn-4.6.0.cjs

Lines changed: 0 additions & 934 deletions
This file was deleted.

.yarnrc.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
nodeLinker: node-modules
22

3-
yarnPath: .yarn/releases/yarn-4.6.0.cjs
3+
plugins:
4+
- checksum: e5e6e2885ab0e6521b70b0af7c6d8ca2c75dcae2403706fc4600a783b339a6530a476dafb9450c9436ca4050eb6bdee9b62e6e2cebfecf1e81dd709a2480dc07
5+
path: .yarn/plugins/@yarnpkg/plugin-engines.cjs
6+
spec: "https://raw.githubusercontent.com/devoto13/yarn-plugin-engines/main/bundles/%40yarnpkg/plugin-engines.js"
7+
8+
yarnPath: .yarn/releases/yarn-4.10.3.cjs

config/eslintrc.template.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ module.exports = ({ tsconfigRootDir, optimizeImports = true }) => ({
77
'eslint:recommended',
88
'plugin:import/recommended',
99
'plugin:react/recommended',
10+
'plugin:react-hooks/recommended-legacy',
1011
'plugin:@typescript-eslint/recommended',
1112
'plugin:prettier/recommended',
1213
// 'plugin:lodash/recommended',

config/rspack.config.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,6 @@ module.exports = (webpackEnv, argv) => {
252252
exclude: [/node_modules/],
253253
loader: 'builtin:swc-loader',
254254
options: {
255-
sourceMap: true,
256255
jsc: {
257256
parser: {
258257
syntax: 'typescript',
@@ -277,7 +276,6 @@ module.exports = (webpackEnv, argv) => {
277276
test: /\.(ts|tsx)$/,
278277
loader: 'builtin:swc-loader',
279278
options: {
280-
sourceMap: true,
281279
jsc: {
282280
parser: {
283281
syntax: 'typescript',

package.json

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "visyn_scripts",
33
"description": "",
4-
"version": "13.2.3",
4+
"version": "14.0.0",
55
"author": {
66
"name": "datavisyn GmbH",
77
"email": "[email protected]",
@@ -24,6 +24,9 @@
2424
"visyn": "./bin/visyn_scripts.js",
2525
"visyn_scripts": "./bin/visyn_scripts.js"
2626
},
27+
"engines": {
28+
"node": ">=24"
29+
},
2730
"scripts": {
2831
"lint": "eslint bin/**/*.js config/**/*.js tests/**/*.js",
2932
"lint:fix": "eslint --fix bin/**/*.js config/**/*.js tests/**/*.js",
@@ -34,25 +37,25 @@
3437
},
3538
"dependencies": {
3639
"@kesills/eslint-config-airbnb-typescript": "^20.0.0",
37-
"@rsbuild/core": "1.2.0",
38-
"@rsbuild/plugin-node-polyfill": "^1.4.0",
39-
"@rsbuild/plugin-react": "^1.1.0",
40-
"@rsbuild/plugin-sass": "^1.2.0",
41-
"@rsdoctor/cli": "^0.4.13",
42-
"@rsdoctor/rspack-plugin": "^0.4.13",
43-
"@rspack/cli": "~1.2.0",
44-
"@rspack/core": "~1.2.0",
40+
"@rsbuild/core": "1.5.13",
41+
"@rsbuild/plugin-node-polyfill": "^1.4.2",
42+
"@rsbuild/plugin-react": "^1.4.1",
43+
"@rsbuild/plugin-sass": "^1.4.0",
44+
"@rsdoctor/cli": "^1.3.1",
45+
"@rsdoctor/rspack-plugin": "^1.3.1",
46+
"@rspack/cli": "~1.5.8",
47+
"@rspack/core": "~1.5.8",
4548
"@rspack/plugin-minify": "~0.7.5",
46-
"@rspack/plugin-react-refresh": "~1.0.1",
47-
"@stylistic/eslint-plugin": "^2.13.0",
48-
"@swc/core": "~1.10.9",
49-
"@swc/helpers": "~0.5.15",
49+
"@rspack/plugin-react-refresh": "~1.5.1",
50+
"@stylistic/eslint-plugin": "^5.4.0",
51+
"@swc/core": "~1.13.5",
52+
"@swc/helpers": "~0.5.17",
5053
"@swc/jest": "~0.2.37",
5154
"@types/jest": "~27.4.1",
52-
"@types/node": "^20.17.14",
55+
"@types/node": "^24.6.2",
5356
"@typescript-eslint/eslint-plugin": "^8.21.0",
54-
"@typescript-eslint/parser": "~8.21.0",
55-
"dotenv": "^16.4.7",
57+
"@typescript-eslint/parser": "~8.45.0",
58+
"dotenv": "^17.2.3",
5659
"dotenv-expand": "^12.0.1",
5760
"dotenv-webpack": "^8.1.0",
5861
"eslint": "^8.57.1",
@@ -66,11 +69,11 @@
6669
"eslint-plugin-playwright": "^2.1.0",
6770
"eslint-plugin-prettier": "^5.2.3",
6871
"eslint-plugin-react": "^7.37.4",
69-
"eslint-plugin-react-compiler": "0.0.0-experimental-decd7b8-20250118",
70-
"eslint-plugin-react-hooks": "^5.1.0",
72+
"eslint-plugin-react-compiler": "19.1.0-rc.2",
73+
"eslint-plugin-react-hooks": "^6.1.1",
7174
"eslint-plugin-unused-imports": "^4.1.4",
7275
"fs-extra": "^11.3.0",
73-
"glob": "^10.0.0",
76+
"glob": "^11.0.3",
7477
"html-loader": "~5.1.0",
7578
"html-webpack-plugin": "^5.6.3",
7679
"identity-obj-proxy": "^3.0.0",
@@ -84,16 +87,16 @@
8487
"postcss-preset-env": "^10.1.3",
8588
"prettier": "^3.4.2",
8689
"react-dev-utils": "^12.0.1",
87-
"react-refresh": "^0.16.0",
90+
"react-refresh": "^0.18.0",
8891
"resolve-url-loader": "^5.0.0",
8992
"rimraf": "~6.0.1",
9093
"sass-loader": "^16.0.4",
91-
"shx": "~0.3.4",
94+
"shx": "~0.4.0",
9295
"tailwindcss": "^3.4.17",
9396
"ts-checker-rspack-plugin": "^1.1.1",
9497
"ts-node": "^10.9.2",
9598
"tslib": "~2.8.1",
96-
"typescript": "~5.7.3",
99+
"typescript": "~5.9.3",
97100
"util": "^0.12.5",
98101
"webpack": "^5.97.1",
99102
"yargs": "^17.7.2"
@@ -103,18 +106,18 @@
103106
"http-server": "^14.1.1",
104107
"jest-dev-server": "^6.2.0",
105108
"storybook": "^8.5.0",
106-
"storybook-react-rsbuild": "^0.1.8"
109+
"storybook-react-rsbuild": "^1.0.3"
107110
},
108111
"peerDependencies": {
109-
"@types/react": "^18.3.18",
110-
"@types/react-dom": "^18.3.5",
111-
"react": "^18.3.1",
112-
"react-dom": "^18.3.1"
112+
"@types/react": "^18 || ~19.2.0",
113+
"@types/react-dom": "^18 || ~19.2.0",
114+
"react": "^18 || ~19.2.0",
115+
"react-dom": "^18 || ~19.2.0"
113116
},
114117
"jest": {
115118
"testPathIgnorePatterns": [
116119
"/node_modules/|/bin/|/tests_fixtures/"
117120
]
118121
},
119-
"packageManager": "yarn@4.6.0"
122+
"packageManager": "yarn@4.10.3"
120123
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/* eslint-disable */
2+
//prettier-ignore
3+
module.exports = {
4+
name: "@yarnpkg/plugin-engines",
5+
factory: function (require) {
6+
var plugin=(()=>{var m=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var s=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')});var k=(o,r)=>{for(var t in r)m(o,t,{get:r[t],enumerable:!0})},j=(o,r,t,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of N(r))!P.call(o,n)&&n!==t&&m(o,n,{get:()=>r[n],enumerable:!(e=C(r,n))||e.enumerable});return o};var V=o=>j(m({},"__esModule",{value:!0}),o);var T={};k(T,{default:()=>S});var i=s("@yarnpkg/core");var p=class{constructor(r){this.throwWrongEngineError=(r,t)=>{let e=this.formatErrorMessage(r,t);this.throwError(e)};this.throwError=r=>{switch(this.errorReporter){case"Yarn":this.reportYarnError(r);break;case"Console":default:this.reportConsoleError(r);break}};this.reportYarnError=r=>{throw new i.ReportError(i.MessageName.UNNAMED,r)};this.reportConsoleError=r=>{console.error(r),process.exit(1)};this.formatErrorMessage=(r,t)=>{let{configuration:e}=this.project,n=i.formatUtils.applyStyle(e,i.formatUtils.pretty(e,this.engine,"green"),2),c=i.formatUtils.pretty(e,r,"cyan"),g=i.formatUtils.pretty(e,t,"cyan"),l=`The current ${n} version ${c} does not satisfy the required version ${g}.`;return i.formatUtils.pretty(e,l,"red")};this.project=r.project,this.errorReporter=r.errorReporter}};var f=s("fs"),v=s("path"),h=s("semver"),y=s("@yarnpkg/fslib"),a=s("@yarnpkg/core");var Y=".nvmrc",b=".node-version",d=class extends p{constructor(){super(...arguments);this.resolveNodeFromFileRequiredVersion=t=>{let{configuration:e,cwd:n}=this.project,c=(0,v.resolve)(y.npath.fromPortablePath(n),t),g=a.formatUtils.applyStyle(e,a.formatUtils.pretty(e,this.engine,"green"),2);if(!(0,f.existsSync)(c)){this.throwError(a.formatUtils.pretty(e,`Unable to verify the ${g} version. The ${t} file does not exist.`,"red"));return}let l=(0,f.readFileSync)(c,"utf-8").trim();if((0,h.validRange)(l))return l;let w=a.formatUtils.pretty(e,t,"yellow");this.throwError(a.formatUtils.pretty(e,`Unable to verify the ${g} version. The ${w} file contains an invalid semver range.`,"red"))}}get engine(){return"Node"}verifyEngine(t){let e=t.node;e!=null&&([Y,b].forEach(n=>{e===n&&(e=this.resolveNodeFromFileRequiredVersion(n))}),(0,h.satisfies)(process.version,e,{includePrerelease:!0})||this.throwWrongEngineError(process.version.replace(/^v/i,""),e.replace(/^v/i,"")))}};var R=s("semver"),u=s("@yarnpkg/core");var E=class extends p{get engine(){return"Yarn"}verifyEngine(r){let t=r.yarn;t!=null&&((0,R.satisfies)(u.YarnVersion,t,{includePrerelease:!0})||this.throwWrongEngineError(u.YarnVersion,t))}};var x=o=>r=>{if(process.env.PLUGIN_YARN_ENGINES_DISABLE!=null)return;let{engines:t={}}=r.getWorkspaceByCwd(r.cwd).manifest.raw,e={project:r,errorReporter:o};[new d(e),new E(e)].forEach(c=>c.verifyEngine(t))},F={hooks:{validateProject:x("Yarn"),setupScriptEnvironment:x("Console")}},S=F;return V(T);})();
7+
return plugin;
8+
}
9+
};

0 commit comments

Comments
 (0)