@farm.js/create-app 0.1.6 → 0.1.8
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.
- package/package.json +1 -1
- package/templates/_renderers/preact/package.json +3 -3
- package/templates/_renderers/solid/package.json +3 -3
- package/templates/_renderers/svelte/package.json +3 -3
- package/templates/_renderers/vue/package.json +3 -3
- package/templates/auth/gitignore +1 -0
- package/templates/auth/package.json +4 -4
- package/templates/basic/gitignore +1 -0
- package/templates/basic/package.json +3 -3
- package/templates/better-auth/gitignore +1 -0
- package/templates/better-auth/package.json +4 -4
- package/templates/react-compiler/README.md +9 -7
- package/templates/react-compiler/farm.config.ts +1 -3
- package/templates/react-compiler/gitignore +1 -0
- package/templates/react-compiler/package.json +4 -4
- package/templates/react-compiler/scripts/verify-experiment.mjs +5 -2
- package/templates/react-compiler/src/app/page.tsx +1 -1
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"type-check": "tsc --noEmit"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@farm.js/core": "0.1.
|
|
14
|
+
"@farm.js/core": "0.1.8",
|
|
15
15
|
"@farm.js/preact": "0.1.0-beta.33",
|
|
16
16
|
"@fontsource-variable/geist": "5.3.0",
|
|
17
17
|
"@fontsource-variable/geist-mono": "5.3.0",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"zod": "4.1.12"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@farm.js/cli": "0.1.
|
|
23
|
-
"@farm.js/devtools": "0.1.
|
|
22
|
+
"@farm.js/cli": "0.1.8",
|
|
23
|
+
"@farm.js/devtools": "0.1.8",
|
|
24
24
|
"tailwindcss": "^4.0.0",
|
|
25
25
|
"typescript": "^5.3.3"
|
|
26
26
|
},
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"type-check": "tsc --noEmit"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@farm.js/core": "0.1.
|
|
13
|
+
"@farm.js/core": "0.1.8",
|
|
14
14
|
"@farm.js/solid": "0.1.0-beta.30",
|
|
15
15
|
"@fontsource-variable/geist": "5.3.0",
|
|
16
16
|
"@fontsource-variable/geist-mono": "5.3.0",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"zod": "4.1.12"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@farm.js/cli": "0.1.
|
|
22
|
-
"@farm.js/devtools": "0.1.
|
|
21
|
+
"@farm.js/cli": "0.1.8",
|
|
22
|
+
"@farm.js/devtools": "0.1.8",
|
|
23
23
|
"tailwindcss": "^4.0.0",
|
|
24
24
|
"typescript": "^5.3.3"
|
|
25
25
|
},
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"type-check": "svelte-check --tsconfig ./tsconfig.json"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@farm.js/core": "0.1.
|
|
14
|
+
"@farm.js/core": "0.1.8",
|
|
15
15
|
"@farm.js/svelte": "0.1.0-beta.33",
|
|
16
16
|
"@fontsource-variable/geist": "5.3.0",
|
|
17
17
|
"@fontsource-variable/geist-mono": "5.3.0",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"zod": "4.1.12"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@farm.js/cli": "0.1.
|
|
23
|
-
"@farm.js/devtools": "0.1.
|
|
22
|
+
"@farm.js/cli": "0.1.8",
|
|
23
|
+
"@farm.js/devtools": "0.1.8",
|
|
24
24
|
"svelte-check": "4.7.5",
|
|
25
25
|
"tailwindcss": "^4.0.0",
|
|
26
26
|
"typescript": "^5.3.3"
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"type-check": "vue-tsc --noEmit"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@farm.js/core": "0.1.
|
|
13
|
+
"@farm.js/core": "0.1.8",
|
|
14
14
|
"@farm.js/vue": "0.1.0-beta.29",
|
|
15
15
|
"@fontsource-variable/geist": "5.3.0",
|
|
16
16
|
"@fontsource-variable/geist-mono": "5.3.0",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"zod": "4.1.12"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@farm.js/cli": "0.1.
|
|
22
|
-
"@farm.js/devtools": "0.1.
|
|
21
|
+
"@farm.js/cli": "0.1.8",
|
|
22
|
+
"@farm.js/devtools": "0.1.8",
|
|
23
23
|
"tailwindcss": "^4.0.0",
|
|
24
24
|
"typescript": "^5.3.3",
|
|
25
25
|
"vue-tsc": "3.3.9"
|
package/templates/auth/gitignore
CHANGED
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"type-check": "tsc --noEmit"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@farm.js/auth": "0.1.
|
|
16
|
-
"@farm.js/core": "0.1.
|
|
15
|
+
"@farm.js/auth": "0.1.8",
|
|
16
|
+
"@farm.js/core": "0.1.8",
|
|
17
17
|
"@farming-labs/docs": "0.2.118",
|
|
18
18
|
"@farming-labs/farmjs": "0.2.118",
|
|
19
19
|
"@farming-labs/theme": "0.2.118",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"react-dom": "^19.0.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@farm.js/cli": "0.1.
|
|
28
|
-
"@farm.js/devtools": "0.1.
|
|
27
|
+
"@farm.js/cli": "0.1.8",
|
|
28
|
+
"@farm.js/devtools": "0.1.8",
|
|
29
29
|
"@types/node": "22.20.1",
|
|
30
30
|
"@types/react": "^19.0.0",
|
|
31
31
|
"@types/react-dom": "^19.0.0",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"type-check": "tsc --noEmit"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@farm.js/core": "0.1.
|
|
13
|
+
"@farm.js/core": "0.1.8",
|
|
14
14
|
"@farming-labs/docs": "0.2.118",
|
|
15
15
|
"@farming-labs/farmjs": "0.2.118",
|
|
16
16
|
"@farming-labs/theme": "0.2.118",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"react-dom": "^19.0.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@farm.js/cli": "0.1.
|
|
24
|
-
"@farm.js/devtools": "0.1.
|
|
23
|
+
"@farm.js/cli": "0.1.8",
|
|
24
|
+
"@farm.js/devtools": "0.1.8",
|
|
25
25
|
"@types/react": "^19.0.0",
|
|
26
26
|
"@types/react-dom": "^19.0.0",
|
|
27
27
|
"tailwindcss": "^4.0.0",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"type-check": "tsc --noEmit"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@farm.js/better-auth": "0.1.
|
|
16
|
-
"@farm.js/core": "0.1.
|
|
15
|
+
"@farm.js/better-auth": "0.1.8",
|
|
16
|
+
"@farm.js/core": "0.1.8",
|
|
17
17
|
"@farming-labs/docs": "0.2.118",
|
|
18
18
|
"@farming-labs/farmjs": "0.2.118",
|
|
19
19
|
"@farming-labs/theme": "0.2.118",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"react-dom": "^19.0.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@farm.js/cli": "0.1.
|
|
30
|
-
"@farm.js/devtools": "0.1.
|
|
29
|
+
"@farm.js/cli": "0.1.8",
|
|
30
|
+
"@farm.js/devtools": "0.1.8",
|
|
31
31
|
"@types/node": "22.20.1",
|
|
32
32
|
"@types/pg": "8.20.0",
|
|
33
33
|
"@types/react": "^19.0.0",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# FARMJS React Compiler Starter
|
|
2
2
|
|
|
3
|
-
A focused
|
|
3
|
+
A focused starter for FARMJS's experimental React AOT compiler. It uses the same minimal dark shell
|
|
4
4
|
as the other Create FARMJS App starters and includes one live comparison: an eligible local state
|
|
5
5
|
update beside ordinary React reconciliation.
|
|
6
6
|
|
|
7
|
-
> The compiler is experimental. Unsupported component shapes stay on React, so the
|
|
8
|
-
> never required for correctness.
|
|
7
|
+
> The compiler is experimental and opt-in. Unsupported component shapes stay on React, so the
|
|
8
|
+
> optimization is never required for correctness.
|
|
9
9
|
|
|
10
10
|
## Create this starter
|
|
11
11
|
|
|
@@ -24,9 +24,7 @@ The starter enables the compiler through the React renderer:
|
|
|
24
24
|
|
|
25
25
|
```ts
|
|
26
26
|
renderer: react({
|
|
27
|
-
|
|
28
|
-
compiler: true,
|
|
29
|
-
},
|
|
27
|
+
compiler: true,
|
|
30
28
|
}),
|
|
31
29
|
```
|
|
32
30
|
|
|
@@ -54,9 +52,13 @@ The command builds the app, opens the production output in Chromium, checks both
|
|
|
54
52
|
that the compiled update does not execute the component again, and saves a screenshot to
|
|
55
53
|
`/tmp/farm-react-compiler-starter.png`.
|
|
56
54
|
|
|
55
|
+
Set `FARM_REACT_COMPILER=false` when running `pnpm experiment` to verify the ordinary React path
|
|
56
|
+
too. `FARM_EXPERIMENT_BROWSER_PATH` can point to an existing Chrome/Chromium executable instead of
|
|
57
|
+
Playwright's downloaded browser. `FARM_EXPERIMENT_SCREENSHOT` overrides the screenshot location.
|
|
58
|
+
|
|
57
59
|
For batching, multiple bindings, safe keyed-list fallback, and the full compiler-on/off benchmark,
|
|
58
60
|
see the maintained
|
|
59
61
|
[React Compiler example](https://github.com/farming-labs/farm.js/tree/main/examples/react-compiler).
|
|
60
62
|
|
|
61
|
-
Read the [React compiler guide](https://farmjs.dev/docs/renderers/react#
|
|
63
|
+
Read the [React compiler guide](https://farmjs.dev/docs/renderers/react#aot-compiler)
|
|
62
64
|
for the supported component contract and rollout guidance.
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"type-check": "tsc --noEmit"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@farm.js/core": "0.1.
|
|
15
|
-
"@farm.js/react": "0.1.0-beta.
|
|
14
|
+
"@farm.js/core": "0.1.8",
|
|
15
|
+
"@farm.js/react": "0.1.0-beta.23",
|
|
16
16
|
"@farming-labs/docs": "0.2.118",
|
|
17
17
|
"@farming-labs/farmjs": "0.2.118",
|
|
18
18
|
"@farming-labs/theme": "0.2.118",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"react-dom": "19.2.8"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@farm.js/cli": "0.1.
|
|
26
|
-
"@farm.js/devtools": "0.1.
|
|
25
|
+
"@farm.js/cli": "0.1.8",
|
|
26
|
+
"@farm.js/devtools": "0.1.8",
|
|
27
27
|
"@playwright/test": "^1.52.0",
|
|
28
28
|
"@types/react": "^19.0.0",
|
|
29
29
|
"@types/react-dom": "^19.0.0",
|
|
@@ -55,7 +55,10 @@ async function readNumber(page, selector) {
|
|
|
55
55
|
let browser;
|
|
56
56
|
try {
|
|
57
57
|
await waitForServer();
|
|
58
|
-
browser = await chromium.launch({
|
|
58
|
+
browser = await chromium.launch({
|
|
59
|
+
headless: true,
|
|
60
|
+
executablePath: process.env.FARM_EXPERIMENT_BROWSER_PATH || undefined,
|
|
61
|
+
});
|
|
59
62
|
const page = await browser.newPage({ viewport: { width: 1280, height: 900 } });
|
|
60
63
|
const browserErrors = [];
|
|
61
64
|
|
|
@@ -68,7 +71,7 @@ try {
|
|
|
68
71
|
await page.getByRole("heading", { name: /compiler handles the rest/i }).waitFor();
|
|
69
72
|
assert.equal(
|
|
70
73
|
(await page.locator("[data-compiler-status]").textContent())?.trim(),
|
|
71
|
-
`
|
|
74
|
+
`compiler: ${String(compilerEnabled)}`,
|
|
72
75
|
);
|
|
73
76
|
|
|
74
77
|
const executions = {};
|
|
@@ -33,7 +33,7 @@ export default function HomePage() {
|
|
|
33
33
|
<span>02</span>
|
|
34
34
|
<div className="compiler-status">
|
|
35
35
|
<span className="status-dot" data-enabled={compilerMode} aria-hidden="true" />
|
|
36
|
-
<code data-compiler-status>
|
|
36
|
+
<code data-compiler-status>compiler: {compilerMode}</code>
|
|
37
37
|
</div>
|
|
38
38
|
</div>
|
|
39
39
|
</div>
|