@_linked/cli 1.8.2 → 1.9.1

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 (182) hide show
  1. package/.github/workflows/publish.yml +23 -0
  2. package/CHANGELOG.md +18 -0
  3. package/defaults/setup-publish/dual-branch/github/workflows/publish.yml +26 -0
  4. package/defaults/setup-publish/github/workflows/publish.yml +27 -0
  5. package/jest.config.cjs +8 -4
  6. package/lib/esm/cli-methods.d.ts.map +1 -1
  7. package/lib/esm/cli-methods.js +15 -3
  8. package/lib/esm/cli-methods.js.map +1 -1
  9. package/lib/esm/vite-config.d.ts.map +1 -1
  10. package/lib/esm/vite-config.js +51 -16
  11. package/lib/esm/vite-config.js.map +1 -1
  12. package/package.json +8 -14
  13. package/tests/unit/safeYarn.test.ts +1 -1
  14. package/defaults/app-with-backend/.env-cmdrc.json +0 -19
  15. package/defaults/app-with-backend/.env.example +0 -20
  16. package/defaults/app-with-backend/.eslintignore +0 -5
  17. package/defaults/app-with-backend/.eslintrc.json +0 -40
  18. package/defaults/app-with-backend/.prettierignore +0 -4
  19. package/defaults/app-with-backend/.prettierrc.json +0 -27
  20. package/defaults/app-with-backend/.vscode/launch.json +0 -12
  21. package/defaults/app-with-backend/.yarn/plugins/@yarnpkg/plugin-version.cjs +0 -550
  22. package/defaults/app-with-backend/.yarn/releases/yarn-3.6.1.cjs +0 -874
  23. package/defaults/app-with-backend/gitignore.template +0 -27
  24. package/defaults/app-with-backend/linked.backend.datasets.example.json +0 -17
  25. package/defaults/app-with-backend/linked.backend.storage.ts +0 -35
  26. package/defaults/app-with-backend/linked.config.js +0 -7
  27. package/defaults/app-with-backend/package.json +0 -75
  28. package/defaults/app-with-backend/pm2-staging.config.js +0 -12
  29. package/defaults/app-with-backend/pm2.config.js +0 -12
  30. package/defaults/app-with-backend/public/favicon-144x144.png +0 -0
  31. package/defaults/app-with-backend/public/favicon-57x57.png +0 -0
  32. package/defaults/app-with-backend/public/favicon-72x72.png +0 -0
  33. package/defaults/app-with-backend/public/favicon.ico +0 -0
  34. package/defaults/app-with-backend/readme.md +0 -93
  35. package/defaults/app-with-backend/src/App.module.css +0 -83
  36. package/defaults/app-with-backend/src/App.tsx +0 -30
  37. package/defaults/app-with-backend/src/backend.ts +0 -9
  38. package/defaults/app-with-backend/src/components/Error.module.css +0 -9
  39. package/defaults/app-with-backend/src/components/Error.tsx +0 -11
  40. package/defaults/app-with-backend/src/components/PersonOverview.module.css +0 -100
  41. package/defaults/app-with-backend/src/components/PersonOverview.tsx +0 -97
  42. package/defaults/app-with-backend/src/components/PersonOverviewContext.tsx +0 -12
  43. package/defaults/app-with-backend/src/components/PersonPreview.module.css +0 -97
  44. package/defaults/app-with-backend/src/components/PersonPreview.tsx +0 -109
  45. package/defaults/app-with-backend/src/components/Spinner.module.css +0 -17
  46. package/defaults/app-with-backend/src/components/Spinner.tsx +0 -12
  47. package/defaults/app-with-backend/src/index.tsx +0 -34
  48. package/defaults/app-with-backend/src/layout/DefaultLayout.module.css +0 -15
  49. package/defaults/app-with-backend/src/layout/DefaultLayout.tsx +0 -12
  50. package/defaults/app-with-backend/src/layout/Header.module.css +0 -46
  51. package/defaults/app-with-backend/src/layout/Header.tsx +0 -27
  52. package/defaults/app-with-backend/src/linked.frontend.datasets.json +0 -12
  53. package/defaults/app-with-backend/src/linked.frontend.storage.ts +0 -36
  54. package/defaults/app-with-backend/src/package.ts +0 -16
  55. package/defaults/app-with-backend/src/pages/Home.module.css +0 -23
  56. package/defaults/app-with-backend/src/pages/Home.tsx +0 -14
  57. package/defaults/app-with-backend/src/pages/Page1.module.css +0 -111
  58. package/defaults/app-with-backend/src/pages/Page1.tsx +0 -196
  59. package/defaults/app-with-backend/src/pages/PageNotFound.module.css +0 -19
  60. package/defaults/app-with-backend/src/pages/PageNotFound.tsx +0 -14
  61. package/defaults/app-with-backend/src/pages/Signin.module.css +0 -20
  62. package/defaults/app-with-backend/src/pages/Signin.tsx +0 -16
  63. package/defaults/app-with-backend/src/routes.tsx +0 -78
  64. package/defaults/app-with-backend/src/theme.css +0 -91
  65. package/defaults/app-with-backend/src/types.ts +0 -14
  66. package/defaults/app-with-backend/src/utils/lazyWithPreload.tsx +0 -42
  67. package/defaults/app-with-backend/src/utils/preloadRoutes.ts +0 -38
  68. package/defaults/app-with-backend/tsconfig.json +0 -24
  69. package/defaults/app-with-backend/vite.config.ts +0 -13
  70. package/defaults/app-with-backend/yarnrc.yml.template +0 -8
  71. package/lib/cjs/cli-methods.d.ts +0 -75
  72. package/lib/cjs/cli-methods.d.ts.map +0 -1
  73. package/lib/cjs/cli-methods.js +0 -2655
  74. package/lib/cjs/cli-methods.js.map +0 -1
  75. package/lib/cjs/cli.d.ts +0 -3
  76. package/lib/cjs/cli.d.ts.map +0 -1
  77. package/lib/cjs/cli.js +0 -339
  78. package/lib/cjs/cli.js.map +0 -1
  79. package/lib/cjs/commands/build-package.d.ts +0 -9
  80. package/lib/cjs/commands/build-package.d.ts.map +0 -1
  81. package/lib/cjs/commands/build-package.js +0 -55
  82. package/lib/cjs/commands/build-package.js.map +0 -1
  83. package/lib/cjs/commands/safe-yarn.d.ts +0 -10
  84. package/lib/cjs/commands/safe-yarn.d.ts.map +0 -1
  85. package/lib/cjs/commands/safe-yarn.js +0 -66
  86. package/lib/cjs/commands/safe-yarn.js.map +0 -1
  87. package/lib/cjs/commands/setup-publish.d.ts +0 -23
  88. package/lib/cjs/commands/setup-publish.d.ts.map +0 -1
  89. package/lib/cjs/commands/setup-publish.js +0 -369
  90. package/lib/cjs/commands/setup-publish.js.map +0 -1
  91. package/lib/cjs/commands/start.d.ts +0 -6
  92. package/lib/cjs/commands/start.d.ts.map +0 -1
  93. package/lib/cjs/commands/start.js +0 -337
  94. package/lib/cjs/commands/start.js.map +0 -1
  95. package/lib/cjs/config-webpack-app.d.ts +0 -112
  96. package/lib/cjs/config-webpack-app.d.ts.map +0 -1
  97. package/lib/cjs/config-webpack-app.js +0 -427
  98. package/lib/cjs/config-webpack-app.js.map +0 -1
  99. package/lib/cjs/config-webpack.d.ts +0 -55
  100. package/lib/cjs/config-webpack.d.ts.map +0 -1
  101. package/lib/cjs/config-webpack.js +0 -417
  102. package/lib/cjs/config-webpack.js.map +0 -1
  103. package/lib/cjs/defineConfig.d.ts +0 -8
  104. package/lib/cjs/defineConfig.d.ts.map +0 -1
  105. package/lib/cjs/defineConfig.js +0 -12
  106. package/lib/cjs/defineConfig.js.map +0 -1
  107. package/lib/cjs/index.d.ts +0 -12
  108. package/lib/cjs/index.d.ts.map +0 -1
  109. package/lib/cjs/index.js +0 -43
  110. package/lib/cjs/index.js.map +0 -1
  111. package/lib/cjs/interfaces.d.ts +0 -140
  112. package/lib/cjs/interfaces.d.ts.map +0 -1
  113. package/lib/cjs/interfaces.js +0 -3
  114. package/lib/cjs/interfaces.js.map +0 -1
  115. package/lib/cjs/lifecycle.d.ts +0 -24
  116. package/lib/cjs/lifecycle.d.ts.map +0 -1
  117. package/lib/cjs/lifecycle.js +0 -187
  118. package/lib/cjs/lifecycle.js.map +0 -1
  119. package/lib/cjs/loaders/css-loader.d.mts +0 -2
  120. package/lib/cjs/loaders/css-loader.d.mts.map +0 -1
  121. package/lib/cjs/loaders/css-loader.mjs +0 -86
  122. package/lib/cjs/loaders/css-loader.mjs.map +0 -1
  123. package/lib/cjs/loaders/register-css-only.d.ts +0 -2
  124. package/lib/cjs/loaders/register-css-only.d.ts.map +0 -1
  125. package/lib/cjs/loaders/register-css-only.js +0 -11
  126. package/lib/cjs/loaders/register-css-only.js.map +0 -1
  127. package/lib/cjs/loaders/register.d.ts +0 -2
  128. package/lib/cjs/loaders/register.d.ts.map +0 -1
  129. package/lib/cjs/loaders/register.js +0 -11
  130. package/lib/cjs/loaders/register.js.map +0 -1
  131. package/lib/cjs/loaders/ts-loader.d.mts +0 -3
  132. package/lib/cjs/loaders/ts-loader.d.mts.map +0 -1
  133. package/lib/cjs/loaders/ts-loader.mjs +0 -125
  134. package/lib/cjs/loaders/ts-loader.mjs.map +0 -1
  135. package/lib/cjs/metadata.d.ts +0 -1
  136. package/lib/cjs/metadata.d.ts.map +0 -1
  137. package/lib/cjs/metadata.js +0 -155
  138. package/lib/cjs/metadata.js.map +0 -1
  139. package/lib/cjs/package.json +0 -144
  140. package/lib/cjs/plugins/check-imports.d.ts +0 -2
  141. package/lib/cjs/plugins/check-imports.d.ts.map +0 -1
  142. package/lib/cjs/plugins/check-imports.js +0 -68
  143. package/lib/cjs/plugins/check-imports.js.map +0 -1
  144. package/lib/cjs/plugins/declaration-plugin.d.ts +0 -15
  145. package/lib/cjs/plugins/declaration-plugin.d.ts.map +0 -1
  146. package/lib/cjs/plugins/declaration-plugin.js +0 -285
  147. package/lib/cjs/plugins/declaration-plugin.js.map +0 -1
  148. package/lib/cjs/plugins/externalise-modules.d.ts +0 -7
  149. package/lib/cjs/plugins/externalise-modules.d.ts.map +0 -1
  150. package/lib/cjs/plugins/externalise-modules.js +0 -190
  151. package/lib/cjs/plugins/externalise-modules.js.map +0 -1
  152. package/lib/cjs/plugins/lincd-tailwind-sources.d.ts +0 -3
  153. package/lib/cjs/plugins/lincd-tailwind-sources.d.ts.map +0 -1
  154. package/lib/cjs/plugins/lincd-tailwind-sources.js +0 -32
  155. package/lib/cjs/plugins/lincd-tailwind-sources.js.map +0 -1
  156. package/lib/cjs/plugins/watch-run.d.ts +0 -5
  157. package/lib/cjs/plugins/watch-run.d.ts.map +0 -1
  158. package/lib/cjs/plugins/watch-run.js +0 -45
  159. package/lib/cjs/plugins/watch-run.js.map +0 -1
  160. package/lib/cjs/preflight.css +0 -137
  161. package/lib/cjs/tailwind.config.d.ts +0 -8
  162. package/lib/cjs/tailwind.config.d.ts.map +0 -1
  163. package/lib/cjs/tailwind.config.js +0 -17
  164. package/lib/cjs/tailwind.config.js.map +0 -1
  165. package/lib/cjs/utils.d.ts +0 -77
  166. package/lib/cjs/utils.d.ts.map +0 -1
  167. package/lib/cjs/utils.js +0 -591
  168. package/lib/cjs/utils.js.map +0 -1
  169. package/lib/cjs/vite-config.d.ts +0 -20
  170. package/lib/cjs/vite-config.d.ts.map +0 -1
  171. package/lib/cjs/vite-config.js +0 -401
  172. package/lib/cjs/vite-config.js.map +0 -1
  173. package/lib/esm/loaders/register-css-only.d.ts +0 -2
  174. package/lib/esm/loaders/register-css-only.d.ts.map +0 -1
  175. package/lib/esm/loaders/register-css-only.js +0 -9
  176. package/lib/esm/loaders/register-css-only.js.map +0 -1
  177. package/lib/esm/loaders/register.d.ts +0 -2
  178. package/lib/esm/loaders/register.d.ts.map +0 -1
  179. package/lib/esm/loaders/register.js +0 -9
  180. package/lib/esm/loaders/register.js.map +0 -1
  181. package/lib/esm/package.json +0 -144
  182. /package/{babel.config.js → babel.config.cjs} +0 -0
