@salla.sa/twilight-theme-engine 1.0.1 → 1.0.3
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/dist/{AddToCartForm-E6LDRNGM.js → AddToCartForm-6ODQJ32T.js} +3 -3
- package/dist/{AddToCartForm-E6LDRNGM.js.map → AddToCartForm-6ODQJ32T.js.map} +1 -1
- package/dist/{BlogAuthorPage-SK7ZTUPN.js → BlogAuthorPage-ZXRBTZHT.js} +6 -6
- package/dist/{BlogAuthorPage-SK7ZTUPN.js.map → BlogAuthorPage-ZXRBTZHT.js.map} +1 -1
- package/dist/{BlogCategoryPage-XEUUE3H2.js → BlogCategoryPage-CP7A7PZ5.js} +6 -6
- package/dist/{BlogCategoryPage-XEUUE3H2.js.map → BlogCategoryPage-CP7A7PZ5.js.map} +1 -1
- package/dist/{BlogPage-67ZEZTMY.js → BlogPage-6RW2SMNK.js} +5 -5
- package/dist/{BlogPage-67ZEZTMY.js.map → BlogPage-6RW2SMNK.js.map} +1 -1
- package/dist/{BlogSinglePage-H5NWL37R.js → BlogSinglePage-TRUQO3WQ.js} +5 -5
- package/dist/{BlogSinglePage-H5NWL37R.js.map → BlogSinglePage-TRUQO3WQ.js.map} +1 -1
- package/dist/{BlogTagPage-I6YXVDTH.js → BlogTagPage-CHV2OKQJ.js} +6 -6
- package/dist/{BlogTagPage-I6YXVDTH.js.map → BlogTagPage-CHV2OKQJ.js.map} +1 -1
- package/dist/{BrandsPage-RVK36ZAV.js → BrandsPage-JXPDOKSC.js} +5 -5
- package/dist/{BrandsPage-RVK36ZAV.js.map → BrandsPage-JXPDOKSC.js.map} +1 -1
- package/dist/{Breadcrumb-KINELHN4.js → Breadcrumb-XXDZNKOF.js} +5 -5
- package/dist/{Breadcrumb-KINELHN4.js.map → Breadcrumb-XXDZNKOF.js.map} +1 -1
- package/dist/{CartItem-YPIGZYJX.js → CartItem-FHHPWYRR.js} +5 -5
- package/dist/{CartItem-YPIGZYJX.js.map → CartItem-FHHPWYRR.js.map} +1 -1
- package/dist/{CartSummary-FHG4IR4S.js → CartSummary-EGJP4BUU.js} +5 -5
- package/dist/{CartSummary-FHG4IR4S.js.map → CartSummary-EGJP4BUU.js.map} +1 -1
- package/dist/{Copyright-TWAHRC7V.js → Copyright-7ES4656P.js} +3 -3
- package/dist/{Copyright-TWAHRC7V.js.map → Copyright-7ES4656P.js.map} +1 -1
- package/dist/{CustomerLayout-NI3HBOZB.js → CustomerLayout-N7GKGIXS.js} +5 -5
- package/dist/{CustomerLayout-NI3HBOZB.js.map → CustomerLayout-N7GKGIXS.js.map} +1 -1
- package/dist/{Footer-6XXLPWRH.js → Footer-KAGWXKEL.js} +5 -5
- package/dist/{Footer-6XXLPWRH.js.map → Footer-KAGWXKEL.js.map} +1 -1
- package/dist/{Header-56YZL6PB.js → Header-VA4OWWOM.js} +4 -4
- package/dist/{Header-56YZL6PB.js.map → Header-VA4OWWOM.js.map} +1 -1
- package/dist/{LoyaltyPage-3QLMFVWD.js → LoyaltyPage-4YZIEZSM.js} +5 -5
- package/dist/{LoyaltyPage-3QLMFVWD.js.map → LoyaltyPage-4YZIEZSM.js.map} +1 -1
- package/dist/{MainMenu-TDLQET2Y.js → MainMenu-CBABC47Y.js} +3 -3
- package/dist/{MainMenu-TDLQET2Y.js.map → MainMenu-CBABC47Y.js.map} +1 -1
- package/dist/{MasterLayout-4IYMFDYJ.js → MasterLayout-WNRFMFRD.js} +5 -5
- package/dist/{MasterLayout-4IYMFDYJ.js.map → MasterLayout-WNRFMFRD.js.map} +1 -1
- package/dist/{MobileMenu-GVXPV5HQ.js → MobileMenu-QTE7H54J.js} +5 -5
- package/dist/{MobileMenu-GVXPV5HQ.js.map → MobileMenu-QTE7H54J.js.map} +1 -1
- package/dist/{NotificationsPage-AOZRDULT.js → NotificationsPage-AOLSLCR5.js} +5 -5
- package/dist/{NotificationsPage-AOZRDULT.js.map → NotificationsPage-AOLSLCR5.js.map} +1 -1
- package/dist/{OrderSinglePage-M6GBDZPD.js → OrderSinglePage-LQWCJ47R.js} +5 -5
- package/dist/{OrderSinglePage-M6GBDZPD.js.map → OrderSinglePage-LQWCJ47R.js.map} +1 -1
- package/dist/{OrdersPage-DJMOQVJP.js → OrdersPage-XCTGUX35.js} +5 -5
- package/dist/{OrdersPage-DJMOQVJP.js.map → OrdersPage-XCTGUX35.js.map} +1 -1
- package/dist/{PageSingle-TQC47BEK.js → PageSingle-6EQW44FB.js} +3 -3
- package/dist/{PageSingle-TQC47BEK.js.map → PageSingle-6EQW44FB.js.map} +1 -1
- package/dist/{ProductDetails-4YZW7CKN.js → ProductDetails-4QSHAX64.js} +3 -3
- package/dist/{ProductDetails-4YZW7CKN.js.map → ProductDetails-4QSHAX64.js.map} +1 -1
- package/dist/{ProfilePage-KFR7PX6Z.js → ProfilePage-L3F4MIK6.js} +5 -5
- package/dist/{ProfilePage-KFR7PX6Z.js.map → ProfilePage-L3F4MIK6.js.map} +1 -1
- package/dist/{SeoCartWidget-N6KHTRZA.js → SeoCartWidget-2FHZJBPW.js} +5 -5
- package/dist/{SeoCartWidget-N6KHTRZA.js.map → SeoCartWidget-2FHZJBPW.js.map} +1 -1
- package/dist/{SettingsPage-7VCOR3YR.js → SettingsPage-WS2AUYFX.js} +5 -5
- package/dist/{SettingsPage-7VCOR3YR.js.map → SettingsPage-WS2AUYFX.js.map} +1 -1
- package/dist/{StoreClosedNotification-7XSPEVKM.js → StoreClosedNotification-35S2FGPZ.js} +6 -6
- package/dist/{StoreClosedNotification-7XSPEVKM.js.map → StoreClosedNotification-35S2FGPZ.js.map} +1 -1
- package/dist/{TestimonialsPage-YWWIGHDX.js → TestimonialsPage-3FPIE3P6.js} +3 -3
- package/dist/{TestimonialsPage-YWWIGHDX.js.map → TestimonialsPage-3FPIE3P6.js.map} +1 -1
- package/dist/{ThankYouPage-O6NMGVNQ.js → ThankYouPage-NH3L4RTM.js} +5 -5
- package/dist/{ThankYouPage-O6NMGVNQ.js.map → ThankYouPage-NH3L4RTM.js.map} +1 -1
- package/dist/{WalletPage-TGFDG6JQ.js → WalletPage-TGBU4BDJ.js} +5 -5
- package/dist/{WalletPage-TGFDG6JQ.js.map → WalletPage-TGBU4BDJ.js.map} +1 -1
- package/dist/{WishlistPage-XDXSQXME.js → WishlistPage-FLOWPCV3.js} +5 -5
- package/dist/{WishlistPage-XDXSQXME.js.map → WishlistPage-FLOWPCV3.js.map} +1 -1
- package/dist/{chunk-A4HWQ5PP.js → chunk-2I2AHEA5.js} +3 -3
- package/dist/{chunk-A4HWQ5PP.js.map → chunk-2I2AHEA5.js.map} +1 -1
- package/dist/{chunk-DHXE3JE6.js → chunk-6VBHU36Q.js} +4 -4
- package/dist/{chunk-DHXE3JE6.js.map → chunk-6VBHU36Q.js.map} +1 -1
- package/dist/{chunk-SSZR6JBK.js → chunk-7JV5XG3U.js} +4 -4
- package/dist/{chunk-SSZR6JBK.js.map → chunk-7JV5XG3U.js.map} +1 -1
- package/dist/{chunk-SM7VMQZY.js → chunk-BKYYWIPI.js} +3 -3
- package/dist/{chunk-SM7VMQZY.js.map → chunk-BKYYWIPI.js.map} +1 -1
- package/dist/{chunk-CJEBLY6D.js → chunk-EJYVXWJY.js} +6 -6
- package/dist/{chunk-CJEBLY6D.js.map → chunk-EJYVXWJY.js.map} +1 -1
- package/dist/{chunk-FH5YDZFQ.js → chunk-IIVKJ7LM.js} +5 -5
- package/dist/{chunk-FH5YDZFQ.js.map → chunk-IIVKJ7LM.js.map} +1 -1
- package/dist/{chunk-XECKVHG7.js → chunk-KLMYXYM5.js} +3 -3
- package/dist/{chunk-XECKVHG7.js.map → chunk-KLMYXYM5.js.map} +1 -1
- package/dist/{chunk-2FG3NNIK.js → chunk-TOMWZGRG.js} +7 -7
- package/dist/chunk-TOMWZGRG.js.map +1 -0
- package/dist/chunk-WSPSVX6J.js +14 -0
- package/dist/{chunk-P4M64WVZ.js.map → chunk-WSPSVX6J.js.map} +1 -1
- package/dist/{chunk-4UG4W72N.js → chunk-XEPYRJ3D.js} +4 -4
- package/dist/{chunk-4UG4W72N.js.map → chunk-XEPYRJ3D.js.map} +1 -1
- package/dist/{chunk-THMQ2Z3N.js → chunk-XGUMTPFW.js} +7 -7
- package/dist/{chunk-THMQ2Z3N.js.map → chunk-XGUMTPFW.js.map} +1 -1
- package/dist/components/cart/index.js +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/drawer/index.js +3 -3
- package/dist/components/home/index.js +5 -5
- package/dist/components/layout/index.js +5 -5
- package/dist/components/product/index.js +4 -4
- package/dist/components/store/index.js +5 -5
- package/dist/{document-class-4EILSNLT.js → document-class-UILUVJV4.js} +3 -3
- package/dist/{document-class-4EILSNLT.js.map → document-class-UILUVJV4.js.map} +1 -1
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/useGtm.js +3 -3
- package/dist/hooks/useMoney.js +3 -3
- package/dist/hooks/useStore.js +3 -3
- package/dist/index.js +3 -3
- package/dist/{not-found-MGLRWOWH.js → not-found-HFWFWTI5.js} +5 -5
- package/dist/{not-found-MGLRWOWH.js.map → not-found-HFWFWTI5.js.map} +1 -1
- package/dist/providers/index.js +3 -3
- package/dist/routes/account/orders.js +1 -1
- package/dist/routes/account.js +6 -6
- package/dist/routes/blog.js +5 -5
- package/dist/routes/brands.js +1 -1
- package/dist/routes/cart.js +7 -7
- package/dist/routes/home.js +6 -6
- package/dist/routes/loyalty.js +1 -1
- package/dist/routes/page.js +1 -1
- package/dist/routes/product-listing.js +5 -5
- package/dist/routes/product.js +5 -5
- package/dist/routes/root/head.d.ts.map +1 -1
- package/dist/routes/testimonials.js +1 -1
- package/dist/routes/thank-you.js +1 -1
- package/dist/skeleton.js +6 -6
- package/dist/tanstack.js +2 -2
- package/dist/vite/index.d.ts +1 -0
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +46 -2
- package/dist/vite/index.js.map +1 -1
- package/dist/vite/plugins/twilight-manifest.d.ts +50 -0
- package/dist/vite/plugins/twilight-manifest.d.ts.map +1 -0
- package/dist/vite/plugins/twilight-schema.plugin.d.ts +4 -0
- package/dist/vite/plugins/twilight-schema.plugin.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-2FG3NNIK.js.map +0 -1
- package/dist/chunk-P4M64WVZ.js +0 -14
package/dist/vite/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { RouteId } from '../chunk-MTONGOJD.js';
|
|
|
5
5
|
import '../chunk-KIPZQN3Y.js';
|
|
6
6
|
import '../chunk-T72DAX7R.js';
|
|
7
7
|
import '../chunk-DGUM43GV.js';
|
|
8
|
-
import {
|
|
8
|
+
import { readFile, readdir } from 'fs/promises';
|
|
9
9
|
import { dirname, relative, resolve, join, basename, sep } from 'path';
|
|
10
10
|
import { parseSync } from 'oxc-parser';
|
|
11
11
|
import { existsSync, mkdirSync, writeFileSync, readFileSync, statSync } from 'fs';
|
|
@@ -234,6 +234,28 @@ function buildTwilightSchema(raw) {
|
|
|
234
234
|
};
|
|
235
235
|
}
|
|
236
236
|
|
|
237
|
+
// src/vite/plugins/twilight-manifest.ts
|
|
238
|
+
var REACT_THEME_TYPE = "react";
|
|
239
|
+
function getThemeType(raw) {
|
|
240
|
+
if (!raw || typeof raw !== "object") return void 0;
|
|
241
|
+
const { type } = raw;
|
|
242
|
+
return typeof type === "string" && type.trim() ? type : void 0;
|
|
243
|
+
}
|
|
244
|
+
function isReactThemeManifest(raw) {
|
|
245
|
+
return getThemeType(raw) === REACT_THEME_TYPE;
|
|
246
|
+
}
|
|
247
|
+
function describeThemeTypeIssue(raw, fileLabel = "twilight.json") {
|
|
248
|
+
const type = getThemeType(raw);
|
|
249
|
+
if (type === REACT_THEME_TYPE) return null;
|
|
250
|
+
if (!type) {
|
|
251
|
+
return `${fileLabel} has no "type": "${REACT_THEME_TYPE}" \u2014 the Salla CLI treats a manifest without it as a twig theme, so \`salla theme dev\` and publishing will take the wrong path. Add "type": "${REACT_THEME_TYPE}" as the first key.`;
|
|
252
|
+
}
|
|
253
|
+
if (type.trim() === REACT_THEME_TYPE) {
|
|
254
|
+
return `${fileLabel} declares "type": ${JSON.stringify(type)} \u2014 the Salla CLI compares this value exactly, so the surrounding whitespace still routes the theme to the twig path. Use "type": "${REACT_THEME_TYPE}".`;
|
|
255
|
+
}
|
|
256
|
+
return `${fileLabel} declares "type": "${type}", but this theme is built with the React theme engine. Change it to "${REACT_THEME_TYPE}" so the Salla CLI routes it correctly.`;
|
|
257
|
+
}
|
|
258
|
+
|
|
237
259
|
// src/dev/schema-types.ts
|
|
238
260
|
var EMPTY_DEV_SCHEMA = {
|
|
239
261
|
settings: [],
|
|
@@ -246,15 +268,36 @@ var EMPTY_DEV_SCHEMA = {
|
|
|
246
268
|
var VIRTUAL_ID2 = "virtual:twilight/schema";
|
|
247
269
|
var RESOLVED_ID2 = "\0" + VIRTUAL_ID2;
|
|
248
270
|
var EMPTY_MODULE = `export default ${JSON.stringify(EMPTY_DEV_SCHEMA)};`;
|
|
271
|
+
var LOG_PREFIX = "[twilight-react:schema]";
|
|
249
272
|
function twilightSchemaPlugin(twilightJsonPath = "twilight.json") {
|
|
250
273
|
let filePath;
|
|
251
274
|
let isDevServer = false;
|
|
275
|
+
async function checkManifest() {
|
|
276
|
+
if (!isDevServer || !filePath) return;
|
|
277
|
+
let raw;
|
|
278
|
+
try {
|
|
279
|
+
raw = await readFile(filePath, "utf-8");
|
|
280
|
+
} catch {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
try {
|
|
284
|
+
const issue = describeThemeTypeIssue(JSON.parse(raw), twilightJsonPath);
|
|
285
|
+
if (issue) console.warn(`${LOG_PREFIX} ${issue}`);
|
|
286
|
+
} catch {
|
|
287
|
+
console.warn(
|
|
288
|
+
`${LOG_PREFIX} ${twilightJsonPath} is not valid JSON \u2014 theme settings and the dev widget will be empty.`
|
|
289
|
+
);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
252
292
|
return {
|
|
253
293
|
name: "twilight:schema",
|
|
254
294
|
configResolved(config) {
|
|
255
295
|
isDevServer = config.command === "serve";
|
|
256
296
|
filePath = resolve(config.root, twilightJsonPath);
|
|
257
297
|
},
|
|
298
|
+
buildStart() {
|
|
299
|
+
return checkManifest();
|
|
300
|
+
},
|
|
258
301
|
resolveId(id) {
|
|
259
302
|
if (id === VIRTUAL_ID2) return RESOLVED_ID2;
|
|
260
303
|
},
|
|
@@ -275,6 +318,7 @@ function twilightSchemaPlugin(twilightJsonPath = "twilight.json") {
|
|
|
275
318
|
server.watcher.add(target);
|
|
276
319
|
const invalidate = (file) => {
|
|
277
320
|
if (file !== target) return;
|
|
321
|
+
void checkManifest();
|
|
278
322
|
const mod = server.moduleGraph.getModuleById(RESOLVED_ID2);
|
|
279
323
|
if (mod) {
|
|
280
324
|
server.moduleGraph.invalidateModule(mod);
|
|
@@ -2366,6 +2410,6 @@ async function twilightReact(options = {}) {
|
|
|
2366
2410
|
}
|
|
2367
2411
|
var twilight_react_default = twilightReact;
|
|
2368
2412
|
|
|
2369
|
-
export { bestPracticesPlugin, twilight_react_default as default, getFrameworkAdapter, nextjsAdapter as nextjs, tanstackAdapter as tanstack, twilightReact };
|
|
2413
|
+
export { REACT_THEME_TYPE, bestPracticesPlugin, twilight_react_default as default, describeThemeTypeIssue, getFrameworkAdapter, getThemeType, isReactThemeManifest, nextjsAdapter as nextjs, tanstackAdapter as tanstack, twilightReact };
|
|
2370
2414
|
//# sourceMappingURL=index.js.map
|
|
2371
2415
|
//# sourceMappingURL=index.js.map
|