@_linked/cli 1.8.2 → 1.9.0

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 (179) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/jest.config.cjs +8 -4
  3. package/lib/esm/cli-methods.d.ts.map +1 -1
  4. package/lib/esm/cli-methods.js +15 -3
  5. package/lib/esm/cli-methods.js.map +1 -1
  6. package/lib/esm/vite-config.d.ts.map +1 -1
  7. package/lib/esm/vite-config.js +49 -16
  8. package/lib/esm/vite-config.js.map +1 -1
  9. package/package.json +8 -14
  10. package/tests/unit/safeYarn.test.ts +1 -1
  11. package/defaults/app-with-backend/.env-cmdrc.json +0 -19
  12. package/defaults/app-with-backend/.env.example +0 -20
  13. package/defaults/app-with-backend/.eslintignore +0 -5
  14. package/defaults/app-with-backend/.eslintrc.json +0 -40
  15. package/defaults/app-with-backend/.prettierignore +0 -4
  16. package/defaults/app-with-backend/.prettierrc.json +0 -27
  17. package/defaults/app-with-backend/.vscode/launch.json +0 -12
  18. package/defaults/app-with-backend/.yarn/plugins/@yarnpkg/plugin-version.cjs +0 -550
  19. package/defaults/app-with-backend/.yarn/releases/yarn-3.6.1.cjs +0 -874
  20. package/defaults/app-with-backend/gitignore.template +0 -27
  21. package/defaults/app-with-backend/linked.backend.datasets.example.json +0 -17
  22. package/defaults/app-with-backend/linked.backend.storage.ts +0 -35
  23. package/defaults/app-with-backend/linked.config.js +0 -7
  24. package/defaults/app-with-backend/package.json +0 -75
  25. package/defaults/app-with-backend/pm2-staging.config.js +0 -12
  26. package/defaults/app-with-backend/pm2.config.js +0 -12
  27. package/defaults/app-with-backend/public/favicon-144x144.png +0 -0
  28. package/defaults/app-with-backend/public/favicon-57x57.png +0 -0
  29. package/defaults/app-with-backend/public/favicon-72x72.png +0 -0
  30. package/defaults/app-with-backend/public/favicon.ico +0 -0
  31. package/defaults/app-with-backend/readme.md +0 -93
  32. package/defaults/app-with-backend/src/App.module.css +0 -83
  33. package/defaults/app-with-backend/src/App.tsx +0 -30
  34. package/defaults/app-with-backend/src/backend.ts +0 -9
  35. package/defaults/app-with-backend/src/components/Error.module.css +0 -9
  36. package/defaults/app-with-backend/src/components/Error.tsx +0 -11
  37. package/defaults/app-with-backend/src/components/PersonOverview.module.css +0 -100
  38. package/defaults/app-with-backend/src/components/PersonOverview.tsx +0 -97
  39. package/defaults/app-with-backend/src/components/PersonOverviewContext.tsx +0 -12
  40. package/defaults/app-with-backend/src/components/PersonPreview.module.css +0 -97
  41. package/defaults/app-with-backend/src/components/PersonPreview.tsx +0 -109
  42. package/defaults/app-with-backend/src/components/Spinner.module.css +0 -17
  43. package/defaults/app-with-backend/src/components/Spinner.tsx +0 -12
  44. package/defaults/app-with-backend/src/index.tsx +0 -34
  45. package/defaults/app-with-backend/src/layout/DefaultLayout.module.css +0 -15
  46. package/defaults/app-with-backend/src/layout/DefaultLayout.tsx +0 -12
  47. package/defaults/app-with-backend/src/layout/Header.module.css +0 -46
  48. package/defaults/app-with-backend/src/layout/Header.tsx +0 -27
  49. package/defaults/app-with-backend/src/linked.frontend.datasets.json +0 -12
  50. package/defaults/app-with-backend/src/linked.frontend.storage.ts +0 -36
  51. package/defaults/app-with-backend/src/package.ts +0 -16
  52. package/defaults/app-with-backend/src/pages/Home.module.css +0 -23
  53. package/defaults/app-with-backend/src/pages/Home.tsx +0 -14
  54. package/defaults/app-with-backend/src/pages/Page1.module.css +0 -111
  55. package/defaults/app-with-backend/src/pages/Page1.tsx +0 -196
  56. package/defaults/app-with-backend/src/pages/PageNotFound.module.css +0 -19
  57. package/defaults/app-with-backend/src/pages/PageNotFound.tsx +0 -14
  58. package/defaults/app-with-backend/src/pages/Signin.module.css +0 -20
  59. package/defaults/app-with-backend/src/pages/Signin.tsx +0 -16
  60. package/defaults/app-with-backend/src/routes.tsx +0 -78
  61. package/defaults/app-with-backend/src/theme.css +0 -91
  62. package/defaults/app-with-backend/src/types.ts +0 -14
  63. package/defaults/app-with-backend/src/utils/lazyWithPreload.tsx +0 -42
  64. package/defaults/app-with-backend/src/utils/preloadRoutes.ts +0 -38
  65. package/defaults/app-with-backend/tsconfig.json +0 -24
  66. package/defaults/app-with-backend/vite.config.ts +0 -13
  67. package/defaults/app-with-backend/yarnrc.yml.template +0 -8
  68. package/lib/cjs/cli-methods.d.ts +0 -75
  69. package/lib/cjs/cli-methods.d.ts.map +0 -1
  70. package/lib/cjs/cli-methods.js +0 -2655
  71. package/lib/cjs/cli-methods.js.map +0 -1
  72. package/lib/cjs/cli.d.ts +0 -3
  73. package/lib/cjs/cli.d.ts.map +0 -1
  74. package/lib/cjs/cli.js +0 -339
  75. package/lib/cjs/cli.js.map +0 -1
  76. package/lib/cjs/commands/build-package.d.ts +0 -9
  77. package/lib/cjs/commands/build-package.d.ts.map +0 -1
  78. package/lib/cjs/commands/build-package.js +0 -55
  79. package/lib/cjs/commands/build-package.js.map +0 -1
  80. package/lib/cjs/commands/safe-yarn.d.ts +0 -10
  81. package/lib/cjs/commands/safe-yarn.d.ts.map +0 -1
  82. package/lib/cjs/commands/safe-yarn.js +0 -66
  83. package/lib/cjs/commands/safe-yarn.js.map +0 -1
  84. package/lib/cjs/commands/setup-publish.d.ts +0 -23
  85. package/lib/cjs/commands/setup-publish.d.ts.map +0 -1
  86. package/lib/cjs/commands/setup-publish.js +0 -369
  87. package/lib/cjs/commands/setup-publish.js.map +0 -1
  88. package/lib/cjs/commands/start.d.ts +0 -6
  89. package/lib/cjs/commands/start.d.ts.map +0 -1
  90. package/lib/cjs/commands/start.js +0 -337
  91. package/lib/cjs/commands/start.js.map +0 -1
  92. package/lib/cjs/config-webpack-app.d.ts +0 -112
  93. package/lib/cjs/config-webpack-app.d.ts.map +0 -1
  94. package/lib/cjs/config-webpack-app.js +0 -427
  95. package/lib/cjs/config-webpack-app.js.map +0 -1
  96. package/lib/cjs/config-webpack.d.ts +0 -55
  97. package/lib/cjs/config-webpack.d.ts.map +0 -1
  98. package/lib/cjs/config-webpack.js +0 -417
  99. package/lib/cjs/config-webpack.js.map +0 -1
  100. package/lib/cjs/defineConfig.d.ts +0 -8
  101. package/lib/cjs/defineConfig.d.ts.map +0 -1
  102. package/lib/cjs/defineConfig.js +0 -12
  103. package/lib/cjs/defineConfig.js.map +0 -1
  104. package/lib/cjs/index.d.ts +0 -12
  105. package/lib/cjs/index.d.ts.map +0 -1
  106. package/lib/cjs/index.js +0 -43
  107. package/lib/cjs/index.js.map +0 -1
  108. package/lib/cjs/interfaces.d.ts +0 -140
  109. package/lib/cjs/interfaces.d.ts.map +0 -1
  110. package/lib/cjs/interfaces.js +0 -3
  111. package/lib/cjs/interfaces.js.map +0 -1
  112. package/lib/cjs/lifecycle.d.ts +0 -24
  113. package/lib/cjs/lifecycle.d.ts.map +0 -1
  114. package/lib/cjs/lifecycle.js +0 -187
  115. package/lib/cjs/lifecycle.js.map +0 -1
  116. package/lib/cjs/loaders/css-loader.d.mts +0 -2
  117. package/lib/cjs/loaders/css-loader.d.mts.map +0 -1
  118. package/lib/cjs/loaders/css-loader.mjs +0 -86
  119. package/lib/cjs/loaders/css-loader.mjs.map +0 -1
  120. package/lib/cjs/loaders/register-css-only.d.ts +0 -2
  121. package/lib/cjs/loaders/register-css-only.d.ts.map +0 -1
  122. package/lib/cjs/loaders/register-css-only.js +0 -11
  123. package/lib/cjs/loaders/register-css-only.js.map +0 -1
  124. package/lib/cjs/loaders/register.d.ts +0 -2
  125. package/lib/cjs/loaders/register.d.ts.map +0 -1
  126. package/lib/cjs/loaders/register.js +0 -11
  127. package/lib/cjs/loaders/register.js.map +0 -1
  128. package/lib/cjs/loaders/ts-loader.d.mts +0 -3
  129. package/lib/cjs/loaders/ts-loader.d.mts.map +0 -1
  130. package/lib/cjs/loaders/ts-loader.mjs +0 -125
  131. package/lib/cjs/loaders/ts-loader.mjs.map +0 -1
  132. package/lib/cjs/metadata.d.ts +0 -1
  133. package/lib/cjs/metadata.d.ts.map +0 -1
  134. package/lib/cjs/metadata.js +0 -155
  135. package/lib/cjs/metadata.js.map +0 -1
  136. package/lib/cjs/package.json +0 -144
  137. package/lib/cjs/plugins/check-imports.d.ts +0 -2
  138. package/lib/cjs/plugins/check-imports.d.ts.map +0 -1
  139. package/lib/cjs/plugins/check-imports.js +0 -68
  140. package/lib/cjs/plugins/check-imports.js.map +0 -1
  141. package/lib/cjs/plugins/declaration-plugin.d.ts +0 -15
  142. package/lib/cjs/plugins/declaration-plugin.d.ts.map +0 -1
  143. package/lib/cjs/plugins/declaration-plugin.js +0 -285
  144. package/lib/cjs/plugins/declaration-plugin.js.map +0 -1
  145. package/lib/cjs/plugins/externalise-modules.d.ts +0 -7
  146. package/lib/cjs/plugins/externalise-modules.d.ts.map +0 -1
  147. package/lib/cjs/plugins/externalise-modules.js +0 -190
  148. package/lib/cjs/plugins/externalise-modules.js.map +0 -1
  149. package/lib/cjs/plugins/lincd-tailwind-sources.d.ts +0 -3
  150. package/lib/cjs/plugins/lincd-tailwind-sources.d.ts.map +0 -1
  151. package/lib/cjs/plugins/lincd-tailwind-sources.js +0 -32
  152. package/lib/cjs/plugins/lincd-tailwind-sources.js.map +0 -1
  153. package/lib/cjs/plugins/watch-run.d.ts +0 -5
  154. package/lib/cjs/plugins/watch-run.d.ts.map +0 -1
  155. package/lib/cjs/plugins/watch-run.js +0 -45
  156. package/lib/cjs/plugins/watch-run.js.map +0 -1
  157. package/lib/cjs/preflight.css +0 -137
  158. package/lib/cjs/tailwind.config.d.ts +0 -8
  159. package/lib/cjs/tailwind.config.d.ts.map +0 -1
  160. package/lib/cjs/tailwind.config.js +0 -17
  161. package/lib/cjs/tailwind.config.js.map +0 -1
  162. package/lib/cjs/utils.d.ts +0 -77
  163. package/lib/cjs/utils.d.ts.map +0 -1
  164. package/lib/cjs/utils.js +0 -591
  165. package/lib/cjs/utils.js.map +0 -1
  166. package/lib/cjs/vite-config.d.ts +0 -20
  167. package/lib/cjs/vite-config.d.ts.map +0 -1
  168. package/lib/cjs/vite-config.js +0 -401
  169. package/lib/cjs/vite-config.js.map +0 -1
  170. package/lib/esm/loaders/register-css-only.d.ts +0 -2
  171. package/lib/esm/loaders/register-css-only.d.ts.map +0 -1
  172. package/lib/esm/loaders/register-css-only.js +0 -9
  173. package/lib/esm/loaders/register-css-only.js.map +0 -1
  174. package/lib/esm/loaders/register.d.ts +0 -2
  175. package/lib/esm/loaders/register.d.ts.map +0 -1
  176. package/lib/esm/loaders/register.js +0 -9
  177. package/lib/esm/loaders/register.js.map +0 -1
  178. package/lib/esm/package.json +0 -144
  179. /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"}