astro-md-editor 0.0.5 → 0.0.7
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/.output/nitro.json +1 -1
- package/.output/public/assets/{index-UQt6zCrS.js → index-CBGDT9fi.js} +97 -97
- package/.output/public/assets/{main-DzXOjsqg.js → main-BrRIwdKE.js} +1 -1
- package/.output/server/_libs/ajv.mjs +640 -42
- package/.output/server/_ssr/{index-Bn1uKwTu.mjs → index-qpTkRHX1.mjs} +15 -4
- package/.output/server/_ssr/index.mjs +8 -8
- package/.output/server/_ssr/{router-dPC3iVPs.mjs → router-DU3Hv7p_.mjs} +1 -1
- package/.output/server/{_tanstack-start-manifest_v-Da8tuNDH.mjs → _tanstack-start-manifest_v-BdKE8Xjm.mjs} +1 -1
- package/.output/server/index.mjs +50 -50
- package/package.json +24 -1
- package/scripts/bootstrap-collections.mjs +48 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
|
|
2
|
-
import { u as useCollectionsData, R as Route, c as createSsrRpc } from "./router-
|
|
2
|
+
import { u as useCollectionsData, R as Route, c as createSsrRpc } from "./router-DU3Hv7p_.mjs";
|
|
3
3
|
import { t as toast } from "../_libs/sonner.mjs";
|
|
4
4
|
import { c as cva } from "../_libs/class-variance-authority.mjs";
|
|
5
5
|
import { c as clsx } from "../_libs/clsx.mjs";
|
|
@@ -16,7 +16,7 @@ import { c as createServerFn } from "./index.mjs";
|
|
|
16
16
|
import { g } from "../_libs/marked.mjs";
|
|
17
17
|
import { T as TurndownService } from "../_libs/turndown.mjs";
|
|
18
18
|
import { g as gfm } from "../_libs/turndown-plugin-gfm.mjs";
|
|
19
|
-
import { A as
|
|
19
|
+
import { A as Ajv2020 } from "../_libs/ajv.mjs";
|
|
20
20
|
import { a as addFormats } from "../_libs/ajv-formats.mjs";
|
|
21
21
|
import { P as PanelLeftClose, a as PanelLeftOpen, L as LoaderCircle, S as Save, b as PanelRightClose, c as PanelRightOpen, d as Trash2, e as LaptopMinimal, M as Moon, f as Sun, g as ChevronDown, h as Check, H as Heading1, i as Heading2, j as List, k as ListOrdered, l as ListChecks, Q as Quote, m as CodeXml, n as Minus, o as Link, p as Image, X, q as CalendarDays, r as Clock3, s as ChevronUp, t as Search, u as ChevronLeft, v as ChevronRight } from "../_libs/lucide-react.mjs";
|
|
22
22
|
import { c as create } from "../_libs/zustand.mjs";
|
|
@@ -3100,7 +3100,7 @@ function applyRevisionFrontmatter(params) {
|
|
|
3100
3100
|
};
|
|
3101
3101
|
}
|
|
3102
3102
|
const ROOT_VALIDATION_KEY = "_root";
|
|
3103
|
-
const ajv = new
|
|
3103
|
+
const ajv = new Ajv2020({
|
|
3104
3104
|
allErrors: true,
|
|
3105
3105
|
strict: false
|
|
3106
3106
|
});
|
|
@@ -3150,7 +3150,18 @@ function mapAjvErrors(errors) {
|
|
|
3150
3150
|
return mapped;
|
|
3151
3151
|
}
|
|
3152
3152
|
function validateFrontmatterDraft(schema, draft) {
|
|
3153
|
-
|
|
3153
|
+
let validator;
|
|
3154
|
+
try {
|
|
3155
|
+
validator = getSchemaValidator(schema);
|
|
3156
|
+
} catch (error) {
|
|
3157
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
3158
|
+
return {
|
|
3159
|
+
valid: false,
|
|
3160
|
+
errors: {
|
|
3161
|
+
[ROOT_VALIDATION_KEY]: [`schema compile failed: ${message}`]
|
|
3162
|
+
}
|
|
3163
|
+
};
|
|
3164
|
+
}
|
|
3154
3165
|
const valid = validator(draft);
|
|
3155
3166
|
return {
|
|
3156
3167
|
valid: Boolean(valid),
|
|
@@ -440,7 +440,7 @@ function getResponse() {
|
|
|
440
440
|
return event.res;
|
|
441
441
|
}
|
|
442
442
|
async function getStartManifest(matchedRoutes) {
|
|
443
|
-
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-
|
|
443
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-BdKE8Xjm.mjs");
|
|
444
444
|
const startManifest = tsrStartManifest();
|
|
445
445
|
const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
|
|
446
446
|
rootRoute.assets = rootRoute.assets || [];
|
|
@@ -612,6 +612,12 @@ const manifest = { "e3ae5ae6db5120d43fecff71cd0258cb4a93807a1a382949ccd189596d19
|
|
|
612
612
|
}, "1f487dcb5d0b909c2785163b904a0ee48e748b32783309e964b4502d83a2e7a7": {
|
|
613
613
|
functionName: "getImageAssetPreview_createServerFn_handler",
|
|
614
614
|
importer: () => import("./ImageAssetBrowser-DNDdTqtf.mjs")
|
|
615
|
+
}, "3ba1a566c82090c8422dd6ca7258b2e1aed644206364441faf1bd80942f21745": {
|
|
616
|
+
functionName: "listIconifyCollectionsServerFn_createServerFn_handler",
|
|
617
|
+
importer: () => import("./IconPickerPopover-fNUx2jAc.mjs")
|
|
618
|
+
}, "c9dff6ed7373b505d6aeeb84c63f87a0d0c205051d9d817929a5b500e5e79e03": {
|
|
619
|
+
functionName: "listCollectionIconsServerFn_createServerFn_handler",
|
|
620
|
+
importer: () => import("./IconPickerPopover-fNUx2jAc.mjs")
|
|
615
621
|
}, "dcd3839820feeaed3b1a4f86186dd05c2e7e26ffaacdeaba309f44d121c95ad1": {
|
|
616
622
|
functionName: "listFileHistoryServerFn_createServerFn_handler",
|
|
617
623
|
importer: () => import("./file-history.api-oydnxFVV.mjs")
|
|
@@ -621,12 +627,6 @@ const manifest = { "e3ae5ae6db5120d43fecff71cd0258cb4a93807a1a382949ccd189596d19
|
|
|
621
627
|
}, "8346edc0b9da2addd68ca674ed9b2030f439d40deb713c45ef88393f5bdb91b9": {
|
|
622
628
|
functionName: "getLocalImagePreviewServerFn_createServerFn_handler",
|
|
623
629
|
importer: () => import("./image-preview.api-pcN5PQhH.mjs")
|
|
624
|
-
}, "3ba1a566c82090c8422dd6ca7258b2e1aed644206364441faf1bd80942f21745": {
|
|
625
|
-
functionName: "listIconifyCollectionsServerFn_createServerFn_handler",
|
|
626
|
-
importer: () => import("./IconPickerPopover-fNUx2jAc.mjs")
|
|
627
|
-
}, "c9dff6ed7373b505d6aeeb84c63f87a0d0c205051d9d817929a5b500e5e79e03": {
|
|
628
|
-
functionName: "listCollectionIconsServerFn_createServerFn_handler",
|
|
629
|
-
importer: () => import("./IconPickerPopover-fNUx2jAc.mjs")
|
|
630
630
|
} };
|
|
631
631
|
async function getServerFnById(id) {
|
|
632
632
|
const serverFnInfo = manifest[id];
|
|
@@ -1049,7 +1049,7 @@ let entriesPromise;
|
|
|
1049
1049
|
let baseManifestPromise;
|
|
1050
1050
|
let cachedFinalManifestPromise;
|
|
1051
1051
|
async function loadEntries() {
|
|
1052
|
-
const routerEntry = await import("./router-
|
|
1052
|
+
const routerEntry = await import("./router-DU3Hv7p_.mjs").then((n) => n.r);
|
|
1053
1053
|
const startEntry = await import("./start-HYkvq4Ni.mjs");
|
|
1054
1054
|
return { startEntry, routerEntry };
|
|
1055
1055
|
}
|
|
@@ -144,7 +144,7 @@ function RootDocument({
|
|
|
144
144
|
] })
|
|
145
145
|
] });
|
|
146
146
|
}
|
|
147
|
-
const $$splitComponentImporter = () => import("./index-
|
|
147
|
+
const $$splitComponentImporter = () => import("./index-qpTkRHX1.mjs");
|
|
148
148
|
const Route = createFileRoute("/")({
|
|
149
149
|
validateSearch: (search) => {
|
|
150
150
|
const record = search;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "/Users/bimsina/Desktop/Development/Personal/astro-md-editor/src/routes/__root.tsx", "children": ["/"], "preloads": ["/assets/main-
|
|
1
|
+
const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "/Users/bimsina/Desktop/Development/Personal/astro-md-editor/src/routes/__root.tsx", "children": ["/"], "preloads": ["/assets/main-BrRIwdKE.js"], "assets": [] }, "/": { "filePath": "/Users/bimsina/Desktop/Development/Personal/astro-md-editor/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-CBGDT9fi.js"] } }, "clientEntry": "/assets/main-BrRIwdKE.js" });
|
|
2
2
|
export {
|
|
3
3
|
tsrStartManifest
|
|
4
4
|
};
|
package/.output/server/index.mjs
CHANGED
|
@@ -100,107 +100,107 @@ const assets = {
|
|
|
100
100
|
"/favicon.ico": {
|
|
101
101
|
"type": "image/vnd.microsoft.icon",
|
|
102
102
|
"etag": '"f1e-ESBTjHetHyiokkO0tT/irBbMO8Y"',
|
|
103
|
-
"mtime": "2026-03-
|
|
103
|
+
"mtime": "2026-03-14T15:44:03.429Z",
|
|
104
104
|
"size": 3870,
|
|
105
105
|
"path": "../public/favicon.ico"
|
|
106
106
|
},
|
|
107
|
-
"/manifest.json": {
|
|
108
|
-
"type": "application/json",
|
|
109
|
-
"etag": '"1f2-Oqn/x1R1hBTtEjA8nFhpBeFJJNg"',
|
|
110
|
-
"mtime": "2026-03-08T06:10:25.839Z",
|
|
111
|
-
"size": 498,
|
|
112
|
-
"path": "../public/manifest.json"
|
|
113
|
-
},
|
|
114
107
|
"/logo192.png": {
|
|
115
108
|
"type": "image/png",
|
|
116
109
|
"etag": '"14e3-f08taHgqf6/O2oRVTsq5tImHdQA"',
|
|
117
|
-
"mtime": "2026-03-
|
|
110
|
+
"mtime": "2026-03-14T15:44:03.429Z",
|
|
118
111
|
"size": 5347,
|
|
119
112
|
"path": "../public/logo192.png"
|
|
120
113
|
},
|
|
121
114
|
"/robots.txt": {
|
|
122
115
|
"type": "text/plain; charset=utf-8",
|
|
123
116
|
"etag": '"43-BEzmj4PuhUNHX+oW9uOnPSihxtU"',
|
|
124
|
-
"mtime": "2026-03-
|
|
117
|
+
"mtime": "2026-03-14T15:44:03.429Z",
|
|
125
118
|
"size": 67,
|
|
126
119
|
"path": "../public/robots.txt"
|
|
127
120
|
},
|
|
128
|
-
"/
|
|
129
|
-
"type": "
|
|
130
|
-
"etag": '"
|
|
131
|
-
"mtime": "2026-03-
|
|
132
|
-
"size":
|
|
133
|
-
"path": "../public/
|
|
134
|
-
},
|
|
135
|
-
"/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2": {
|
|
136
|
-
"type": "font/woff2",
|
|
137
|
-
"etag": '"2be0-BP5iTzJeB8nLqYAgKpWNi5o1Zm8"',
|
|
138
|
-
"mtime": "2026-03-08T06:10:25.332Z",
|
|
139
|
-
"size": 11232,
|
|
140
|
-
"path": "../public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2"
|
|
121
|
+
"/logo512.png": {
|
|
122
|
+
"type": "image/png",
|
|
123
|
+
"etag": '"25c0-RpFfnQJpTtSb/HqVNJR2hBA9w/4"',
|
|
124
|
+
"mtime": "2026-03-14T15:44:03.429Z",
|
|
125
|
+
"size": 9664,
|
|
126
|
+
"path": "../public/logo512.png"
|
|
141
127
|
},
|
|
142
128
|
"/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2": {
|
|
143
129
|
"type": "font/woff2",
|
|
144
130
|
"etag": '"6568-cF1iUGbboMFZ8TfnP5HiMgl9II0"',
|
|
145
|
-
"mtime": "2026-03-
|
|
131
|
+
"mtime": "2026-03-14T15:44:02.940Z",
|
|
146
132
|
"size": 25960,
|
|
147
133
|
"path": "../public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2"
|
|
148
134
|
},
|
|
149
|
-
"/
|
|
150
|
-
"type": "
|
|
151
|
-
"etag": '"
|
|
152
|
-
"mtime": "2026-03-
|
|
153
|
-
"size":
|
|
154
|
-
"path": "../public/
|
|
135
|
+
"/manifest.json": {
|
|
136
|
+
"type": "application/json",
|
|
137
|
+
"etag": '"1f2-Oqn/x1R1hBTtEjA8nFhpBeFJJNg"',
|
|
138
|
+
"mtime": "2026-03-14T15:44:03.429Z",
|
|
139
|
+
"size": 498,
|
|
140
|
+
"path": "../public/manifest.json"
|
|
141
|
+
},
|
|
142
|
+
"/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2": {
|
|
143
|
+
"type": "font/woff2",
|
|
144
|
+
"etag": '"2be0-BP5iTzJeB8nLqYAgKpWNi5o1Zm8"',
|
|
145
|
+
"mtime": "2026-03-14T15:44:02.940Z",
|
|
146
|
+
"size": 11232,
|
|
147
|
+
"path": "../public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2"
|
|
155
148
|
},
|
|
156
149
|
"/assets/inter-greek-wght-normal-CkhJZR-_.woff2": {
|
|
157
150
|
"type": "font/woff2",
|
|
158
151
|
"etag": '"4a34-xor/hj4YNqI52zFecXnUbzQ4Xs4"',
|
|
159
|
-
"mtime": "2026-03-
|
|
152
|
+
"mtime": "2026-03-14T15:44:02.939Z",
|
|
160
153
|
"size": 18996,
|
|
161
154
|
"path": "../public/assets/inter-greek-wght-normal-CkhJZR-_.woff2"
|
|
162
155
|
},
|
|
156
|
+
"/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2": {
|
|
157
|
+
"type": "font/woff2",
|
|
158
|
+
"etag": '"493c-n3Oy9D6jvzfMjpClqox+Zo7ERQQ"',
|
|
159
|
+
"mtime": "2026-03-14T15:44:02.940Z",
|
|
160
|
+
"size": 18748,
|
|
161
|
+
"path": "../public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2"
|
|
162
|
+
},
|
|
163
163
|
"/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2": {
|
|
164
164
|
"type": "font/woff2",
|
|
165
165
|
"etag": '"14c4c-zz61D7IQFMB9QxHvTAOk/Vh4ibQ"',
|
|
166
|
-
"mtime": "2026-03-
|
|
166
|
+
"mtime": "2026-03-14T15:44:02.940Z",
|
|
167
167
|
"size": 85068,
|
|
168
168
|
"path": "../public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2"
|
|
169
169
|
},
|
|
170
170
|
"/assets/inter-latin-wght-normal-Dx4kXJAl.woff2": {
|
|
171
171
|
"type": "font/woff2",
|
|
172
172
|
"etag": '"bc80-8R1ym7Ck2DUNLqPQ/AYs9u8tUpg"',
|
|
173
|
-
"mtime": "2026-03-
|
|
173
|
+
"mtime": "2026-03-14T15:44:02.940Z",
|
|
174
174
|
"size": 48256,
|
|
175
175
|
"path": "../public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2"
|
|
176
176
|
},
|
|
177
|
-
"/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2": {
|
|
178
|
-
"type": "font/woff2",
|
|
179
|
-
"etag": '"280c-nBythjoDQ0+5wVAendJ6wU7Xz2M"',
|
|
180
|
-
"mtime": "2026-03-08T06:10:25.333Z",
|
|
181
|
-
"size": 10252,
|
|
182
|
-
"path": "../public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2"
|
|
183
|
-
},
|
|
184
177
|
"/assets/styles-CezfLgHY.css": {
|
|
185
178
|
"type": "text/css; charset=utf-8",
|
|
186
179
|
"etag": '"16c03-6spcY0zAbMWYIfx4MkgUIWefXb0"',
|
|
187
|
-
"mtime": "2026-03-
|
|
180
|
+
"mtime": "2026-03-14T15:44:02.940Z",
|
|
188
181
|
"size": 93187,
|
|
189
182
|
"path": "../public/assets/styles-CezfLgHY.css"
|
|
190
183
|
},
|
|
191
|
-
"/assets/
|
|
184
|
+
"/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2": {
|
|
185
|
+
"type": "font/woff2",
|
|
186
|
+
"etag": '"280c-nBythjoDQ0+5wVAendJ6wU7Xz2M"',
|
|
187
|
+
"mtime": "2026-03-14T15:44:02.940Z",
|
|
188
|
+
"size": 10252,
|
|
189
|
+
"path": "../public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2"
|
|
190
|
+
},
|
|
191
|
+
"/assets/main-BrRIwdKE.js": {
|
|
192
192
|
"type": "text/javascript; charset=utf-8",
|
|
193
|
-
"etag": '"59339-
|
|
194
|
-
"mtime": "2026-03-
|
|
193
|
+
"etag": '"59339-C2r9gJOVqY5b3mo3vdkDOOlHT+o"',
|
|
194
|
+
"mtime": "2026-03-14T15:44:02.940Z",
|
|
195
195
|
"size": 365369,
|
|
196
|
-
"path": "../public/assets/main-
|
|
196
|
+
"path": "../public/assets/main-BrRIwdKE.js"
|
|
197
197
|
},
|
|
198
|
-
"/assets/index-
|
|
198
|
+
"/assets/index-CBGDT9fi.js": {
|
|
199
199
|
"type": "text/javascript; charset=utf-8",
|
|
200
|
-
"etag": '"
|
|
201
|
-
"mtime": "2026-03-
|
|
202
|
-
"size":
|
|
203
|
-
"path": "../public/assets/index-
|
|
200
|
+
"etag": '"1011aa-sc3efTI1UWHQsOk43D/xxczKDnA"',
|
|
201
|
+
"mtime": "2026-03-14T15:44:02.940Z",
|
|
202
|
+
"size": 1053098,
|
|
203
|
+
"path": "../public/assets/index-CBGDT9fi.js"
|
|
204
204
|
}
|
|
205
205
|
};
|
|
206
206
|
function readAsset(id) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "astro-md-editor",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
|
+
"description": "Schema-aware editor for Astro content collections.",
|
|
5
|
+
"author": "Bibek Timsina",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"astro",
|
|
9
|
+
"markdown",
|
|
10
|
+
"mdx",
|
|
11
|
+
"content-collections",
|
|
12
|
+
"editor",
|
|
13
|
+
"cli"
|
|
14
|
+
],
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/bimsina/astro-md-editor.git"
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://github.com/bimsina/astro-md-editor#readme",
|
|
20
|
+
"bugs": {
|
|
21
|
+
"url": "https://github.com/bimsina/astro-md-editor/issues"
|
|
22
|
+
},
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=20"
|
|
25
|
+
},
|
|
26
|
+
"packageManager": "pnpm@10.28.2",
|
|
4
27
|
"private": false,
|
|
5
28
|
"type": "module",
|
|
6
29
|
"bin": {
|
|
@@ -10,14 +10,20 @@ const ROOT_ENV_KEY = 'APP_ROOT_PATH';
|
|
|
10
10
|
const DEFAULT_ROOT_PATH = '.';
|
|
11
11
|
const COLLECTIONS_RELATIVE_PATH_PREFIX = '.astro/collections/';
|
|
12
12
|
const CONTENT_RELATIVE_PATH_PREFIX = 'src/content/';
|
|
13
|
-
const
|
|
13
|
+
const MODERN_CONTENT_CONFIG_CANDIDATES = [
|
|
14
14
|
'src/content.config.ts',
|
|
15
15
|
'src/content.config.mjs',
|
|
16
16
|
'src/content.config.js',
|
|
17
|
+
];
|
|
18
|
+
const LEGACY_CONTENT_CONFIG_CANDIDATES = [
|
|
17
19
|
'src/content/config.ts',
|
|
18
20
|
'src/content/config.mjs',
|
|
19
21
|
'src/content/config.js',
|
|
20
22
|
];
|
|
23
|
+
const CONTENT_CONFIG_CANDIDATES = [
|
|
24
|
+
...MODERN_CONTENT_CONFIG_CANDIDATES,
|
|
25
|
+
...LEGACY_CONTENT_CONFIG_CANDIDATES,
|
|
26
|
+
];
|
|
21
27
|
const FIELD_OVERRIDES_FILE = 'astro-md-editor.fields.json';
|
|
22
28
|
const ASTRO_DEFINITION_PREFIX = '#/definitions/';
|
|
23
29
|
const CONTENT_FILE_EXTENSIONS = new Set(['.md', '.mdx', '.markdown']);
|
|
@@ -657,6 +663,17 @@ async function fileExists(filePath) {
|
|
|
657
663
|
}
|
|
658
664
|
}
|
|
659
665
|
|
|
666
|
+
async function resolveFirstExistingPath(rootDir, candidates) {
|
|
667
|
+
for (const candidate of candidates) {
|
|
668
|
+
const fullPath = resolve(rootDir, candidate);
|
|
669
|
+
if (await fileExists(fullPath)) {
|
|
670
|
+
return fullPath;
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
return undefined;
|
|
675
|
+
}
|
|
676
|
+
|
|
660
677
|
async function resolveAstroCliPath(rootDir) {
|
|
661
678
|
const candidatePaths =
|
|
662
679
|
process.platform === 'win32'
|
|
@@ -676,6 +693,11 @@ async function resolveAstroCliPath(rootDir) {
|
|
|
676
693
|
}
|
|
677
694
|
|
|
678
695
|
async function runAstroSync(rootDir, env = process.env) {
|
|
696
|
+
const legacyConfigPath = await resolveFirstExistingPath(
|
|
697
|
+
rootDir,
|
|
698
|
+
LEGACY_CONTENT_CONFIG_CANDIDATES,
|
|
699
|
+
);
|
|
700
|
+
|
|
679
701
|
const astroCliPath = await resolveAstroCliPath(rootDir);
|
|
680
702
|
if (!astroCliPath) {
|
|
681
703
|
throw new Error(
|
|
@@ -687,16 +709,40 @@ async function runAstroSync(rootDir, env = process.env) {
|
|
|
687
709
|
}
|
|
688
710
|
|
|
689
711
|
await new Promise((resolveSync, rejectSync) => {
|
|
712
|
+
let commandOutput = '';
|
|
690
713
|
const child = spawn(astroCliPath, ['sync'], {
|
|
691
714
|
cwd: rootDir,
|
|
692
|
-
stdio: '
|
|
715
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
693
716
|
env,
|
|
694
717
|
shell: process.platform === 'win32',
|
|
695
718
|
});
|
|
696
719
|
|
|
720
|
+
child.stdout?.on('data', (chunk) => {
|
|
721
|
+
const text = String(chunk);
|
|
722
|
+
commandOutput += text;
|
|
723
|
+
process.stdout.write(chunk);
|
|
724
|
+
});
|
|
725
|
+
|
|
726
|
+
child.stderr?.on('data', (chunk) => {
|
|
727
|
+
const text = String(chunk);
|
|
728
|
+
commandOutput += text;
|
|
729
|
+
process.stderr.write(chunk);
|
|
730
|
+
});
|
|
731
|
+
|
|
697
732
|
child.on('error', rejectSync);
|
|
698
733
|
child.on('exit', (code, signal) => {
|
|
699
734
|
if (signal || code !== 0) {
|
|
735
|
+
if (
|
|
736
|
+
legacyConfigPath &&
|
|
737
|
+
commandOutput.includes('LegacyContentConfigError')
|
|
738
|
+
) {
|
|
739
|
+
console.warn(
|
|
740
|
+
`[bootstrap] Continuing without Astro schema sync due to legacy config at ${relative(rootDir, legacyConfigPath)}.`,
|
|
741
|
+
);
|
|
742
|
+
resolveSync();
|
|
743
|
+
return;
|
|
744
|
+
}
|
|
745
|
+
|
|
700
746
|
rejectSync(
|
|
701
747
|
new Error(
|
|
702
748
|
`astro sync failed in ${rootDir} with exit code ${code ?? 'unknown'}.`,
|