@rindo/core 4.18.2 → 4.18.3

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.
Files changed (40) hide show
  1. package/cli/index.cjs +27 -12
  2. package/cli/index.js +27 -12
  3. package/cli/package.json +1 -1
  4. package/compiler/package.json +1 -1
  5. package/compiler/rindo.js +828 -662
  6. package/dev-server/client/index.js +1 -1
  7. package/dev-server/client/package.json +1 -1
  8. package/dev-server/connector.html +2 -2
  9. package/dev-server/index.js +1 -1
  10. package/dev-server/package.json +1 -1
  11. package/dev-server/server-process.js +52 -40
  12. package/internal/app-data/package.json +1 -1
  13. package/internal/client/index.js +34 -16
  14. package/internal/client/package.json +1 -1
  15. package/internal/client/patch-browser.js +1 -1
  16. package/internal/hydrate/index.js +32 -16
  17. package/internal/hydrate/package.json +1 -1
  18. package/internal/hydrate/runner.js +66 -58
  19. package/internal/package.json +1 -1
  20. package/internal/rindo-private.d.ts +3 -3
  21. package/internal/rindo-public-compiler.d.ts +3 -3
  22. package/internal/testing/index.js +31 -15
  23. package/internal/testing/package.json +1 -1
  24. package/mock-doc/index.cjs +66 -58
  25. package/mock-doc/index.d.ts +36 -30
  26. package/mock-doc/index.js +66 -58
  27. package/mock-doc/package.json +1 -1
  28. package/package.json +14 -17
  29. package/screenshot/index.js +1 -1
  30. package/screenshot/package.json +1 -1
  31. package/screenshot/pixel-match.js +4 -1
  32. package/sys/node/autoprefixer.js +2 -2
  33. package/sys/node/glob.js +1 -1
  34. package/sys/node/index.js +2 -2
  35. package/sys/node/node-fetch.js +10 -2
  36. package/sys/node/package.json +1 -1
  37. package/sys/node/worker.js +1 -1
  38. package/testing/index.js +6 -3
  39. package/testing/mock-fetch.d.ts +4 -4
  40. package/testing/package.json +1 -1
