@hanzogui/generate-themes 8.3.0 → 8.3.2
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/cjs/generate-themes.js +190 -0
- package/dist/cjs/generate-themes.js.map +1 -0
- package/dist/cjs/here.js +6 -0
- package/dist/cjs/here.js.map +1 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/write-generate-themes.js +20 -0
- package/dist/cjs/write-generate-themes.js.map +1 -0
- package/dist/esm/generate-themes.js +187 -0
- package/dist/esm/generate-themes.js.map +1 -0
- package/dist/esm/here.js +3 -0
- package/dist/esm/here.js.map +1 -0
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/write-generate-themes.js +17 -0
- package/dist/esm/write-generate-themes.js.map +1 -0
- package/package.json +15 -15
- package/src/generate-themes.ts +9 -5
- package/src/here.cjs.ts +3 -0
- package/src/here.ts +2 -0
- package/src/index.ts +2 -2
- package/src/write-generate-themes.ts +4 -4
- package/types/generate-themes.d.ts.map +1 -1
- package/types/here.d.ts +2 -0
- package/types/here.d.ts.map +1 -0
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
- package/types/write-generate-themes.d.ts +1 -1
- package/types/write-generate-themes.d.ts.map +1 -1
- package/dist/cjs/generate-themes.cjs +0 -185
- package/dist/cjs/generate-themes.native.js +0 -214
- package/dist/cjs/generate-themes.native.js.map +0 -1
- package/dist/cjs/index.cjs +0 -21
- package/dist/cjs/index.native.js +0 -24
- package/dist/cjs/index.native.js.map +0 -1
- package/dist/cjs/write-generate-themes.cjs +0 -55
- package/dist/cjs/write-generate-themes.native.js +0 -60
- package/dist/cjs/write-generate-themes.native.js.map +0 -1
- package/dist/esm/generate-themes.mjs +0 -160
- package/dist/esm/generate-themes.mjs.map +0 -1
- package/dist/esm/generate-themes.native.js +0 -186
- package/dist/esm/generate-themes.native.js.map +0 -1
- package/dist/esm/index.mjs +0 -3
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js +0 -3
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/write-generate-themes.mjs +0 -19
- package/dist/esm/write-generate-themes.mjs.map +0 -1
- package/dist/esm/write-generate-themes.native.js +0 -21
- package/dist/esm/write-generate-themes.native.js.map +0 -1
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { join } from "node:path";
|
|
2
|
-
let didRegisterOnce = false;
|
|
3
|
-
async function generateThemes(inputFile) {
|
|
4
|
-
const inputFilePath = inputFile[0] === "." ? join(process.cwd(), inputFile) : inputFile;
|
|
5
|
-
if (!didRegisterOnce) {
|
|
6
|
-
didRegisterOnce = true;
|
|
7
|
-
require("esbuild-register/dist/node").register({
|
|
8
|
-
hookIgnoreNodeModules: false
|
|
9
|
-
});
|
|
10
|
-
} else {
|
|
11
|
-
purgeCache(inputFilePath);
|
|
12
|
-
}
|
|
13
|
-
let og = process.env.GUI_KEEP_THEMES;
|
|
14
|
-
process.env.GUI_KEEP_THEMES = "1";
|
|
15
|
-
process.env.GUI_RUN_THEMEBUILDER = "1";
|
|
16
|
-
try {
|
|
17
|
-
const requiredThemes = require(inputFilePath);
|
|
18
|
-
const themes = requiredThemes["default"] || requiredThemes["themes"] || requiredThemes[Object.keys(requiredThemes)[0]];
|
|
19
|
-
const generatedThemes = generatedThemesToTypescript(themes);
|
|
20
|
-
return {
|
|
21
|
-
generated: generatedThemes
|
|
22
|
-
};
|
|
23
|
-
} catch (err) {
|
|
24
|
-
console.warn(` \u26A0\uFE0F Error running theme builder:
|
|
25
|
-
`, err?.["stack"] || err);
|
|
26
|
-
} finally {
|
|
27
|
-
process.env.GUI_KEEP_THEMES = og;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
const dedupedTokens = /* @__PURE__ */new Map();
|
|
31
|
-
function generatedThemesToTypescript(themes) {
|
|
32
|
-
const dedupedThemes = /* @__PURE__ */new Map();
|
|
33
|
-
const dedupedThemeToNames = /* @__PURE__ */new Map();
|
|
34
|
-
let i = 0;
|
|
35
|
-
for (const name in themes) {
|
|
36
|
-
i++;
|
|
37
|
-
const theme = themes[name];
|
|
38
|
-
let j = 0;
|
|
39
|
-
for (const [key2, value] of Object.entries(theme)) {
|
|
40
|
-
i++;
|
|
41
|
-
const uniqueKey = `t${i}${j}`;
|
|
42
|
-
if (!dedupedTokens.has(value)) {
|
|
43
|
-
dedupedTokens.set(value, uniqueKey);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
const key = JSON.stringify(theme);
|
|
47
|
-
if (dedupedThemes.has(key)) {
|
|
48
|
-
dedupedThemeToNames.set(key, [...dedupedThemeToNames.get(key), name]);
|
|
49
|
-
} else {
|
|
50
|
-
dedupedThemes.set(key, theme);
|
|
51
|
-
dedupedThemeToNames.set(key, [name]);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (!themes) {
|
|
55
|
-
throw new Error(`Didn't find any themes exported or returned`);
|
|
56
|
-
}
|
|
57
|
-
const baseKeys = Object.entries(themes.light || themes[Object.keys(themes)[0]]);
|
|
58
|
-
const baseTypeString = `export type Theme = {
|
|
59
|
-
${baseKeys.map(([k]) => {
|
|
60
|
-
return ` ${k}: string;
|
|
61
|
-
`;
|
|
62
|
-
}).join("")}
|
|
63
|
-
}`;
|
|
64
|
-
let out = `${baseTypeString}
|
|
65
|
-
`;
|
|
66
|
-
out += `
|
|
67
|
-
function t(a: [number, number][]) {
|
|
68
|
-
let res: Record<string,string> = {}
|
|
69
|
-
for (const [ki, vi] of a) {
|
|
70
|
-
res[ks[ki] as string] = colors[vi] as string
|
|
71
|
-
}
|
|
72
|
-
return res as Theme
|
|
73
|
-
}
|
|
74
|
-
`;
|
|
75
|
-
out += `export const colors = [
|
|
76
|
-
`;
|
|
77
|
-
let index = 0;
|
|
78
|
-
const valueToIndex = {};
|
|
79
|
-
dedupedTokens.forEach((name, value) => {
|
|
80
|
-
valueToIndex[value] = index;
|
|
81
|
-
index++;
|
|
82
|
-
out += ` '${value}',
|
|
83
|
-
`;
|
|
84
|
-
});
|
|
85
|
-
out += "]\n\n";
|
|
86
|
-
const keys = baseKeys.map(([k]) => k);
|
|
87
|
-
out += `const ks = [
|
|
88
|
-
`;
|
|
89
|
-
out += keys.map(k => `'${k}'`).join(",\n");
|
|
90
|
-
out += `]
|
|
91
|
-
|
|
92
|
-
`;
|
|
93
|
-
let nameI = 0;
|
|
94
|
-
let themeTypes = `export type ThemeNames =`;
|
|
95
|
-
let exported = `export type Themes = Record<ThemeNames, Theme>
|
|
96
|
-
|
|
97
|
-
export const themes: Themes = {`;
|
|
98
|
-
dedupedThemes.forEach(theme => {
|
|
99
|
-
nameI++;
|
|
100
|
-
const key = JSON.stringify(theme);
|
|
101
|
-
const names = dedupedThemeToNames.get(key);
|
|
102
|
-
const name = `n${nameI}`;
|
|
103
|
-
const baseTheme = `const ${name} = ${objectToJsString(theme, keys, valueToIndex)}`;
|
|
104
|
-
out += `
|
|
105
|
-
${baseTheme}`;
|
|
106
|
-
names.forEach(n => {
|
|
107
|
-
exported += `
|
|
108
|
-
${n}: ${name},`;
|
|
109
|
-
if (n.toLowerCase() === n) {
|
|
110
|
-
themeTypes += `
|
|
111
|
-
| '${n}'`;
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
out += `
|
|
116
|
-
|
|
117
|
-
${themeTypes}
|
|
118
|
-
|
|
119
|
-
${exported}
|
|
120
|
-
}
|
|
121
|
-
`;
|
|
122
|
-
return out;
|
|
123
|
-
}
|
|
124
|
-
function objectToJsString(obj, keys, valueToIndex) {
|
|
125
|
-
let arrItems = [];
|
|
126
|
-
for (const key in obj) {
|
|
127
|
-
const ki = keys.indexOf(key);
|
|
128
|
-
const vi = valueToIndex[obj[key]];
|
|
129
|
-
arrItems.push(`[${ki}, ${vi}]`);
|
|
130
|
-
}
|
|
131
|
-
return `t([${arrItems.join(",")}])`;
|
|
132
|
-
}
|
|
133
|
-
function purgeCache(moduleName) {
|
|
134
|
-
searchCache(moduleName, mod => {
|
|
135
|
-
delete require.cache[mod.id];
|
|
136
|
-
});
|
|
137
|
-
if (!module.constructor || !module.constructor._pathCache) {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
Object.keys(module.constructor._pathCache).forEach(cacheKey => {
|
|
141
|
-
if (cacheKey.indexOf(moduleName) > 0) {
|
|
142
|
-
delete module.constructor._pathCache[cacheKey];
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
function searchCache(moduleName, callback) {
|
|
147
|
-
let mod = require.resolve(moduleName);
|
|
148
|
-
if (mod && (mod = require.cache[mod]) !== void 0) {
|
|
149
|
-
;
|
|
150
|
-
(function traverse(mod2, depth = 0) {
|
|
151
|
-
if (depth > 10) return;
|
|
152
|
-
mod2.children.forEach(child => {
|
|
153
|
-
traverse(child, depth + 1);
|
|
154
|
-
});
|
|
155
|
-
callback(mod2);
|
|
156
|
-
})(mod);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
export { generateThemes };
|
|
160
|
-
//# sourceMappingURL=generate-themes.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["join","didRegisterOnce","generateThemes","inputFile","inputFilePath","process","cwd","require","register","hookIgnoreNodeModules","purgeCache","og","env","GUI_KEEP_THEMES","GUI_RUN_THEMEBUILDER","requiredThemes","themes","Object","keys","generatedThemes","generatedThemesToTypescript","generated","err","console","warn","dedupedTokens","Map","dedupedThemes","dedupedThemeToNames","i","name","theme","j","key","value","entries","uniqueKey","has","set","JSON","stringify","get","Error","baseKeys","light","baseTypeString","map","k","out","index","valueToIndex","forEach","nameI","themeTypes","exported","names","baseTheme","objectToJsString","n","toLowerCase","obj","arrItems","ki","indexOf","vi","push","moduleName","searchCache","mod","cache","id","module","constructor","_pathCache","cacheKey","callback","resolve","traverse","mod2","depth","children","child"],"sources":["../../src/generate-themes.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { join } from "path";
|
|
2
|
-
var didRegisterOnce = false;
|
|
3
|
-
async function generateThemes(inputFile) {
|
|
4
|
-
var inputFilePath = inputFile[0] === "." ? join(process.cwd(), inputFile) : inputFile;
|
|
5
|
-
if (!didRegisterOnce) {
|
|
6
|
-
didRegisterOnce = true;
|
|
7
|
-
require("esbuild-register/dist/node").register({
|
|
8
|
-
hookIgnoreNodeModules: false
|
|
9
|
-
});
|
|
10
|
-
} else {
|
|
11
|
-
purgeCache(inputFilePath);
|
|
12
|
-
}
|
|
13
|
-
var og = process.env.GUI_KEEP_THEMES;
|
|
14
|
-
process.env.GUI_KEEP_THEMES = "1";
|
|
15
|
-
process.env.GUI_RUN_THEMEBUILDER = "1";
|
|
16
|
-
try {
|
|
17
|
-
var requiredThemes = require(inputFilePath);
|
|
18
|
-
var themes = requiredThemes["default"] || requiredThemes["themes"] || requiredThemes[Object.keys(requiredThemes)[0]];
|
|
19
|
-
var generatedThemes = generatedThemesToTypescript(themes);
|
|
20
|
-
return {
|
|
21
|
-
generated: generatedThemes
|
|
22
|
-
};
|
|
23
|
-
} catch (err) {
|
|
24
|
-
console.warn(` \u26A0\uFE0F Error running theme builder:
|
|
25
|
-
`, (err === null || err === void 0 ? void 0 : err["stack"]) || err);
|
|
26
|
-
} finally {
|
|
27
|
-
process.env.GUI_KEEP_THEMES = og;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
var dedupedTokens = /* @__PURE__ */new Map();
|
|
31
|
-
function generatedThemesToTypescript(themes) {
|
|
32
|
-
var dedupedThemes = /* @__PURE__ */new Map();
|
|
33
|
-
var dedupedThemeToNames = /* @__PURE__ */new Map();
|
|
34
|
-
var i = 0;
|
|
35
|
-
for (var name in themes) {
|
|
36
|
-
i++;
|
|
37
|
-
var theme = themes[name];
|
|
38
|
-
var j = 0;
|
|
39
|
-
var _iteratorNormalCompletion = true,
|
|
40
|
-
_didIteratorError = false,
|
|
41
|
-
_iteratorError = void 0;
|
|
42
|
-
try {
|
|
43
|
-
for (var _iterator = Object.entries(theme)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
44
|
-
var [key, value] = _step.value;
|
|
45
|
-
i++;
|
|
46
|
-
var uniqueKey = `t${i}${j}`;
|
|
47
|
-
if (!dedupedTokens.has(value)) {
|
|
48
|
-
dedupedTokens.set(value, uniqueKey);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
} catch (err) {
|
|
52
|
-
_didIteratorError = true;
|
|
53
|
-
_iteratorError = err;
|
|
54
|
-
} finally {
|
|
55
|
-
try {
|
|
56
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
57
|
-
_iterator.return();
|
|
58
|
-
}
|
|
59
|
-
} finally {
|
|
60
|
-
if (_didIteratorError) {
|
|
61
|
-
throw _iteratorError;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
var key1 = JSON.stringify(theme);
|
|
66
|
-
if (dedupedThemes.has(key1)) {
|
|
67
|
-
dedupedThemeToNames.set(key1, [...dedupedThemeToNames.get(key1), name]);
|
|
68
|
-
} else {
|
|
69
|
-
dedupedThemes.set(key1, theme);
|
|
70
|
-
dedupedThemeToNames.set(key1, [name]);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (!themes) {
|
|
74
|
-
throw new Error(`Didn't find any themes exported or returned`);
|
|
75
|
-
}
|
|
76
|
-
var baseKeys = Object.entries(themes.light || themes[Object.keys(themes)[0]]);
|
|
77
|
-
var baseTypeString = `export type Theme = {
|
|
78
|
-
${baseKeys.map(function (param) {
|
|
79
|
-
var [k] = param;
|
|
80
|
-
return ` ${k}: string;
|
|
81
|
-
`;
|
|
82
|
-
}).join("")}
|
|
83
|
-
}`;
|
|
84
|
-
var out = `${baseTypeString}
|
|
85
|
-
`;
|
|
86
|
-
out += `
|
|
87
|
-
function t(a: [number, number][]) {
|
|
88
|
-
let res: Record<string,string> = {}
|
|
89
|
-
for (const [ki, vi] of a) {
|
|
90
|
-
res[ks[ki] as string] = colors[vi] as string
|
|
91
|
-
}
|
|
92
|
-
return res as Theme
|
|
93
|
-
}
|
|
94
|
-
`;
|
|
95
|
-
out += `export const colors = [
|
|
96
|
-
`;
|
|
97
|
-
var index = 0;
|
|
98
|
-
var valueToIndex = {};
|
|
99
|
-
dedupedTokens.forEach(function (name2, value2) {
|
|
100
|
-
valueToIndex[value2] = index;
|
|
101
|
-
index++;
|
|
102
|
-
out += ` '${value2}',
|
|
103
|
-
`;
|
|
104
|
-
});
|
|
105
|
-
out += "]\n\n";
|
|
106
|
-
var keys = baseKeys.map(function (param) {
|
|
107
|
-
var [k] = param;
|
|
108
|
-
return k;
|
|
109
|
-
});
|
|
110
|
-
out += `const ks = [
|
|
111
|
-
`;
|
|
112
|
-
out += keys.map(function (k) {
|
|
113
|
-
return `'${k}'`;
|
|
114
|
-
}).join(",\n");
|
|
115
|
-
out += `]
|
|
116
|
-
|
|
117
|
-
`;
|
|
118
|
-
var nameI = 0;
|
|
119
|
-
var themeTypes = `export type ThemeNames =`;
|
|
120
|
-
var exported = `export type Themes = Record<ThemeNames, Theme>
|
|
121
|
-
|
|
122
|
-
export const themes: Themes = {`;
|
|
123
|
-
dedupedThemes.forEach(function (theme2) {
|
|
124
|
-
nameI++;
|
|
125
|
-
var key2 = JSON.stringify(theme2);
|
|
126
|
-
var names = dedupedThemeToNames.get(key2);
|
|
127
|
-
var name2 = `n${nameI}`;
|
|
128
|
-
var baseTheme = `const ${name2} = ${objectToJsString(theme2, keys, valueToIndex)}`;
|
|
129
|
-
out += `
|
|
130
|
-
${baseTheme}`;
|
|
131
|
-
names.forEach(function (n) {
|
|
132
|
-
exported += `
|
|
133
|
-
${n}: ${name2},`;
|
|
134
|
-
if (n.toLowerCase() === n) {
|
|
135
|
-
themeTypes += `
|
|
136
|
-
| '${n}'`;
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
out += `
|
|
141
|
-
|
|
142
|
-
${themeTypes}
|
|
143
|
-
|
|
144
|
-
${exported}
|
|
145
|
-
}
|
|
146
|
-
`;
|
|
147
|
-
return out;
|
|
148
|
-
}
|
|
149
|
-
function objectToJsString(obj, keys, valueToIndex) {
|
|
150
|
-
var arrItems = [];
|
|
151
|
-
for (var key in obj) {
|
|
152
|
-
var ki = keys.indexOf(key);
|
|
153
|
-
var vi = valueToIndex[obj[key]];
|
|
154
|
-
arrItems.push(`[${ki}, ${vi}]`);
|
|
155
|
-
}
|
|
156
|
-
return `t([${arrItems.join(",")}])`;
|
|
157
|
-
}
|
|
158
|
-
function purgeCache(moduleName) {
|
|
159
|
-
searchCache(moduleName, function (mod) {
|
|
160
|
-
delete require.cache[mod.id];
|
|
161
|
-
});
|
|
162
|
-
if (!module.constructor || !module.constructor._pathCache) {
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
Object.keys(module.constructor._pathCache).forEach(function (cacheKey) {
|
|
166
|
-
if (cacheKey.indexOf(moduleName) > 0) {
|
|
167
|
-
delete module.constructor._pathCache[cacheKey];
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
function searchCache(moduleName, callback) {
|
|
172
|
-
var mod = require.resolve(moduleName);
|
|
173
|
-
if (mod && (mod = require.cache[mod]) !== void 0) {
|
|
174
|
-
;
|
|
175
|
-
(function traverse(mod2) {
|
|
176
|
-
var depth = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
177
|
-
if (depth > 10) return;
|
|
178
|
-
mod2.children.forEach(function (child) {
|
|
179
|
-
traverse(child, depth + 1);
|
|
180
|
-
});
|
|
181
|
-
callback(mod2);
|
|
182
|
-
})(mod);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
export { generateThemes };
|
|
186
|
-
//# sourceMappingURL=generate-themes.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["join","didRegisterOnce","generateThemes","inputFile","inputFilePath","process","cwd","require","register","hookIgnoreNodeModules","purgeCache","og","env","GUI_KEEP_THEMES","GUI_RUN_THEMEBUILDER","requiredThemes","themes","Object","keys","generatedThemes","generatedThemesToTypescript","generated","err","console","warn","dedupedTokens","Map","dedupedThemes","dedupedThemeToNames","i","name","theme","j","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","entries","Symbol","iterator","_step","next","done","key","value","uniqueKey","has","set","return","key1","JSON","stringify","get","Error","baseKeys","light","baseTypeString","map","param","k","out","index","valueToIndex","forEach","name2","value2","nameI","themeTypes","exported","theme2","key2","names","baseTheme","objectToJsString","n","toLowerCase","mod","obj","arrItems","ki","indexOf","vi","push"],"sources":["../../src/generate-themes.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.mjs
DELETED
package/dist/esm/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
|
package/dist/esm/index.native.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as fs from "fs-extra";
|
|
2
|
-
async function writeGeneratedThemes(hanzoguiDotDir, outPath, generatedOutput) {
|
|
3
|
-
if (!generatedOutput) return;
|
|
4
|
-
const {
|
|
5
|
-
generated
|
|
6
|
-
} = generatedOutput;
|
|
7
|
-
if (process.env.DEBUG === "hanzogui") {
|
|
8
|
-
console.info(`Generated themes:`, JSON.stringify(generatedOutput, null, 2));
|
|
9
|
-
}
|
|
10
|
-
const newContent = `// @ts-nocheck
|
|
11
|
-
` + generated;
|
|
12
|
-
const existingContent = await fs.readFile(outPath, "utf-8").catch(() => null);
|
|
13
|
-
if (existingContent === newContent) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
await fs.writeFile(outPath, newContent);
|
|
17
|
-
}
|
|
18
|
-
export { writeGeneratedThemes };
|
|
19
|
-
//# sourceMappingURL=write-generate-themes.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["fs","writeGeneratedThemes","hanzoguiDotDir","outPath","generatedOutput","generated","process","env","DEBUG","console","info","JSON","stringify","newContent","existingContent","readFile","catch","writeFile"],"sources":["../../src/write-generate-themes.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,EAAA,MAAQ;AAIpB,eAAsBC,qBACpBC,cAAA,EACAC,OAAA,EACAC,eAAA,EACA;EACA,IAAI,CAACA,eAAA,EAAiB;EAEtB,MAAM;IAAEC;EAAU,IAAID,eAAA;EAEtB,IAAIE,OAAA,CAAQC,GAAA,CAAIC,KAAA,KAAU,YAAY;IACpCC,OAAA,CAAQC,IAAA,CAAK,qBAAqBC,IAAA,CAAKC,SAAA,CAAUR,eAAA,EAAiB,MAAM,CAAC,CAAC;EAC5E;EAEA,MAAMS,UAAA,GAAa;AAAA,IAAqBR,SAAA;EAGxC,MAAMS,eAAA,GAAkB,MAAMd,EAAA,CAAGe,QAAA,CAASZ,OAAA,EAAS,OAAO,EAAEa,KAAA,CAAM,MAAM,IAAI;EAC5E,IAAIF,eAAA,KAAoBD,UAAA,EAAY;IAClC;EACF;EAEA,MAAMb,EAAA,CAAGiB,SAAA,CAAUd,OAAA,EAASU,UAAU;AACxC","ignoreList":[]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import * as fs from "fs-extra";
|
|
2
|
-
async function writeGeneratedThemes(hanzoguiDotDir, outPath, generatedOutput) {
|
|
3
|
-
if (!generatedOutput) return;
|
|
4
|
-
var {
|
|
5
|
-
generated
|
|
6
|
-
} = generatedOutput;
|
|
7
|
-
if (process.env.DEBUG === "hanzogui") {
|
|
8
|
-
console.info(`Generated themes:`, JSON.stringify(generatedOutput, null, 2));
|
|
9
|
-
}
|
|
10
|
-
var newContent = `// @ts-nocheck
|
|
11
|
-
` + generated;
|
|
12
|
-
var existingContent = await fs.readFile(outPath, "utf-8").catch(function () {
|
|
13
|
-
return null;
|
|
14
|
-
});
|
|
15
|
-
if (existingContent === newContent) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
await fs.writeFile(outPath, newContent);
|
|
19
|
-
}
|
|
20
|
-
export { writeGeneratedThemes };
|
|
21
|
-
//# sourceMappingURL=write-generate-themes.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["fs","writeGeneratedThemes","hanzoguiDotDir","outPath","generatedOutput","generated","process","env","DEBUG","console","info","JSON","stringify","newContent","existingContent","readFile","catch"],"sources":["../../src/write-generate-themes.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,EAAA,MAAQ;AAIpB,eAAsBC,qBACpBC,cAAA,EACAC,OAAA,EACAC,eAAA,EACA;EACA,IAAI,CAACA,eAAA,EAAiB;EAEtB;IAAMC;EAAE,IAAUD,eAAI;EAEtB,IAAIE,OAAA,CAAQC,GAAA,CAAIC,KAAA,KAAU,YAAY;IACpCC,OAAA,CAAQC,IAAA,CAAK,qBAAqBC,IAAA,CAAKC,SAAA,CAAUR,eAAA,EAAiB,MAAM,CAAC,CAAC;EAC5E;EAEA,IAAAS,UAAM;AAAa,IAAqBR,SAAA;EAGxC,IAAAS,eAAM,SAAkBd,EAAM,CAAAe,QAAG,CAAAZ,OAAS,SAAS,EAAOa,KAAE,aAAY;IACxE,OAAI;EACF;EACF,IAAAF,eAAA,KAAAD,UAAA;IAEA;EACF","ignoreList":[]}
|