Skip to content

Commit 9f4768a

Browse files
committed
chore(themes): update paths for generated theme files
1 parent 051ff6c commit 9f4768a

File tree

4 files changed

+13
-47
lines changed

4 files changed

+13
-47
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ temp/
2323
core/theme-builder/
2424
core/test-components/
2525
core/css/
26+
core/themes/
2627
$RECYCLE.BIN/
2728

2829
.DS_Store

core/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@
7676
"stylelint-order": "^4.1.0"
7777
},
7878
"scripts": {
79-
"build": "npm run clean && npm run build.css && npm run build.newTokens && stencil build --es5 --docs-json dist/docs.json",
79+
"build": "npm run clean && npm run build.css && npm run build.themes && stencil build --es5 --docs-json dist/docs.json",
8080
"build.css": "npm run css.sass && npm run css.minify",
8181
"build.debug": "npm run clean && stencil build --debug",
8282
"build.docs.json": "stencil build --docs-json dist/docs.json",
8383
"build.tokens": "npx build.tokens --config scripts/tokens/index.mjs && npm run prettier.tokens",
84-
"build.newTokens": "esbuild src/themes/*/*.tokens.ts --bundle --format=esm --platform=browser --target=es2017 --outdir=dist/themes --outbase=src/themes && esbuild src/utils/theme.ts --bundle --format=esm --platform=browser --target=es2017 --outfile=dist/themes/utils/theme.js",
84+
"build.themes": "esbuild src/themes/*/*.tokens.ts --bundle --format=esm --platform=browser --target=es2017 --outdir=themes --outbase=src/themes && esbuild src/utils/theme.ts --bundle --format=esm --platform=browser --target=es2017 --outfile=themes/utils/theme.js",
8585
"clean": "node scripts/clean.js",
8686
"css.minify": "cleancss -O2 -o ./css/ionic.bundle.css ./css/ionic.bundle.css",
8787
"css.sass": "sass --embed-sources --style compressed src/css:./css",
@@ -95,7 +95,7 @@
9595
"prerender.e2e": "node scripts/testing/prerender.js",
9696
"prettier": "prettier \"./src/**/*.{html,ts,tsx,js,jsx,scss}\"",
9797
"prettier.tokens": "prettier \"./src/foundations/*.{scss, html}\" --write --cache",
98-
"start": "npm run build.css && npm run build.newTokens && stencil build --dev --watch --serve",
98+
"start": "npm run build.css && npm run build.themes && stencil build --dev --watch --serve",
9999
"test": "npm run test.spec && npm run test.e2e",
100100
"test.spec": "stencil test --spec --max-workers=2",
101101
"test.e2e": "npx playwright test",

core/scripts/clean.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ const path = require('path');
44

55
const cleanDirs = [
66
'dist',
7-
'css'
7+
'css',
8+
'themes'
89
];
910

1011
cleanDirs.forEach(dir => {

core/scripts/testing/scripts.js

Lines changed: 7 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -60,32 +60,9 @@
6060

6161
async function loadThemeTokens(themeName, paletteName) {
6262
try {
63-
// Try multiple import paths to ensure compatibility across environments
64-
let defaultTokens;
65-
let theme;
66-
67-
// Get the base URL from the current location
68-
const baseUrl = window.location.origin;
69-
70-
// First try the base URL path
71-
try {
72-
defaultTokens = await import(`${baseUrl}/dist/themes/${themeName}/default.tokens.js`);
73-
theme = defaultTokens.defaultTheme;
74-
} catch (baseUrlError) {
75-
// Try relative dist path
76-
try {
77-
defaultTokens = await import(`../../../../../dist/themes/${themeName}/default.tokens.js`);
78-
theme = defaultTokens.defaultTheme;
79-
} catch (relativeDistError) {
80-
// Try absolute dist path
81-
try {
82-
defaultTokens = await import(`/dist/themes/${themeName}/default.tokens.js`);
83-
theme = defaultTokens.defaultTheme;
84-
} catch (absoluteDistError) {
85-
// All import attempts failed
86-
}
87-
}
88-
}
63+
// Load theme tokens
64+
const defaultTokens = await import(`/themes/${themeName}/default.tokens.js`);
65+
let theme = defaultTokens.defaultTheme;
8966

9067
// If a specific palette is requested, modify the palette structure
9168
// to set the enabled property to 'always'
@@ -98,26 +75,13 @@
9875
window.Ionic.config = window.Ionic.config || {};
9976
window.Ionic.config.customTheme = theme;
10077

101-
// Re-apply the global theme with multiple fallback paths
78+
// Re-apply the global theme
10279
if (window.Ionic.config.get && window.Ionic.config.set) {
103-
const themeUtilsPaths = [
104-
`${baseUrl}/dist/themes/utils/theme.js`,
105-
'../../../../../dist/themes/utils/theme.js',
106-
'/dist/themes/utils/theme.js'
107-
];
108-
109-
for (const path of themeUtilsPaths) {
110-
try {
111-
const themeModule = await import(path);
112-
themeModule.applyGlobalTheme(theme);
113-
break;
114-
} catch (error) {
115-
// Continue to next path
116-
}
117-
}
80+
const themeModule = await import('/themes/utils/theme.js');
81+
themeModule.applyGlobalTheme(theme);
11882
}
11983
} catch (error) {
120-
console.warn(`Failed to load theme tokens for ${themeName}:`, error);
84+
console.error(`Failed to load theme tokens for ${themeName}:`, error);
12185
}
12286
}
12387

0 commit comments

Comments
 (0)