@@ -312,38 +312,44 @@ declare class MockTitleElement extends MockHTMLElement {
312
312
  declare class MockUListElement extends MockHTMLElement {
313
313
  constructor(ownerDocument: any);
314
314
  }
315
+ type CanvasContext = '2d' | 'webgl' | 'webgl2' | 'bitmaprenderer';
316
+ declare class CanvasRenderingContext {
317
+ context: CanvasContext;
318
+ contextAttributes: WebGLContextAttributes;
319
+ constructor(context: CanvasContext, contextAttributes?: WebGLContextAttributes);
320
+ fillRect(): void;
321
+ clearRect(): void;
322
+ getImageData(_: number, __: number, w: number, h: number): {
323
+ data: any[];
324
+ };
325
+ toDataURL(): string;
326
+ putImageData(): void;
327
+ createImageData(): ImageData;
328
+ setTransform(): void;
329
+ drawImage(): void;
330
+ save(): void;
331
+ fillText(): void;
332
+ restore(): void;
333
+ beginPath(): void;
334
+ moveTo(): void;
335
+ lineTo(): void;
336
+ closePath(): void;
337
+ stroke(): void;
338
+ translate(): void;
339
+ scale(): void;
340
+ rotate(): void;
341
+ arc(): void;
342
+ fill(): void;
343
+ measureText(): {
344
+ width: number;
345
+ };
346
+ transform(): void;
347
+ rect(): void;
348
+ clip(): void;
349
+ }
315
350
  declare class MockCanvasElement extends MockHTMLElement {
316
351
  constructor(ownerDocument: any);
317
- getContext(): {
318
- fillRect(): void;
319
- clearRect(): void;
320
- getImageData: (_: number, __: number, w: number, h: number) => {
321
- data: any[];
322
- };
323
- putImageData(): void;
324
- createImageData: () => any[];
325
- setTransform(): void;
326
- drawImage(): void;
327
- save(): void;
328
- fillText(): void;
329
- restore(): void;
330
- beginPath(): void;
331
- moveTo(): void;
332
- lineTo(): void;
333
- closePath(): void;
334
- stroke(): void;
335
- translate(): void;
336
- scale(): void;
337
- rotate(): void;
338
- arc(): void;
339
- fill(): void;
340
- measureText(): {
341
- width: number;
342
- };
343
- transform(): void;
344
- rect(): void;
345
- clip(): void;
346
- };
352
+ getContext(context: CanvasContext, contextAttributes?: WebGLContextAttributes): CanvasRenderingContext;
347
353
  }
348
354
  declare class MockEvent {
349
355
  bubbles: boolean;
package/mock-doc/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Rindo Mock Doc v4.18.2 | MIT Licensed | https://rindojs.web.app
2
+ Rindo Mock Doc v4.18.3 | MIT Licensed | https://rindojs.web.app
3
3
  */
4
4
 
5
5
  // src/runtime/runtime-constants.ts
@@ -8149,67 +8149,75 @@ var MockUListElement = class extends MockHTMLElement {
8149
8149
  super(ownerDocument, "ul");
8150
8150
  }
8151
8151
  };
8152
+ var CanvasRenderingContext = class {
8153
+ constructor(context, contextAttributes) {
8154
+ this.context = context;
8155
+ this.contextAttributes = contextAttributes;
8156
+ }
8157
+ fillRect() {
8158
+ return;
8159
+ }
8160
+ clearRect() {
8161
+ }
8162
+ getImageData(_, __, w, h) {
8163
+ return {
8164
+ data: new Array(w * h * 4)
8165
+ };
8166
+ }
8167
+ toDataURL() {
8168
+ return "data:,";
8169
+ }
8170
+ putImageData() {
8171
+ }
8172
+ createImageData() {
8173
+ return {};
8174
+ }
8175
+ setTransform() {
8176
+ }
8177
+ drawImage() {
8178
+ }
8179
+ save() {
8180
+ }
8181
+ fillText() {
8182
+ }
8183
+ restore() {
8184
+ }
8185
+ beginPath() {
8186
+ }
8187
+ moveTo() {
8188
+ }
8189
+ lineTo() {
8190
+ }
8191
+ closePath() {
8192
+ }
8193
+ stroke() {
8194
+ }
8195
+ translate() {
8196
+ }
8197
+ scale() {
8198
+ }
8199
+ rotate() {
8200
+ }
8201
+ arc() {
8202
+ }
8203
+ fill() {
8204
+ }
8205
+ measureText() {
8206
+ return { width: 0 };
8207
+ }
8208
+ transform() {
8209
+ }
8210
+ rect() {
8211
+ }
8212
+ clip() {
8213
+ }
8214
+ };
8152
8215
  var MockCanvasElement = class extends MockHTMLElement {
8153
8216
  constructor(ownerDocument) {
8154
8217
  super(ownerDocument, "canvas");
8155
8218
  }
8156
- getContext() {
8157
- return {
8158
- fillRect() {
8159
- return;
8160
- },
8161
- clearRect() {
8162
- },
8163
- getImageData: function(_, __, w, h) {
8164
- return {
8165
- data: new Array(w * h * 4)
8166
- };
8167
- },
8168
- putImageData() {
8169
- },
8170
- createImageData: function() {
8171
- return [];
8172
- },
8173
- setTransform() {
8174
- },
8175
- drawImage() {
8176
- },
8177
- save() {
8178
- },
8179
- fillText() {
8180
- },
8181
- restore() {
8182
- },
8183
- beginPath() {
8184
- },
8185
- moveTo() {
8186
- },
8187
- lineTo() {
8188
- },
8189
- closePath() {
8190
- },
8191
- stroke() {
8192
- },
8193
- translate() {
8194
- },
8195
- scale() {
8196
- },
8197
- rotate() {
8198
- },
8199
- arc() {
8200
- },
8201
- fill() {
8202
- },
8203
- measureText() {
8204
- return { width: 0 };
8205
- },
8206
- transform() {
8207
- },
8208
- rect() {
8209
- },
8210
- clip() {
8211
- }
8212
- };
8219
+ getContext(context, contextAttributes) {
8220
+ return new CanvasRenderingContext(context, contextAttributes);
8213
8221
  }
8214
8222
  };
8215
8223
  function fullUrl(elm, attrName) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rindo/core/mock-doc",
3
- "version": "4.18.2",
3
+ "version": "4.18.3",
4
4
  "description": "Mock window, document and DOM outside of a browser environment.",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rindo/core",
3
- "version": "4.18.2",
3
+ "version": "4.18.3",
4
4
  "license": "MIT",
5
5
  "main": "./internal/rindo-core/index.cjs",
6
6
  "module": "./internal/rindo-core/index.js",
@@ -23,25 +23,23 @@
23
23
  "testing/"
24
24
  ],
25
25
  "scripts": {
26
- "build": "npm run clean && npm run tsc.scripts && npm run tsc.prod && node scripts/build --prod --ci",
26
+ "build": "npm run clean && npm run tsc.prod && npm run ts scripts/index.ts -- --prod --ci",
27
27
  "build.watch": "npm run build -- --watch",
28
- "build.updateSelectorEngine": "node scripts/build/updateSelectorEngine.js",
29
- "clean": "rm -rf build/ cli/ compiler/ dev-server/ internal/ mock-doc/ sys/ testing/ && npm run clean.scripts && npm run clean.screenshots",
30
- "clean.scripts": "rm -rf scripts/build",
28
+ "build.updateSelectorEngine": "npm run ts scripts/updateSelectorEngine.ts",
29
+ "clean": "rm -rf build/ cli/ compiler/ dev-server/ internal/ mock-doc/ sys/ testing/ && npm run clean:scripts && npm run clean.screenshots",
31
30
  "clean.screenshots": "rm -rf test/end-to-end/screenshot/builds test/end-to-end/screenshot/images",
31
+ "clean:scripts": "rm -rf scripts/build",
32
32
  "lint": "eslint \"bin/*\" \"scripts/*.ts\" \"scripts/**/*.ts\" \"src/*.ts\" \"src/**/*.ts\" \"src/**/*.tsx\"",
33
33
  "install.jest": "bash ./src/testing/jest/install-dependencies.sh",
34
34
  "prettier": "npm run prettier.base -- --write",
35
35
  "prettier.base": "prettier --cache \"./({bin,scripts,src,test}/**/*.{ts,tsx,js,jsx})|bin/rindo|.github/(**/)?*.(yml|yaml)|*.js\"",
36
36
  "prettier.dry-run": "npm run prettier.base -- --list-different",
37
- "release.ci.prepare": "npm run tsc.scripts && node scripts/build --release --ci-prepare",
38
- "release.ci": "npm run tsc.scripts && NODE_OPTIONS=--max-old-space-size=4096 node scripts/build --release --ci-publish",
39
- "rollup.prod.ci": "rollup --config --config-prod --config-ci",
40
- "rollup.watch": "rollup --watch --config",
37
+ "release.ci.prepare": "npm run ts scripts/index.ts -- --release --ci-prepare",
38
+ "release.ci": "NODE_OPTIONS=--max-old-space-size=4096 npm run ts scripts/index.ts -- --release --ci-publish",
41
39
  "test": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --coverage",
42
40
  "test.analysis": "cd test && npm run analysis.build-and-analyze",
43
41
  "test.bundlers": "cd test && npm run bundlers",
44
- "test.dist": "node scripts/build --validate-build",
42
+ "test.dist": "npm run ts scripts/index.ts -- --validate-build",
45
43
  "test.end-to-end": "cd test/end-to-end && npm ci && npm test && npm run test.dist",
46
44
  "test.jest": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js",
47
45
  "test.prod": "npm run test.dist && npm run test.end-to-end && npm run test.jest && npm run test.testing && npm run test.analysis",
@@ -49,10 +47,8 @@
49
47
  "test.docs-build": "cd test && npm run build.docs-json && npm run build.docs-readme",
50
48
  "test.watch": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --watch",
51
49
  "test.watch-all": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --watchAll --coverage",
52
- "tsc": "tsc --incremental",
53
50
  "tsc.prod": "tsc",
54
- "tsc.scripts": "tsc --build --force scripts/tsconfig.json",
55
- "tsc.watch": "tsc --incremental --watch"
51
+ "ts": "tsc --noEmit --project scripts/tsconfig.json && tsx"
56
52
  },
57
53
  "devDependencies": {
58
54
  "@familyjs/prettier-config": "^4.0.0",
@@ -79,7 +75,7 @@
79
75
  "@yarnpkg/lockfile": "^1.1.0",
80
76
  "ansi-colors": "4.1.3",
81
77
  "autoprefixer": "10.4.19",
82
- "conventional-changelog-cli": "^4.0.0",
78
+ "conventional-changelog-cli": "^5.0.0",
83
79
  "dts-bundle-generator": "~9.5.0",
84
80
  "esbuild": "^0.21.0",
85
81
  "esbuild-plugin-replace": "^1.4.0",
@@ -91,7 +87,7 @@
91
87
  "execa": "8.0.1",
92
88
  "exit": "^0.1.2",
93
89
  "fs-extra": "^11.0.0",
94
- "glob": "10.3.15",
90
+ "glob": "10.4.1",
95
91
  "graceful-fs": "~4.2.6",
96
92
  "jest": "^27.4.5",
97
93
  "jest-cli": "^27.4.5",
@@ -114,6 +110,7 @@
114
110
  "rollup": "2.56.3",
115
111
  "semver": "^7.3.7",
116
112
  "terser": "5.31.0",
113
+ "tsx": "^4.10.3",
117
114
  "typescript": "~5.4.0",
118
115
  "webpack": "^5.75.0",
119
116
  "ws": "8.17.0"
@@ -141,7 +138,7 @@
141
138
  ],
142
139
  "prettier": "@familyjs/prettier-config",
143
140
  "volta": {
144
- "node": "22.1.0",
145
- "npm": "10.7.0"
141
+ "node": "22.2.0",
142
+ "npm": "10.8.0"
146
143
  }
147
144
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- Rindo Screenshot v4.18.2 | MIT Licensed | https://rindojs.web.app
2
+ Rindo Screenshot v4.18.3 | MIT Licensed | https://rindojs.web.app
3
3
  */
4
4
  "use strict";
5
5
  var __create = Object.create;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rindo/core/screenshot",
3
- "version": "4.18.2",
3
+ "version": "4.18.3",
4
4
  "description": "Rindo Screenshot.",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -1,5 +1,5 @@
1
1
  /*
2
- Rindo Screenshot Pixel Match v4.18.2 | MIT Licensed | https://rindojs.web.app
2
+ Rindo Screenshot Pixel Match v4.18.3 | MIT Licensed | https://rindojs.web.app
3
3
  */
4
4
  "use strict";
5
5
  var __create = Object.create;
@@ -2306,6 +2306,9 @@ function getMismatchedPixels(pixelMatchInput) {
2306
2306
  threshold: pixelMatchInput.pixelmatchThreshold,
2307
2307
  includeAA: false
2308
2308
  });
2309
+ if (typeof process.send !== "function") {
2310
+ throw new Error("`getMismatchedPixels` must be run in a child process.");
2311
+ }
2309
2312
  process.send(mismatchedPixels);
2310
2313
  }
2311
2314
  }