@@ -1,337 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.startWithVite = startWithVite;
40
- // `linked start --vite` orchestrator.
41
- //
42
- // Follows the existing startServer() flow from cli-methods.ts but injects
43
- // a Vite dev server in middleware mode + overrides loadAppComponent /
44
- // loadRoutes to use vite.ssrLoadModule. This means LinkedServer's existing
45
- // initialization works unchanged; we just route module loading through
46
- // Vite instead of webpack/Node-direct.
47
- //
48
- // What's different vs the legacy startServer():
49
- // - No webpack-dev-middleware (LinkedServer skips when viteMiddleware set)
50
- // - Vite handles the client transform + HMR
51
- // - ssrLoadModule handles the server transform (decorators, jsx, ts)
52
- // - Server changes still need full process restart for now (server HMR
53
- // deferred to vite-node migration)
54
- const node_path_1 = __importDefault(require("node:path"));
55
- const promises_1 = __importDefault(require("node:fs/promises"));
56
- const node_child_process_1 = require("node:child_process");
57
- const fs_extra_1 = __importDefault(require("fs-extra"));
58
- /**
59
- * Plan-011 phase 3b — discover workspace packages from the app's
60
- * `package.json` `workspaces` field. No hand-maintained list anywhere;
61
- * adding a new linked package = appearing in the right glob.
62
- *
63
- * Returns each package's npm `name` (so we can call `onSourceChange(name)`),
64
- * its absolute root, and its `src/` directory for fast prefix matching.
65
- */
66
- async function discoverWorkspacePackages(cwd) {
67
- var _a, _b;
68
- const pkgJsonPath = node_path_1.default.join(cwd, 'package.json');
69
- if (!(await fs_extra_1.default.pathExists(pkgJsonPath)))
70
- return [];
71
- const pkgJson = await fs_extra_1.default.readJson(pkgJsonPath);
72
- const workspaces = Array.isArray(pkgJson.workspaces)
73
- ? pkgJson.workspaces
74
- : (_b = (_a = pkgJson.workspaces) === null || _a === void 0 ? void 0 : _a.packages) !== null && _b !== void 0 ? _b : [];
75
- const out = [];
76
- // Include the root app itself so edits to <cwd>/src/* trigger HMR for
77
- // the app's own providers (e.g. CN's src/backend.ts which registers ~25
78
- // Express routes).
79
- if (pkgJson.name && (await fs_extra_1.default.pathExists(node_path_1.default.join(cwd, 'src')))) {
80
- out.push({ name: pkgJson.name, root: cwd, srcDir: node_path_1.default.join(cwd, 'src') });
81
- }
82
- for (const glob of workspaces) {
83
- // Workspaces only support trailing /* globs in npm/yarn/pnpm — we
84
- // expand by directory listing rather than a full glob library.
85
- const m = glob.match(/^(.+?)\/\*$/);
86
- const candidates = [];
87
- if (m) {
88
- const parent = node_path_1.default.join(cwd, m[1]);
89
- if (await fs_extra_1.default.pathExists(parent)) {
90
- const entries = await promises_1.default.readdir(parent, { withFileTypes: true });
91
- for (const dirent of entries) {
92
- if (dirent.isDirectory() || dirent.isSymbolicLink()) {
93
- candidates.push(node_path_1.default.join(parent, dirent.name));
94
- }
95
- }
96
- }
97
- }
98
- else {
99
- candidates.push(node_path_1.default.join(cwd, glob));
100
- }
101
- for (const root of candidates) {
102
- const pkgPath = node_path_1.default.join(root, 'package.json');
103
- if (!(await fs_extra_1.default.pathExists(pkgPath)))
104
- continue;
105
- try {
106
- const sub = await fs_extra_1.default.readJson(pkgPath);
107
- if (sub.name) {
108
- out.push({ name: sub.name, root, srcDir: node_path_1.default.join(root, 'src') });
109
- }
110
- }
111
- catch (_c) {
112
- // ignore broken package.json
113
- }
114
- }
115
- }
116
- return out;
117
- }
118
- function workspacePackageForPath(filepath, pkgs) {
119
- for (const p of pkgs) {
120
- if (filepath.startsWith(p.srcDir + node_path_1.default.sep) || filepath === p.srcDir) {
121
- return p.name;
122
- }
123
- }
124
- return null;
125
- }
126
- function openBrowser(url) {
127
- const cmd = process.platform === 'darwin'
128
- ? 'open'
129
- : process.platform === 'win32'
130
- ? 'start'
131
- : 'xdg-open';
132
- (0, node_child_process_1.spawn)(cmd, [url], { detached: true, stdio: 'ignore' }).unref();
133
- }
134
- function installShortcuts(opts) {
135
- if (!process.stdin.isTTY)
136
- return;
137
- let buf = '';
138
- try {
139
- process.stdin.setRawMode(true);
140
- }
141
- catch (_a) {
142
- return;
143
- }
144
- process.stdin.resume();
145
- process.stdin.setEncoding('utf8');
146
- const cleanup = () => {
147
- try {
148
- process.stdin.setRawMode(false);
149
- }
150
- catch (_a) { }
151
- };
152
- process.on('exit', cleanup);
153
- process.stdin.on('data', (chunk) => {
154
- for (const ch of chunk) {
155
- // Ctrl-C → graceful exit, restore terminal first.
156
- if (ch === '') {
157
- cleanup();
158
- process.exit(0);
159
- }
160
- if (ch === '\r' || ch === '\n') {
161
- const cmd = buf.trim();
162
- buf = '';
163
- if (cmd === 'r') {
164
- console.log('[linked] restarting…');
165
- opts.onRestart();
166
- }
167
- else if (cmd === 'o') {
168
- console.log(`[linked] opening ${opts.url}`);
169
- openBrowser(opts.url);
170
- }
171
- }
172
- else {
173
- buf += ch;
174
- }
175
- }
176
- });
177
- console.log(`[linked] press r<enter> to restart · o<enter> to open ${opts.url}`);
178
- }
179
- function restartProcess() {
180
- // nodemon-style respawn: launch a fresh process from the same argv,
181
- // then exit. The new process inherits stdio so the dev experience is
182
- // continuous.
183
- const [node, ...argv] = process.argv;
184
- const child = (0, node_child_process_1.spawn)(node, argv, {
185
- stdio: 'inherit',
186
- detached: true,
187
- env: process.env,
188
- });
189
- child.unref();
190
- process.exit(0);
191
- }
192
- async function startWithVite(opts = {}) {
193
- var _a, _b, _c;
194
- const cwd = process.cwd();
195
- // Load the app's own `.env` (Node 20.12+ `process.loadEnvFile`) if present — the
196
- // standard, dependency-free env source for a linked app. Node does NOT override
197
- // vars already set in the environment, so CN's injected per-(project,branch) vars
198
- // (PORT, FUSEKI_DATASET, CN_APP_ADMIN_SECRET, …) take precedence over the file.
199
- try {
200
- const envPath = node_path_1.default.join(cwd, '.env');
201
- if ((await fs_extra_1.default.pathExists(envPath)) &&
202
- typeof process.loadEnvFile === 'function') {
203
- process.loadEnvFile(envPath);
204
- }
205
- }
206
- catch (_d) {
207
- // best-effort — a missing/invalid .env never blocks start
208
- }
209
- // `--env` still loads env-cmd (`.env-cmdrc.json`) for CN's own start:local flow.
210
- const { ensureEnvironmentLoaded } = await Promise.resolve().then(() => __importStar(require('../lifecycle.js')));
211
- await ensureEnvironmentLoaded();
212
- // Apps must have a vite.config.{ts,js} at CWD that exports the result of
213
- // `createViteConfig({...})`. We don't load it ourselves — Vite picks it
214
- // up automatically from `cwd`.
215
- const viteConfigCandidates = ['vite.config.ts', 'vite.config.js', 'vite.config.mjs'];
216
- const viteConfigFound = viteConfigCandidates.find((c) => fs_extra_1.default.existsSync(node_path_1.default.join(cwd, c)));
217
- if (!viteConfigFound) {
218
- throw new Error(`[linked start --vite] no vite.config.{ts,js,mjs} found in ${cwd}. Add one:\n\n import {createViteConfig} from '@_linked/cli/vite-config';\n export default createViteConfig({port: 4040, cssMode: 'tailwind'});\n`);
219
- }
220
- const { createServer: createViteServer } = await Promise.resolve().then(() => __importStar(require('vite')));
221
- // Load user's linked.config.js (legacy hook). It still drives things
222
- // like server.cachePaths and the rest of LinkedServer's options.
223
- const linkedConfigPath = node_path_1.default.join(cwd, 'linked.config.js');
224
- let linkedConfig = {};
225
- if (fs_extra_1.default.existsSync(linkedConfigPath)) {
226
- linkedConfig = (_a = (await Promise.resolve(`${linkedConfigPath}`).then(s => __importStar(require(s)))).default) !== null && _a !== void 0 ? _a : {};
227
- }
228
- linkedConfig.server = linkedConfig.server || {};
229
- const vite = await createViteServer({
230
- root: cwd,
231
- server: { middlewareMode: true },
232
- appType: 'custom',
233
- });
234
- // Inject Vite into LinkedServer's config:
235
- // - vite: handle for ssrLoadModule (used to load app's backend.ts via self-reference)
236
- // - viteMiddleware: mounted instead of webpack-dev-middleware
237
- // - loadAppComponent: route through vite.ssrLoadModule for SSR transform
238
- // - loadRoutes: same
239
- linkedConfig.server.vite = vite;
240
- linkedConfig.server.viteMiddleware = vite.middlewares;
241
- linkedConfig.server.loadAppComponent = async () => {
242
- const mod = await vite.ssrLoadModule('/src/App.tsx');
243
- return mod.default;
244
- };
245
- linkedConfig.server.loadRoutes = async () => {
246
- return await vite.ssrLoadModule('/src/routes.tsx');
247
- };
248
- // Vite SSR CSS collection support (plan-010 iter1 gap A):
249
- // List all `src/pages/*.{ts,tsx}` files so LinkedServer can ssrLoadModule
250
- // each into Vite's moduleGraph BEFORE the first render of a session.
251
- // React.lazy() doesn't auto-fire — without this, only App's eager
252
- // imports' CSS is collected; lazy pages' CSS arrives after hydration
253
- // causing an unstyled flash. After the first preload sweep, all
254
- // subsequent renders have full CSS available.
255
- linkedConfig.server.viteSsrPreload = async () => {
256
- const pagesDir = node_path_1.default.join(cwd, 'src', 'pages');
257
- if (!fs_extra_1.default.existsSync(pagesDir))
258
- return [];
259
- const files = fs_extra_1.default.readdirSync(pagesDir, { withFileTypes: true });
260
- const paths = [];
261
- for (const file of files) {
262
- if (file.isFile() && /\.(tsx|ts)$/.test(file.name)) {
263
- paths.push(`/src/pages/${file.name}`);
264
- }
265
- }
266
- return paths;
267
- };
268
- // plan-011 §P5 (2A) — load the storage config through Vite SSR so it
269
- // configures the SAME LinkedStorage instance the rest of the SSR graph
270
- // (LinkedServer, CN providers) uses. Replaces the former Node-direct
271
- // `loadBackendStorageConfig()` (which resolved @_linked/core via the
272
- // `default`→lib condition, a SEPARATE instance). Safe now that core's lib
273
- // `initTree` is idempotent (§P1). `loadBackendStorageConfig` stays in
274
- // lifecycle.ts for the Node-only CLI commands (`script`/`call`) that have no
275
- // Vite server (contract C5).
276
- for (const rel of ['/linked.backend.storage.ts', '/linked.backend.storage.js']) {
277
- if (fs_extra_1.default.existsSync(node_path_1.default.join(cwd, rel.slice(1)))) {
278
- await vite.ssrLoadModule(rel);
279
- break;
280
- }
281
- }
282
- // Plan-011 — load LinkedServer through Vite SSR so it shares the SAME
283
- // module instances as everything else in the SSR call graph. Without
284
- // this, LinkedServer is loaded by Node (→ lib/esm) while CN's App.tsx +
285
- // its transitive imports are loaded by Vite (→ src/). React contexts
286
- // created in one tree don't reach consumers in the other, causing
287
- // "Cannot destructure property 'isNativeApp' of useAppContext()" type
288
- // errors on every SSR render.
289
- const ServerClass = (await vite.ssrLoadModule('@_linked/server/shapes/LinkedServer')).LinkedServer;
290
- const server = new ServerClass(linkedConfig);
291
- // Surface stack traces from Vite ssrLoadModule failures cleanly.
292
- process.on('unhandledRejection', (err) => {
293
- if (err && err.stack) {
294
- try {
295
- vite.ssrFixStacktrace(err);
296
- }
297
- catch (_a) {
298
- // ignore
299
- }
300
- }
301
- console.error(err);
302
- });
303
- await server.start();
304
- // Plan-011 phase 3b — watcher → onSourceChange wiring.
305
- //
306
- // Discover workspace packages once at boot. On each change, look up
307
- // which workspace package the file belongs to and call onSourceChange
308
- // with that package's npm name. LinkedServer disposes the old providers,
309
- // re-imports via vite.ssrLoadModule (transparent because Vite invalidated
310
- // the module already), and re-instantiates. No process restart.
311
- const workspacePackages = await discoverWorkspacePackages(cwd);
312
- if (workspacePackages.length > 0) {
313
- console.log(`[linked] watching ${workspacePackages.length} workspace packages for HMR`);
314
- }
315
- vite.watcher.on('change', (filepath) => {
316
- if (!/\.(tsx?|jsx?)$/.test(filepath))
317
- return;
318
- const pkg = workspacePackageForPath(filepath, workspacePackages);
319
- if (!pkg)
320
- return;
321
- if (typeof server.onSourceChange !== 'function')
322
- return;
323
- void server
324
- .onSourceChange(pkg)
325
- .catch((err) => {
326
- var _a;
327
- console.warn(`[linked] reload of ${pkg} failed: ${(_a = err === null || err === void 0 ? void 0 : err.message) !== null && _a !== void 0 ? _a : err}`);
328
- });
329
- });
330
- // Plan-011 phase 3c — r/o keyboard shortcuts.
331
- const port = (_c = (_b = linkedConfig.server.port) !== null && _b !== void 0 ? _b : opts.port) !== null && _c !== void 0 ? _c : 4040;
332
- installShortcuts({
333
- url: `http://localhost:${port}/`,
334
- onRestart: restartProcess,
335
- });
336
- }
337
- //# sourceMappingURL=start.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- import TerserPlugin from 'terser-webpack-plugin';
2
- import type { LinkedConfig } from './interfaces.js';
3
- /**
4
- * Converts a css class name to a unique scoped name (for CSS Modules)
5
- * @param context
6
- * @param currentFormat
7
- * @param name
8
- */
9
- declare function getLocalIdent(context: any, currentFormat: any, name: any): string;
10
- export declare const getLinkedConfig: () => Promise<LinkedConfig>;
11
- export declare const getWebpackAppConfig: () => Promise<{
12
- mode: string;
13
- devtool: string;
14
- entry: string[];
15
- watch: boolean;
16
- output: {
17
- path: string;
18
- filename: string;
19
- publicPath: string;
20
- clean: boolean;
21
- };
22
- watchOptions: {
23
- ignored: RegExp;
24
- aggregateTimeout: number;
25
- };
26
- devServer: {
27
- client: {
28
- progress: boolean;
29
- };
30
- };
31
- plugins: any[];
32
- externals: {
33
- [npmModule: string]: string;
34
- };
35
- module: {
36
- rules: ({
37
- test: RegExp;
38
- use: (string | {
39
- loader: string;
40
- options: {
41
- url: boolean;
42
- importLoaders: number;
43
- modules: {
44
- mode: string;
45
- getLocalIdent: typeof getLocalIdent;
46
- auto: (resourcePath: string) => boolean;
47
- };
48
- postcssOptions?: undefined;
49
- };
50
- } | {
51
- loader: string;
52
- options: {
53
- postcssOptions: {
54
- plugins: any[];
55
- };
56
- url?: undefined;
57
- importLoaders?: undefined;
58
- modules?: undefined;
59
- };
60
- })[];
61
- exclude?: undefined;
62
- } | {
63
- test: RegExp;
64
- use: {
65
- loader: string;
66
- options: {
67
- transpileOnly: boolean;
68
- getCustomTransformers?: () => {
69
- before: import("typescript").TransformerFactory<import("typescript").SourceFile>[];
70
- };
71
- };
72
- }[];
73
- exclude: RegExp;
74
- })[];
75
- };
76
- optimization: {
77
- minimize: boolean;
78
- minimizer: TerserPlugin<{
79
- keep_classnames: boolean;
80
- }>[];
81
- splitChunks: {
82
- cacheGroups: {
83
- defaultVendors: boolean;
84
- default: boolean;
85
- };
86
- };
87
- };
88
- stats: {
89
- chunks: boolean;
90
- assets: boolean;
91
- entrypoints: boolean;
92
- children: boolean;
93
- modules: boolean;
94
- };
95
- resolve: {
96
- extensions: string[];
97
- alias: {
98
- [oldNpmPath: string]: string;
99
- };
100
- extensionAlias: {
101
- '.js': string[];
102
- '.jsx': string[];
103
- };
104
- };
105
- cache: {
106
- type: "filesystem";
107
- } | {
108
- type: "memory";
109
- };
110
- }>;
111
- export {};
112
- //# sourceMappingURL=config-webpack-app.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-webpack-app.d.ts","sourceRoot":"","sources":["../../src/config-webpack-app.ts"],"names":[],"mappings":"AAMA,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAIjD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AA2ElD;;;;;GAKG;AACH,iBAAS,aAAa,CAAC,OAAO,KAAA,EAAE,aAAa,KAAA,EAAE,IAAI,KAAA,UAGlD;AAED,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,YAAY,CA4D5D,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CAqLO,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyFd,YAAY;;cAChB,QAAQ;;EAElC,CAAC"}