@translation-cms/sync 1.2.4 → 1.2.6
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 +371 -247
- package/dist/bin.js +7 -4
- package/dist/bin.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +19 -1
- package/dist/commands/sync.js.map +1 -1
- package/dist/config/resolve-config.d.ts +6 -0
- package/dist/config/resolve-config.d.ts.map +1 -1
- package/dist/config/resolve-config.js +16 -0
- package/dist/config/resolve-config.js.map +1 -1
- package/dist/core/api-internals/pull.d.ts +1 -1
- package/dist/core/api-internals/pull.d.ts.map +1 -1
- package/dist/core/api-internals/pull.js +175 -43
- package/dist/core/api-internals/pull.js.map +1 -1
- package/dist/core/api-internals/sync.d.ts.map +1 -1
- package/dist/core/api-internals/sync.js.map +1 -1
- package/dist/core/cache.d.ts +23 -0
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +90 -0
- package/dist/core/cache.js.map +1 -1
- package/package.json +1 -1
package/dist/core/cache.js
CHANGED
|
@@ -140,4 +140,94 @@ export function formatPreviewRoutes(routes) {
|
|
|
140
140
|
return 'no route';
|
|
141
141
|
return routes.map(formatPreviewRoute).join(', ');
|
|
142
142
|
}
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
// Route params auto-generation
|
|
145
|
+
// ---------------------------------------------------------------------------
|
|
146
|
+
/**
|
|
147
|
+
* Extract dynamic parameter names from a route string.
|
|
148
|
+
* E.g. "/[locale]/blog/[slug]" → ["locale", "slug"]
|
|
149
|
+
*/
|
|
150
|
+
function extractParamNames(route) {
|
|
151
|
+
const matches = route.match(/\[(\w+)\]/g) ?? [];
|
|
152
|
+
return matches.map(m => m.slice(1, -1));
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Generate a sensible default value for a param name.
|
|
156
|
+
*
|
|
157
|
+
* Rules:
|
|
158
|
+
* - locale/lang → "en"
|
|
159
|
+
* - id/ID-containing names → "123"
|
|
160
|
+
* - slug/username/code → "demo" or descriptive
|
|
161
|
+
* - others → "demo"
|
|
162
|
+
*/
|
|
163
|
+
function generateDefaultParamValue(paramName) {
|
|
164
|
+
const lower = paramName.toLowerCase();
|
|
165
|
+
if (lower === 'locale' || lower === 'lang' || lower === 'language') {
|
|
166
|
+
return 'en';
|
|
167
|
+
}
|
|
168
|
+
if (lower.includes('id') ||
|
|
169
|
+
lower === 'postid' ||
|
|
170
|
+
lower === 'productid' ||
|
|
171
|
+
lower === 'userid') {
|
|
172
|
+
return '123';
|
|
173
|
+
}
|
|
174
|
+
if (lower === 'slug') {
|
|
175
|
+
return 'demo';
|
|
176
|
+
}
|
|
177
|
+
if (lower === 'username') {
|
|
178
|
+
return 'demo-user';
|
|
179
|
+
}
|
|
180
|
+
if (lower === 'email') {
|
|
181
|
+
return 'demo@example.com';
|
|
182
|
+
}
|
|
183
|
+
return 'demo';
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Generate route params from detected routes.
|
|
187
|
+
* Scans all routes, extracts [param] names, generates defaults.
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* generateRouteParams(["/[locale]/blog/[slug]", "/about"])
|
|
191
|
+
* // {
|
|
192
|
+
* // "/[locale]/blog/[slug]": { "locale": "en", "slug": "demo" }
|
|
193
|
+
* // }
|
|
194
|
+
*/
|
|
195
|
+
export function generateRouteParams(routes) {
|
|
196
|
+
const result = {};
|
|
197
|
+
for (const route of routes) {
|
|
198
|
+
const params = extractParamNames(route);
|
|
199
|
+
if (params.length === 0)
|
|
200
|
+
continue;
|
|
201
|
+
const defaults = {};
|
|
202
|
+
for (const param of params) {
|
|
203
|
+
defaults[param] = generateDefaultParamValue(param);
|
|
204
|
+
}
|
|
205
|
+
result[route] = defaults;
|
|
206
|
+
}
|
|
207
|
+
return result;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Load route params from cache (if exists).
|
|
211
|
+
*/
|
|
212
|
+
export function loadRouteParamsCache(root) {
|
|
213
|
+
const metaPath = path.join(root, '.cms-sync-cache-meta.json');
|
|
214
|
+
if (!fs.existsSync(metaPath))
|
|
215
|
+
return null;
|
|
216
|
+
try {
|
|
217
|
+
return JSON.parse(fs.readFileSync(metaPath, 'utf-8'));
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Save route params to cache.
|
|
225
|
+
*/
|
|
226
|
+
export function saveRouteParamsCache(root, params) {
|
|
227
|
+
const cached = {
|
|
228
|
+
generated: params,
|
|
229
|
+
timestamp: new Date().toISOString(),
|
|
230
|
+
};
|
|
231
|
+
fs.writeFileSync(path.join(root, '.cms-sync-cache-meta.json'), JSON.stringify(cached, null, 2), 'utf-8');
|
|
232
|
+
}
|
|
143
233
|
//# sourceMappingURL=cache.js.map
|
package/dist/core/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"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"}
|