create-flow-os 0.0.1-dev.1771622212 → 0.0.1-dev.1771665438
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/README.md +1 -1
- package/config.json +5 -5
- package/dist/index.js +8 -8
- package/flow.config.client.ts +1 -1
- package/package.json +3 -2
- package/packages/core/client/routes/index.tsx +1 -1
- package/packages/router/client/root.tsx +2 -2
- package/profiles/client/Dockerfile +3 -3
- package/profiles/client/bun.lock +19 -19
- package/profiles/client/client/root.tsx +2 -2
- package/profiles/client/client/routes/about.tsx +1 -1
- package/profiles/client/client/routes/index.tsx +1 -1
- package/profiles/client/flow.config.ts +1 -1
- package/profiles/client/package.json +6 -6
- package/profiles/client/packages/client/config.ts +4 -5
- package/profiles/client/packages/client/dom.ts +3 -3
- package/profiles/client/packages/client/features/attrs.ts +1 -1
- package/profiles/client/packages/client/features/class-flow.ts +1 -1
- package/profiles/client/packages/client/features/pseudo-injector.ts +2 -2
- package/profiles/client/packages/client/features/style-flow.ts +2 -2
- package/profiles/client/packages/client/features/style.ts +1 -1
- package/profiles/client/packages/client/features/viewport.ts +3 -3
- package/profiles/client/packages/client/jsx-types.d.ts +1 -1
- package/profiles/client/packages/client/jsx.ts +1 -1
- package/profiles/client/packages/client/package.json +4 -4
- package/profiles/client/packages/client/vite.ts +2 -2
- package/profiles/client/packages/{flow-os → flow.os}/package.json +1 -1
- package/profiles/client/packages/router/index.ts +2 -2
- package/profiles/client/packages/router/package.json +1 -1
- package/profiles/client/packages/style/package.json +1 -1
- package/profiles/client/tsconfig.json +3 -3
- package/profiles/full/Dockerfile +3 -3
- package/profiles/full/bun.lock +19 -19
- package/profiles/full/client/root.tsx +2 -2
- package/profiles/full/client/routes/about.tsx +1 -1
- package/profiles/full/client/routes/index.tsx +1 -1
- package/profiles/full/flow.config.ts +2 -2
- package/profiles/full/package.json +6 -6
- package/profiles/full/packages/client/config.ts +4 -5
- package/profiles/full/packages/client/dom.ts +3 -3
- package/profiles/full/packages/client/features/attrs.ts +1 -1
- package/profiles/full/packages/client/features/class-flow.ts +1 -1
- package/profiles/full/packages/client/features/pseudo-injector.ts +2 -2
- package/profiles/full/packages/client/features/style-flow.ts +2 -2
- package/profiles/full/packages/client/features/style.ts +1 -1
- package/profiles/full/packages/client/features/viewport.ts +3 -3
- package/profiles/full/packages/client/jsx-types.d.ts +1 -1
- package/profiles/full/packages/client/jsx.ts +1 -1
- package/profiles/full/packages/client/package.json +4 -4
- package/profiles/full/packages/client/vite.ts +2 -2
- package/profiles/{server/packages/flow-os → full/packages/flow.os}/package.json +1 -1
- package/profiles/full/packages/router/index.ts +2 -2
- package/profiles/full/packages/router/package.json +1 -1
- package/profiles/full/packages/server/package.json +1 -1
- package/profiles/full/packages/server/start.ts +1 -1
- package/profiles/full/packages/style/package.json +1 -1
- package/profiles/full/server/routes/hello.get.ts +1 -1
- package/profiles/full/tsconfig.json +3 -3
- package/profiles/server/Dockerfile +3 -3
- package/profiles/server/bun.lock +19 -19
- package/profiles/server/flow.config.ts +2 -2
- package/profiles/server/package.json +6 -6
- package/profiles/{full/packages/flow-os → server/packages/flow.os}/package.json +1 -1
- package/profiles/server/packages/router/index.ts +2 -2
- package/profiles/server/packages/router/package.json +1 -1
- package/profiles/server/packages/server/package.json +1 -1
- package/profiles/server/packages/server/start.ts +1 -1
- package/profiles/server/packages/style/package.json +1 -1
- package/profiles/server/server/routes/hello.get.ts +1 -1
- package/profiles/server/tsconfig.json +3 -3
- /package/profiles/client/packages/{flow-os → flow.os}/dom.ts +0 -0
- /package/profiles/client/packages/{flow-os → flow.os}/for.ts +0 -0
- /package/profiles/client/packages/{flow-os → flow.os}/index.ts +0 -0
- /package/profiles/client/packages/{flow-os → flow.os}/lifecycle.ts +0 -0
- /package/profiles/client/packages/{flow-os → flow.os}/show-switch.ts +0 -0
- /package/profiles/client/packages/{flow-os → flow.os}/state.ts +0 -0
- /package/profiles/full/packages/{flow-os → flow.os}/dom.ts +0 -0
- /package/profiles/full/packages/{flow-os → flow.os}/for.ts +0 -0
- /package/profiles/full/packages/{flow-os → flow.os}/index.ts +0 -0
- /package/profiles/full/packages/{flow-os → flow.os}/lifecycle.ts +0 -0
- /package/profiles/full/packages/{flow-os → flow.os}/show-switch.ts +0 -0
- /package/profiles/full/packages/{flow-os → flow.os}/state.ts +0 -0
- /package/profiles/server/packages/{flow-os → flow.os}/dom.ts +0 -0
- /package/profiles/server/packages/{flow-os → flow.os}/for.ts +0 -0
- /package/profiles/server/packages/{flow-os → flow.os}/index.ts +0 -0
- /package/profiles/server/packages/{flow-os → flow.os}/lifecycle.ts +0 -0
- /package/profiles/server/packages/{flow-os → flow.os}/show-switch.ts +0 -0
- /package/profiles/server/packages/{flow-os → flow.os}/state.ts +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# create-flow-os
|
|
2
2
|
|
|
3
|
-
CLI per creare progetti Flow. Package npm: **create-flow-os
|
|
3
|
+
CLI per creare progetti Flow. Package npm: **create-flow-os**. I progetti generati usano i package **@flow.os/** (core, client, server, router, style).
|
|
4
4
|
|
|
5
5
|
**Uso:** `bun create flow-os [nome-progetto]` oppure `bunx create-flow-os [nome-progetto]`.
|
|
6
6
|
|
package/config.json
CHANGED
|
@@ -32,22 +32,22 @@
|
|
|
32
32
|
},
|
|
33
33
|
"packages": {
|
|
34
34
|
"core": {
|
|
35
|
-
"package": "@flow
|
|
35
|
+
"package": "@flow.os/core",
|
|
36
36
|
"includeIn": [
|
|
37
37
|
"client"
|
|
38
38
|
],
|
|
39
39
|
"deps": [
|
|
40
|
-
"@flow
|
|
40
|
+
"@flow.os/core"
|
|
41
41
|
]
|
|
42
42
|
},
|
|
43
43
|
"router": {
|
|
44
|
-
"package": "@flow
|
|
44
|
+
"package": "@flow.os/router",
|
|
45
45
|
"includeIn": [
|
|
46
46
|
"client"
|
|
47
47
|
],
|
|
48
48
|
"deps": [
|
|
49
|
-
"@flow
|
|
50
|
-
"@flow
|
|
49
|
+
"@flow.os/core",
|
|
50
|
+
"@flow.os/router"
|
|
51
51
|
]
|
|
52
52
|
}
|
|
53
53
|
}
|
package/dist/index.js
CHANGED
|
@@ -814,7 +814,7 @@ function transformPackageJson(pkg, projectName, extraPackages = {}, useWorkspace
|
|
|
814
814
|
const deps = out.dependencies || {};
|
|
815
815
|
const next = {};
|
|
816
816
|
for (const [k3, v3] of Object.entries(deps)) {
|
|
817
|
-
const isFlow = k3.startsWith("@flow
|
|
817
|
+
const isFlow = k3.startsWith("@flow.os/") || k3 === "@flow.os";
|
|
818
818
|
if (v3 === "workspace:*")
|
|
819
819
|
next[k3] = useWorkspace && isFlow ? "workspace:*" : "^0.0.1";
|
|
820
820
|
else
|
|
@@ -1005,31 +1005,31 @@ async function main() {
|
|
|
1005
1005
|
const finalPkg = await Bun.file(pkgPath).json();
|
|
1006
1006
|
delete finalPkg.workspaces;
|
|
1007
1007
|
if (finalPkg.dependencies) {
|
|
1008
|
-
const isDevFromRepo = useDevTag && await findPackageDir(REPO_ROOT, "@flow
|
|
1008
|
+
const isDevFromRepo = useDevTag && await findPackageDir(REPO_ROOT, "@flow.os/client").then((d2) => !!d2);
|
|
1009
1009
|
if (useDevTag && !isDevFromRepo) {
|
|
1010
|
-
me("Per usare i
|
|
1010
|
+
me("Uso package da npm (tag dev). Per usare i sorgenti locali esegui dal repo o imposta FLOW_FRAMEWORK_ROOT.", "Dev da npm");
|
|
1011
1011
|
} else if (useDevTag && isDevFromRepo) {
|
|
1012
1012
|
me("Uso package locali da " + REPO_ROOT, "Dev da repo");
|
|
1013
1013
|
}
|
|
1014
1014
|
for (const k3 of Object.keys(finalPkg.dependencies)) {
|
|
1015
1015
|
if (finalPkg.dependencies[k3] === "workspace:*")
|
|
1016
1016
|
finalPkg.dependencies[k3] = "^0.0.1";
|
|
1017
|
-
if (useDevTag && (k3 === "@flow
|
|
1017
|
+
if (useDevTag && (k3 === "@flow.os" || k3.startsWith("@flow.os/"))) {
|
|
1018
1018
|
if (isDevFromRepo) {
|
|
1019
1019
|
const pkgDir = await findPackageDir(REPO_ROOT, k3);
|
|
1020
1020
|
if (pkgDir) {
|
|
1021
1021
|
const rel = relative(projectPath, pkgDir).replace(/\\/g, "/");
|
|
1022
1022
|
finalPkg.dependencies[k3] = "file:" + (rel.startsWith("..") ? rel : "./" + rel);
|
|
1023
1023
|
} else {
|
|
1024
|
-
finalPkg.dependencies[k3] = "
|
|
1024
|
+
finalPkg.dependencies[k3] = "dev";
|
|
1025
1025
|
}
|
|
1026
1026
|
} else {
|
|
1027
|
-
finalPkg.dependencies[k3] = "
|
|
1027
|
+
finalPkg.dependencies[k3] = "dev";
|
|
1028
1028
|
}
|
|
1029
1029
|
}
|
|
1030
1030
|
}
|
|
1031
|
-
delete finalPkg.dependencies["@flow
|
|
1032
|
-
finalPkg.dependencies = Object.fromEntries(Object.entries(finalPkg.dependencies).filter(([key]) => key !== "@flow
|
|
1031
|
+
delete finalPkg.dependencies["@flow.os"];
|
|
1032
|
+
finalPkg.dependencies = Object.fromEntries(Object.entries(finalPkg.dependencies).filter(([key]) => key !== "@flow.os"));
|
|
1033
1033
|
}
|
|
1034
1034
|
await Bun.write(pkgPath, JSON.stringify(finalPkg, null, 2));
|
|
1035
1035
|
if (useDevTag) {
|
package/flow.config.client.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-flow-os",
|
|
3
|
-
"version": "0.0.1-dev.
|
|
3
|
+
"version": "0.0.1-dev.1771665438",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"create-flow-os": "./dist/index.js"
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"gen": "bun gen.ts",
|
|
17
17
|
"create": "bun index.ts",
|
|
18
18
|
"build": "bun build ./index.ts --outdir=dist --target=bun",
|
|
19
|
-
"publish:dev": "bun publish-dev.ts"
|
|
19
|
+
"publish:dev": "bun publish-dev.ts",
|
|
20
|
+
"publish": "bun publish.ts"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
23
|
"@clack/prompts": "^0.8.2",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# DEV: packages/flow
|
|
1
|
+
# DEV: packages/flow.os → workaround Bun workspace (doppio install).
|
|
2
2
|
# PROD: install → build → start (PORT da env)
|
|
3
3
|
|
|
4
4
|
FROM oven/bun:1 AS builder
|
|
5
5
|
WORKDIR /app
|
|
6
6
|
COPY . .
|
|
7
|
-
RUN if [ -d packages ] && [ -f packages/flow
|
|
7
|
+
RUN if [ -d packages ] && [ -f packages/flow.os/package.json ]; then \
|
|
8
8
|
bun install || true && bun install; \
|
|
9
9
|
else \
|
|
10
10
|
bun install --frozen-lockfile; \
|
|
@@ -17,7 +17,7 @@ WORKDIR /app
|
|
|
17
17
|
ENV NODE_ENV=production
|
|
18
18
|
ENV PORT=3000
|
|
19
19
|
COPY --from=builder /app/out/ ./
|
|
20
|
-
RUN if [ -d packages ] && [ -f packages/flow
|
|
20
|
+
RUN if [ -d packages ] && [ -f packages/flow.os/package.json ]; then \
|
|
21
21
|
bun install --frozen-lockfile --production || true && bun install --frozen-lockfile --production; \
|
|
22
22
|
else \
|
|
23
23
|
bun install --frozen-lockfile --production; \
|
package/profiles/client/bun.lock
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
"": {
|
|
6
6
|
"name": "flow-framework",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@flow
|
|
9
|
-
"@flow
|
|
10
|
-
"@flow
|
|
11
|
-
"@flow
|
|
12
|
-
"@flow
|
|
8
|
+
"@flow.os": "workspace:*",
|
|
9
|
+
"@flow.os/client": "workspace:*",
|
|
10
|
+
"@flow.os/router": "workspace:*",
|
|
11
|
+
"@flow.os/server": "workspace:*",
|
|
12
|
+
"@flow.os/style": "workspace:*",
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"bun-types": "~1.2.0",
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
23
|
"packages/client": {
|
|
24
|
-
"name": "@flow
|
|
24
|
+
"name": "@flow.os/client",
|
|
25
25
|
"version": "0.0.1",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@flow
|
|
28
|
-
"@flow
|
|
29
|
-
"@flow
|
|
27
|
+
"@flow.os": "workspace:*",
|
|
28
|
+
"@flow.os/router": "workspace:*",
|
|
29
|
+
"@flow.os/style": "workspace:*",
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"vite": ">=5.0.0",
|
|
@@ -46,23 +46,23 @@
|
|
|
46
46
|
"bun-types": "~1.2.0",
|
|
47
47
|
},
|
|
48
48
|
},
|
|
49
|
-
"packages/flow
|
|
50
|
-
"name": "@flow
|
|
49
|
+
"packages/flow.os": {
|
|
50
|
+
"name": "@flow.os",
|
|
51
51
|
"version": "0.0.1",
|
|
52
52
|
},
|
|
53
53
|
"packages/router": {
|
|
54
|
-
"name": "@flow
|
|
54
|
+
"name": "@flow.os/router",
|
|
55
55
|
"version": "0.0.1",
|
|
56
56
|
},
|
|
57
57
|
"packages/server": {
|
|
58
|
-
"name": "@flow
|
|
58
|
+
"name": "@flow.os/server",
|
|
59
59
|
"version": "0.0.1",
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"vite": ">=5.0.0",
|
|
62
62
|
},
|
|
63
63
|
},
|
|
64
64
|
"packages/style": {
|
|
65
|
-
"name": "@flow
|
|
65
|
+
"name": "@flow.os/style",
|
|
66
66
|
"version": "0.0.1",
|
|
67
67
|
},
|
|
68
68
|
},
|
|
@@ -123,15 +123,15 @@
|
|
|
123
123
|
|
|
124
124
|
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.3", "", { "os": "win32", "cpu": "x64" }, "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA=="],
|
|
125
125
|
|
|
126
|
-
"@flow
|
|
126
|
+
"@flow.os": ["@flow.os@workspace:packages/flow.os"],
|
|
127
127
|
|
|
128
|
-
"@flow
|
|
128
|
+
"@flow.os/client": ["@flow.os/client@workspace:packages/client"],
|
|
129
129
|
|
|
130
|
-
"@flow
|
|
130
|
+
"@flow.os/router": ["@flow.os/router@workspace:packages/router"],
|
|
131
131
|
|
|
132
|
-
"@flow
|
|
132
|
+
"@flow.os/server": ["@flow.os/server@workspace:packages/server"],
|
|
133
133
|
|
|
134
|
-
"@flow
|
|
134
|
+
"@flow.os/style": ["@flow.os/style@workspace:packages/style"],
|
|
135
135
|
|
|
136
136
|
"@oxfmt/binding-android-arm-eabi": ["@oxfmt/binding-android-arm-eabi@0.33.0", "", { "os": "android", "cpu": "arm" }, "sha512-ML6qRW8/HiBANteqfyFAR1Zu0VrJu+6o4gkPLsssq74hQ7wDMkufBYJXI16PGSERxEYNwKxO5fesCuMssgTv9w=="],
|
|
137
137
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"dev": "bunx --bun vite --config flow.config.ts",
|
|
8
8
|
"build": "tsc -b && bunx --bun vite build --config flow.config.ts",
|
|
9
9
|
"preview": "bunx --bun vite preview --config flow.config.ts",
|
|
10
|
-
"start": "bun node_modules/@flow
|
|
10
|
+
"start": "bun node_modules/@flow.os/server/start.ts",
|
|
11
11
|
"lint": "oxlint .",
|
|
12
12
|
"fmt": "oxfmt",
|
|
13
13
|
"fmt:check": "oxfmt --check",
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
"publish:dev": "bun run --cwd packages/create-flow publish:dev"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@flow
|
|
19
|
-
"@flow
|
|
20
|
-
"@flow
|
|
21
|
-
"@flow
|
|
22
|
-
"@flow
|
|
18
|
+
"@flow.os/client": "file:./packages/client",
|
|
19
|
+
"@flow.os/server": "^0.0.1",
|
|
20
|
+
"@flow.os/core": "file:./packages/flow.os",
|
|
21
|
+
"@flow.os/router": "file:./packages/router",
|
|
22
|
+
"@flow.os/style": "file:./packages/style"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"bun-types": "~1.2.0",
|
|
@@ -10,15 +10,14 @@ function resolveAlias(): Record<string, string> {
|
|
|
10
10
|
const alias: Record<string, string> = {};
|
|
11
11
|
const clientJsx = path.join(root, 'packages', 'client', 'jsx-runtime.ts');
|
|
12
12
|
if (fs.existsSync(clientJsx)) {
|
|
13
|
-
alias['@flow
|
|
14
|
-
alias['@flow
|
|
13
|
+
alias['@flow.os/client/jsx-runtime'] = clientJsx;
|
|
14
|
+
alias['@flow.os/client/jsx-dev-runtime'] = path.join(root, 'packages', 'client', 'jsx-dev-runtime.ts');
|
|
15
15
|
}
|
|
16
16
|
for (const name of fs.readdirSync(packagesDir)) {
|
|
17
17
|
const dir = path.join(packagesDir, name);
|
|
18
18
|
if (!fs.statSync(dir).isDirectory() || !fs.existsSync(path.join(dir, 'package.json'))) continue;
|
|
19
19
|
const abs = path.resolve(dir);
|
|
20
|
-
if (name
|
|
21
|
-
else alias[`@flow-os/${name}`] = abs;
|
|
20
|
+
if (name !== 'flow.os') alias[`@flow.os/${name}`] = abs;
|
|
22
21
|
}
|
|
23
22
|
return alias;
|
|
24
23
|
}
|
|
@@ -59,7 +58,7 @@ export default function config(
|
|
|
59
58
|
server: { port, host },
|
|
60
59
|
build: {
|
|
61
60
|
rollupOptions: {
|
|
62
|
-
external: ['@flow
|
|
61
|
+
external: ['@flow.os/server', /^@flow.os\/server\/.+/],
|
|
63
62
|
},
|
|
64
63
|
},
|
|
65
64
|
plugins: allPlugins,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Re-export degli helper DOM da @flow
|
|
3
|
-
* Usato dal runtime client e da chi importa da @flow
|
|
2
|
+
* Re-export degli helper DOM da @flow.os (normalizeChild, setContent).
|
|
3
|
+
* Usato dal runtime client e da chi importa da @flow.os/client.
|
|
4
4
|
*/
|
|
5
|
-
export { normalizeChild, setContent } from '@flow
|
|
5
|
+
export { normalizeChild, setContent } from '@flow.os/core';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { styleToCssText } from '@flow
|
|
2
|
-
import type { PseudoKey } from '@flow
|
|
1
|
+
import { styleToCssText } from '@flow.os/style';
|
|
2
|
+
import type { PseudoKey } from '@flow.os/style';
|
|
3
3
|
|
|
4
4
|
const PSEUDO_SELECTOR: Record<PseudoKey, string> = {
|
|
5
5
|
hover: ':hover',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { effect } from '@flow
|
|
1
|
+
import { effect } from '@flow.os/core';
|
|
2
2
|
import { isGetter } from './utils.js';
|
|
3
3
|
import {
|
|
4
4
|
VIEWPORT_KEYS,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
type PlainLayer,
|
|
9
9
|
type ViewportKey,
|
|
10
10
|
type PseudoKey,
|
|
11
|
-
} from '@flow
|
|
11
|
+
} from '@flow.os/style';
|
|
12
12
|
import { getViewportBreakpoint } from './viewport.js';
|
|
13
13
|
import { getPseudoClass } from './pseudo-injector.js';
|
|
14
14
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { state } from '@flow
|
|
2
|
-
import type { ViewportKey } from '@flow
|
|
3
|
-
import { getViewportKeyFromWidth } from '@flow
|
|
1
|
+
import { state } from '@flow.os/core';
|
|
2
|
+
import type { ViewportKey } from '@flow.os/style';
|
|
3
|
+
import { getViewportKeyFromWidth } from '@flow.os/style';
|
|
4
4
|
|
|
5
5
|
const [getViewport, setViewport] = state<ViewportKey>('mob');
|
|
6
6
|
let subscribed = false;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@flow
|
|
2
|
+
"name": "@flow.os/client",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.ts",
|
|
6
6
|
"types": "./index.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@flow
|
|
9
|
-
"@flow
|
|
10
|
-
"@flow
|
|
8
|
+
"@flow.os/core": "workspace:*",
|
|
9
|
+
"@flow.os/router": "workspace:*",
|
|
10
|
+
"@flow.os/style": "workspace:*"
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
13
|
"vite": ">=5.0.0"
|
|
@@ -5,7 +5,7 @@ import type { Plugin } from 'vite';
|
|
|
5
5
|
|
|
6
6
|
const FLOW_ENTRY_ID = '\0flow-entry';
|
|
7
7
|
const ENTRY_CODE = `import * as root from '/client/root.tsx';
|
|
8
|
-
import { run } from '@flow
|
|
8
|
+
import { run } from '@flow.os/router';
|
|
9
9
|
run(root.default, import.meta.glob('/client/routes/**/*.tsx'), root.fallback != null ? { fallback: root.fallback } : undefined);
|
|
10
10
|
`;
|
|
11
11
|
|
|
@@ -24,7 +24,7 @@ export function flow(): Plugin {
|
|
|
24
24
|
config() {
|
|
25
25
|
return {
|
|
26
26
|
root: '.',
|
|
27
|
-
esbuild: { jsx: 'automatic', jsxImportSource: '@flow
|
|
27
|
+
esbuild: { jsx: 'automatic', jsxImportSource: '@flow.os/client' },
|
|
28
28
|
resolve: { alias: { '~': resolve(process.cwd(), 'client') } },
|
|
29
29
|
build: { target: 'esnext', minify: 'esbuild', sourcemap: true },
|
|
30
30
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const APP_ID = 'flow-app';
|
|
2
2
|
|
|
3
|
-
/** Contenitore dove il router monta la pagina corrente. In root: <App /> (da @flow
|
|
3
|
+
/** Contenitore dove il router monta la pagina corrente. In root: <App /> (da @flow.os/router). */
|
|
4
4
|
export function App(): HTMLDivElement {
|
|
5
5
|
const el = document.createElement('div');
|
|
6
6
|
el.id = APP_ID;
|
|
@@ -133,7 +133,7 @@ export function run(
|
|
|
133
133
|
const appContainer = document.getElementById(APP_ID);
|
|
134
134
|
if (!appContainer)
|
|
135
135
|
throw new Error(
|
|
136
|
-
`#${APP_ID} not found: use <App /> from @flow
|
|
136
|
+
`#${APP_ID} not found: use <App /> from @flow.os/router in your root layout.`
|
|
137
137
|
);
|
|
138
138
|
createRouter(modules, appContainer as HTMLElement, options).start();
|
|
139
139
|
}
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
"lib": ["ESNext", "DOM", "DOM.Iterable"],
|
|
18
18
|
"types": ["vite/client"],
|
|
19
19
|
"jsx": "react-jsx",
|
|
20
|
-
"jsxImportSource": "@flow
|
|
20
|
+
"jsxImportSource": "@flow.os/client",
|
|
21
21
|
"baseUrl": ".",
|
|
22
22
|
"paths": {
|
|
23
23
|
"~/*": ["client/*"],
|
|
24
24
|
"~server/*": ["server/*"],
|
|
25
|
-
"@flow
|
|
26
|
-
"@flow
|
|
25
|
+
"@flow.os/core": ["packages/flow.os/index.ts"],
|
|
26
|
+
"@flow.os/*": ["packages/*"]
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"include": ["client", "server", "packages/*", "vite.config.ts"]
|
package/profiles/full/Dockerfile
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# DEV: packages/flow
|
|
1
|
+
# DEV: packages/flow.os → workaround Bun workspace (doppio install).
|
|
2
2
|
# PROD: install → build → start (PORT da env)
|
|
3
3
|
|
|
4
4
|
FROM oven/bun:1 AS builder
|
|
5
5
|
WORKDIR /app
|
|
6
6
|
COPY . .
|
|
7
|
-
RUN if [ -d packages ] && [ -f packages/flow
|
|
7
|
+
RUN if [ -d packages ] && [ -f packages/flow.os/package.json ]; then \
|
|
8
8
|
bun install || true && bun install; \
|
|
9
9
|
else \
|
|
10
10
|
bun install --frozen-lockfile; \
|
|
@@ -17,7 +17,7 @@ WORKDIR /app
|
|
|
17
17
|
ENV NODE_ENV=production
|
|
18
18
|
ENV PORT=3000
|
|
19
19
|
COPY --from=builder /app/out/ ./
|
|
20
|
-
RUN if [ -d packages ] && [ -f packages/flow
|
|
20
|
+
RUN if [ -d packages ] && [ -f packages/flow.os/package.json ]; then \
|
|
21
21
|
bun install --frozen-lockfile --production || true && bun install --frozen-lockfile --production; \
|
|
22
22
|
else \
|
|
23
23
|
bun install --frozen-lockfile --production; \
|
package/profiles/full/bun.lock
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
"": {
|
|
6
6
|
"name": "flow-framework",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@flow
|
|
9
|
-
"@flow
|
|
10
|
-
"@flow
|
|
11
|
-
"@flow
|
|
12
|
-
"@flow
|
|
8
|
+
"@flow.os": "workspace:*",
|
|
9
|
+
"@flow.os/client": "workspace:*",
|
|
10
|
+
"@flow.os/router": "workspace:*",
|
|
11
|
+
"@flow.os/server": "workspace:*",
|
|
12
|
+
"@flow.os/style": "workspace:*",
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"bun-types": "~1.2.0",
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
23
|
"packages/client": {
|
|
24
|
-
"name": "@flow
|
|
24
|
+
"name": "@flow.os/client",
|
|
25
25
|
"version": "0.0.1",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@flow
|
|
28
|
-
"@flow
|
|
29
|
-
"@flow
|
|
27
|
+
"@flow.os": "workspace:*",
|
|
28
|
+
"@flow.os/router": "workspace:*",
|
|
29
|
+
"@flow.os/style": "workspace:*",
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"vite": ">=5.0.0",
|
|
@@ -46,23 +46,23 @@
|
|
|
46
46
|
"bun-types": "~1.2.0",
|
|
47
47
|
},
|
|
48
48
|
},
|
|
49
|
-
"packages/flow
|
|
50
|
-
"name": "@flow
|
|
49
|
+
"packages/flow.os": {
|
|
50
|
+
"name": "@flow.os",
|
|
51
51
|
"version": "0.0.1",
|
|
52
52
|
},
|
|
53
53
|
"packages/router": {
|
|
54
|
-
"name": "@flow
|
|
54
|
+
"name": "@flow.os/router",
|
|
55
55
|
"version": "0.0.1",
|
|
56
56
|
},
|
|
57
57
|
"packages/server": {
|
|
58
|
-
"name": "@flow
|
|
58
|
+
"name": "@flow.os/server",
|
|
59
59
|
"version": "0.0.1",
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"vite": ">=5.0.0",
|
|
62
62
|
},
|
|
63
63
|
},
|
|
64
64
|
"packages/style": {
|
|
65
|
-
"name": "@flow
|
|
65
|
+
"name": "@flow.os/style",
|
|
66
66
|
"version": "0.0.1",
|
|
67
67
|
},
|
|
68
68
|
},
|
|
@@ -123,15 +123,15 @@
|
|
|
123
123
|
|
|
124
124
|
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.3", "", { "os": "win32", "cpu": "x64" }, "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA=="],
|
|
125
125
|
|
|
126
|
-
"@flow
|
|
126
|
+
"@flow.os": ["@flow.os@workspace:packages/flow.os"],
|
|
127
127
|
|
|
128
|
-
"@flow
|
|
128
|
+
"@flow.os/client": ["@flow.os/client@workspace:packages/client"],
|
|
129
129
|
|
|
130
|
-
"@flow
|
|
130
|
+
"@flow.os/router": ["@flow.os/router@workspace:packages/router"],
|
|
131
131
|
|
|
132
|
-
"@flow
|
|
132
|
+
"@flow.os/server": ["@flow.os/server@workspace:packages/server"],
|
|
133
133
|
|
|
134
|
-
"@flow
|
|
134
|
+
"@flow.os/style": ["@flow.os/style@workspace:packages/style"],
|
|
135
135
|
|
|
136
136
|
"@oxfmt/binding-android-arm-eabi": ["@oxfmt/binding-android-arm-eabi@0.33.0", "", { "os": "android", "cpu": "arm" }, "sha512-ML6qRW8/HiBANteqfyFAR1Zu0VrJu+6o4gkPLsssq74hQ7wDMkufBYJXI16PGSERxEYNwKxO5fesCuMssgTv9w=="],
|
|
137
137
|
|