@tamagui/generate-themes 1.61.2 → 1.62.0
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 +59 -107
- package/dist/cjs/generate-themes.js.map +1 -1
- package/dist/cjs/generate-themes.native.js +177 -0
- package/dist/cjs/generate-themes.native.js.map +6 -0
- package/dist/cjs/index.js +4 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +22 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/write-generate-themes.js +10 -23
- package/dist/cjs/write-generate-themes.js.map +1 -1
- package/dist/cjs/write-generate-themes.native.js +43 -0
- package/dist/cjs/write-generate-themes.native.js.map +6 -0
- package/dist/esm/generate-themes.js +51 -92
- package/dist/esm/generate-themes.js.map +1 -1
- package/dist/esm/write-generate-themes.js +2 -8
- package/dist/esm/write-generate-themes.js.map +1 -1
- package/package.json +5 -5
- package/dist/esm/generate-themes.mjs +0 -190
- package/dist/esm/generate-themes.mjs.map +0 -6
- package/dist/esm/index.mjs +0 -3
- package/dist/esm/index.mjs.map +0 -6
- package/dist/esm/write-generate-themes.mjs +0 -21
- package/dist/esm/write-generate-themes.mjs.map +0 -6
|
@@ -1,20 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable:
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
14
11
|
for (let key of __getOwnPropNames(from))
|
|
15
|
-
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
13
|
return to;
|
|
19
14
|
};
|
|
20
15
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
@@ -22,62 +17,51 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
17
|
// file that has been converted to a CommonJS file using a Babel-
|
|
23
18
|
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
19
|
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable:
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
26
21
|
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
29
23
|
var generate_themes_exports = {};
|
|
30
24
|
__export(generate_themes_exports, {
|
|
31
25
|
generateThemes: () => generateThemes
|
|
32
26
|
});
|
|
33
27
|
module.exports = __toCommonJS(generate_themes_exports);
|
|
34
|
-
var import_module = __toESM(require("module"));
|
|
35
|
-
var import_path = require("path");
|
|
28
|
+
var import_module = __toESM(require("module")), import_path = require("path");
|
|
36
29
|
const ogRequire = import_module.default.prototype.require;
|
|
37
30
|
async function generateThemes(inputFile) {
|
|
38
31
|
const { unregister } = require("esbuild-register/dist/node").register({
|
|
39
|
-
hookIgnoreNodeModules:
|
|
40
|
-
});
|
|
41
|
-
const inputFilePath = inputFile[0] === "." ? (0, import_path.join)(process.cwd(), inputFile) : inputFile;
|
|
32
|
+
hookIgnoreNodeModules: !1
|
|
33
|
+
}), inputFilePath = inputFile[0] === "." ? (0, import_path.join)(process.cwd(), inputFile) : inputFile;
|
|
42
34
|
purgeCache(inputFilePath);
|
|
43
35
|
let promise = null;
|
|
44
36
|
import_module.default.prototype.require = function(id) {
|
|
45
37
|
const out = ogRequire.apply(this, arguments);
|
|
46
|
-
if (id === "@tamagui/theme-builder") {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
38
|
+
if (id === "@tamagui/theme-builder" && !promise) {
|
|
39
|
+
let resolve;
|
|
40
|
+
return promise = new Promise((res) => {
|
|
41
|
+
resolve = res;
|
|
42
|
+
}), createThemeIntercept(out, {
|
|
43
|
+
onComplete: (result) => {
|
|
44
|
+
resolve?.(result.themeBuilder);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
58
47
|
}
|
|
59
48
|
return out;
|
|
60
49
|
};
|
|
61
50
|
try {
|
|
62
|
-
const requiredThemes = require(inputFilePath);
|
|
63
|
-
const themes = requiredThemes["default"] || requiredThemes["themes"];
|
|
64
|
-
const generatedThemes = generatedThemesToTypescript(themes);
|
|
65
|
-
const themeBuilder = promise ? await promise : null;
|
|
51
|
+
const requiredThemes = require(inputFilePath), themes = requiredThemes.default || requiredThemes.themes, generatedThemes = generatedThemesToTypescript(themes), themeBuilder = promise ? await promise : null;
|
|
66
52
|
return {
|
|
67
53
|
generated: generatedThemes,
|
|
68
|
-
state: themeBuilder
|
|
54
|
+
state: themeBuilder?.state
|
|
69
55
|
};
|
|
70
56
|
} catch (err) {
|
|
71
|
-
console.warn(` \u26A0\uFE0F Error running theme builder: ${err}`, err
|
|
57
|
+
console.warn(` \u26A0\uFE0F Error running theme builder: ${err}`, err?.stack);
|
|
72
58
|
} finally {
|
|
73
|
-
import_module.default.prototype.require = ogRequire;
|
|
74
|
-
unregister();
|
|
59
|
+
import_module.default.prototype.require = ogRequire, unregister();
|
|
75
60
|
}
|
|
76
61
|
}
|
|
77
62
|
const dedupedTokens = /* @__PURE__ */ new Map();
|
|
78
63
|
function generatedThemesToTypescript(themes) {
|
|
79
|
-
const dedupedThemes = /* @__PURE__ */ new Map();
|
|
80
|
-
const dedupedThemeToNames = /* @__PURE__ */ new Map();
|
|
64
|
+
const dedupedThemes = /* @__PURE__ */ new Map(), dedupedThemeToNames = /* @__PURE__ */ new Map();
|
|
81
65
|
let i = 0;
|
|
82
66
|
for (const name in themes) {
|
|
83
67
|
i++;
|
|
@@ -86,26 +70,16 @@ function generatedThemesToTypescript(themes) {
|
|
|
86
70
|
for (const [key2, value] of Object.entries(theme)) {
|
|
87
71
|
i++;
|
|
88
72
|
const uniqueKey = `t${i}${j}`;
|
|
89
|
-
|
|
90
|
-
dedupedTokens.set(value, uniqueKey);
|
|
91
|
-
}
|
|
73
|
+
dedupedTokens.has(value) || dedupedTokens.set(value, uniqueKey);
|
|
92
74
|
}
|
|
93
75
|
const key = JSON.stringify(theme);
|
|
94
|
-
|
|
95
|
-
dedupedThemeToNames.set(key, [...dedupedThemeToNames.get(key), name]);
|
|
96
|
-
} else {
|
|
97
|
-
dedupedThemes.set(key, theme);
|
|
98
|
-
dedupedThemeToNames.set(key, [name]);
|
|
99
|
-
}
|
|
76
|
+
dedupedThemes.has(key) ? dedupedThemeToNames.set(key, [...dedupedThemeToNames.get(key), name]) : (dedupedThemes.set(key, theme), dedupedThemeToNames.set(key, [name]));
|
|
100
77
|
}
|
|
101
78
|
const baseKeys = Object.entries(themes.light || themes[Object.keys(themes)[0]]);
|
|
102
|
-
|
|
103
|
-
${baseKeys.map(([k]) => {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}).join("")}
|
|
107
|
-
}`;
|
|
108
|
-
let out = `${baseTypeString}
|
|
79
|
+
let out = `${`type Theme = {
|
|
80
|
+
${baseKeys.map(([k]) => ` ${k}: string;
|
|
81
|
+
`).join("")}
|
|
82
|
+
}`}
|
|
109
83
|
`;
|
|
110
84
|
out += `
|
|
111
85
|
function t(a) {
|
|
@@ -116,32 +90,26 @@ function t(a) {
|
|
|
116
90
|
}
|
|
117
91
|
return res
|
|
118
92
|
}
|
|
119
|
-
|
|
120
|
-
out += `const vs = [
|
|
93
|
+
`, out += `const vs = [
|
|
121
94
|
`;
|
|
122
95
|
let index = 0;
|
|
123
96
|
const valueToIndex = {};
|
|
124
97
|
dedupedTokens.forEach((name, value) => {
|
|
125
|
-
valueToIndex[value] = index
|
|
126
|
-
|
|
127
|
-
|
|
98
|
+
valueToIndex[value] = index, index++, out += ` '${value}',
|
|
99
|
+
`;
|
|
100
|
+
}), out += `]
|
|
101
|
+
|
|
128
102
|
`;
|
|
129
|
-
});
|
|
130
|
-
out += "]\n\n";
|
|
131
103
|
const keys = baseKeys.map(([k]) => k);
|
|
132
104
|
out += `const ks = [
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
out += `]
|
|
105
|
+
`, out += keys.map((k) => `'${k}'`).join(`,
|
|
106
|
+
`), out += `]
|
|
136
107
|
|
|
137
108
|
`;
|
|
138
109
|
let nameI = 0;
|
|
139
|
-
dedupedThemes.forEach((theme) => {
|
|
110
|
+
return dedupedThemes.forEach((theme) => {
|
|
140
111
|
nameI++;
|
|
141
|
-
const key = JSON.stringify(theme)
|
|
142
|
-
const names = dedupedThemeToNames.get(key);
|
|
143
|
-
const name = `n${nameI}`;
|
|
144
|
-
const baseTheme = `const ${name} = ${objectToJsString(
|
|
112
|
+
const key = JSON.stringify(theme), names = dedupedThemeToNames.get(key), name = `n${nameI}`, baseTheme = `const ${name} = ${objectToJsString(
|
|
145
113
|
theme,
|
|
146
114
|
keys,
|
|
147
115
|
valueToIndex
|
|
@@ -151,15 +119,14 @@ ${baseTheme}`;
|
|
|
151
119
|
const duplicateThemes = names.map((n) => `export const ${n} = ${name} as Theme`);
|
|
152
120
|
out += `
|
|
153
121
|
|
|
154
|
-
` + duplicateThemes.join(
|
|
155
|
-
|
|
156
|
-
|
|
122
|
+
` + duplicateThemes.join(`
|
|
123
|
+
`);
|
|
124
|
+
}), out;
|
|
157
125
|
}
|
|
158
126
|
function objectToJsString(obj, keys, valueToIndex) {
|
|
159
127
|
let arrItems = [];
|
|
160
128
|
for (const key in obj) {
|
|
161
|
-
const ki = keys.indexOf(key);
|
|
162
|
-
const vi = valueToIndex[obj[key]];
|
|
129
|
+
const ki = keys.indexOf(key), vi = valueToIndex[obj[key]];
|
|
163
130
|
arrItems.push(`[${ki}, ${vi}]`);
|
|
164
131
|
}
|
|
165
132
|
return `t([${arrItems.join(",")}])`;
|
|
@@ -168,15 +135,12 @@ function createThemeIntercept(createThemeExport, themeBuilderInterceptOpts) {
|
|
|
168
135
|
return new Proxy(createThemeExport, {
|
|
169
136
|
get(target, key) {
|
|
170
137
|
const out = Reflect.get(target, key);
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
apply(target2, thisArg, argArray)
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
return out;
|
|
138
|
+
return key === "createThemeBuilder" ? new Proxy(out, {
|
|
139
|
+
apply(target2, thisArg, argArray) {
|
|
140
|
+
const builder = Reflect.apply(target2, thisArg, argArray);
|
|
141
|
+
return themeBuilderIntercept(builder, themeBuilderInterceptOpts);
|
|
142
|
+
}
|
|
143
|
+
}) : out;
|
|
180
144
|
}
|
|
181
145
|
});
|
|
182
146
|
}
|
|
@@ -184,38 +148,26 @@ function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
|
184
148
|
return new Proxy(themeBuilder, {
|
|
185
149
|
get(target, key) {
|
|
186
150
|
const out = Reflect.get(target, key);
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
return out;
|
|
151
|
+
return key === "build" && themeBuilderInterceptOpts.onComplete({
|
|
152
|
+
themeBuilder
|
|
153
|
+
}), out;
|
|
193
154
|
}
|
|
194
155
|
});
|
|
195
156
|
}
|
|
196
157
|
function purgeCache(moduleName) {
|
|
197
158
|
searchCache(moduleName, function(mod) {
|
|
198
159
|
delete require.cache[mod.id];
|
|
199
|
-
})
|
|
200
|
-
|
|
201
|
-
if (cacheKey.indexOf(moduleName) > 0) {
|
|
202
|
-
delete module.constructor._pathCache[cacheKey];
|
|
203
|
-
}
|
|
160
|
+
}), Object.keys(module.constructor._pathCache).forEach(function(cacheKey) {
|
|
161
|
+
cacheKey.indexOf(moduleName) > 0 && delete module.constructor._pathCache[cacheKey];
|
|
204
162
|
});
|
|
205
163
|
}
|
|
206
164
|
function searchCache(moduleName, callback) {
|
|
207
165
|
let mod = require.resolve(moduleName);
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
mod2.children.forEach(function(child) {
|
|
214
|
-
traverse(child, depth + 1);
|
|
215
|
-
});
|
|
216
|
-
callback(mod2);
|
|
217
|
-
})(mod);
|
|
218
|
-
}
|
|
166
|
+
mod && (mod = require.cache[mod]) !== void 0 && function traverse(mod2, depth = 0) {
|
|
167
|
+
depth > 10 || (mod2.children.forEach(function(child) {
|
|
168
|
+
traverse(child, depth + 1);
|
|
169
|
+
}), callback(mod2));
|
|
170
|
+
}(mod);
|
|
219
171
|
}
|
|
220
172
|
// Annotate the CommonJS export names for ESM import in node:
|
|
221
173
|
0 && (module.exports = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/generate-themes.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB,4BACnB,cAAqB;AAQrB,MAAM,YAAY,cAAAA,QAAO,UAAU;AAEnC,eAAsB,eAAe,WAAmB;AACtD,QAAM,EAAE,WAAW,IAAI,QAAQ,4BAA4B,EAAE,SAAS;AAAA,IACpE,uBAAuB;AAAA,EACzB,CAAC,GAEK,gBAAgB,UAAU,CAAC,MAAM,UAAM,kBAAK,QAAQ,IAAI,GAAG,SAAS,IAAI;AAC9E,aAAW,aAAa;AAExB,MAAI,UAAoD;AAGxD,gBAAAA,QAAO,UAAU,UAAU,SAAU,IAAI;AAEvC,UAAM,MAAM,UAAU,MAAM,MAAM,SAAS;AAE3C,QAAI,OAAO,4BACL,CAAC,SAAS;AACZ,UAAI;AACJ,uBAAU,IAAI,QAAQ,CAAC,QAAQ;AAC7B,kBAAU;AAAA,MACZ,CAAC,GACM,qBAAqB,KAAK;AAAA,QAC/B,YAAY,CAAC,WAAW;AACtB,oBAAU,OAAO,YAAY;AAAA,QAC/B;AAAA,MACF,CAAC;AAAA,IACH;AAEF,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,iBAAiB,QAAQ,aAAa,GACtC,SAAS,eAAe,WAAc,eAAe,QACrD,kBAAkB,4BAA4B,MAAM,GACpD,eAAe,UAAU,MAAM,UAAU;AAC/C,WAAO;AAAA,MACL,WAAW;AAAA,MACX,OAAO,cAAc;AAAA,IACvB;AAAA,EACF,SAAS,KAAK;AACZ,YAAQ,KAAK,8CAAoC,GAAG,IAAI,KAAM,KAAQ;AAAA,EACxE,UAAE;AACA,kBAAAA,QAAO,UAAU,UAAU,WAC3B,WAAW;AAAA,EACb;AACF;AAKA,MAAM,gBAAgB,oBAAI,IAAoB;AAE9C,SAAS,4BAA4B,QAA6B;AAChE,QAAM,gBAAgB,oBAAI,IAAoB,GACxC,sBAAsB,oBAAI,IAAsB;AAEtD,MAAI,IAAI;AACR,aAAW,QAAQ,QAAQ;AACzB;AAEA,UAAM,QAAgC,OAAO,IAAI;AAGjD,QAAI,IAAI;AACR,eAAW,CAACC,MAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AAChD;AACA,YAAM,YAAY,IAAI,CAAC,GAAG,CAAC;AAC3B,MAAK,cAAc,IAAI,KAAK,KAC1B,cAAc,IAAI,OAAO,SAAS;AAAA,IAEtC;AAEA,UAAM,MAAM,KAAK,UAAU,KAAK;AAChC,IAAI,cAAc,IAAI,GAAG,IACvB,oBAAoB,IAAI,KAAK,CAAC,GAAG,oBAAoB,IAAI,GAAG,GAAI,IAAI,CAAC,KAErE,cAAc,IAAI,KAAK,KAAK,GAC5B,oBAAoB,IAAI,KAAK,CAAC,IAAI,CAAC;AAAA,EAEvC;AAEA,QAAM,WAAW,OAAO,QAAQ,OAAO,SAAS,OAAO,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;AAa9E,MAAI,MAAM,GARa;AAAA,EACvB,SACC,IAAI,CAAC,CAAC,CAAC,MACC,KAAK,CAAC;AAAA,CACd,EACA,KAAK,EAAE,CAAC;AAAA,EAGkB;AAAA;AAG3B,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYP,OAAO;AAAA;AACP,MAAI,QAAQ;AACZ,QAAM,eAAe,CAAC;AACtB,gBAAc,QAAQ,CAAC,MAAM,UAAU;AACrC,iBAAa,KAAK,IAAI,OACtB,SACA,OAAO,MAAM,KAAK;AAAA;AAAA,EACpB,CAAC,GACD,OAAO;AAAA;AAAA;AAGP,QAAM,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACpC,SAAO;AAAA,GACP,OAAO,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,KAAK;AAAA,CAAK,GAC3C,OAAO;AAAA;AAAA;AAGP,MAAI,QAAQ;AACZ,uBAAc,QAAQ,CAAC,UAAU;AAC/B;AACA,UAAM,MAAM,KAAK,UAAU,KAAK,GAC1B,QAAQ,oBAAoB,IAAI,GAAG,GACnC,OAAO,IAAI,KAAK,IAChB,YAAY,SAAS,IAAI,MAAM;AAAA,MACnC;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EAAK,SAAS;AACrB,UAAM,kBAAkB,MAAM,IAAI,CAAC,MAAM,gBAAgB,CAAC,MAAM,IAAI,WAAW;AAC/E,WAAO;AAAA;AAAA,IAAS,gBAAgB,KAAK;AAAA,CAAI;AAAA,EAC3C,CAAC,GAEM;AACT;AAEA,SAAS,iBACP,KACA,MACA,cACA;AACA,MAAI,WAAqB,CAAC;AAC1B,aAAW,OAAO,KAAK;AACrB,UAAM,KAAK,KAAK,QAAQ,GAAG,GACrB,KAAK,aAAa,IAAI,GAAG,CAAC;AAChC,aAAS,KAAK,IAAI,EAAE,KAAK,EAAE,GAAG;AAAA,EAChC;AACA,SAAO,MAAM,SAAS,KAAK,GAAG,CAAC;AACjC;AAEA,SAAS,qBACP,mBACA,2BACA;AACA,SAAO,IAAI,MAAM,mBAAmB;AAAA,IAClC,IAAI,QAAQ,KAAK;AACf,YAAM,MAAM,QAAQ,IAAI,QAAQ,GAAG;AACnC,aAAI,QAAQ,uBACH,IAAI,MAAM,KAAK;AAAA,QACpB,MAAMC,SAAQ,SAAS,UAAU;AAC/B,gBAAM,UAAU,QAAQ,MAAMA,SAAQ,SAAS,QAAQ;AACvD,iBAAO,sBAAsB,SAAS,yBAAyB;AAAA,QACjE;AAAA,MACF,CAAC,IAEI;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAEA,SAAS,sBACP,cACA,2BACA;AACA,SAAO,IAAI,MAAM,cAAc;AAAA,IAC7B,IAAI,QAAQ,KAAK;AACf,YAAM,MAAM,QAAQ,IAAI,QAAQ,GAAG;AACnC,aAAI,QAAQ,WAEV,0BAA0B,WAAW;AAAA,QACnC;AAAA,MACF,CAAC,GAEI;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAKA,SAAS,WAAW,YAAY;AAG9B,cAAY,YAAY,SAAU,KAAK;AACrC,WAAO,QAAQ,MAAM,IAAI,EAAE;AAAA,EAC7B,CAAC,GAKD,OAAO,KAAK,OAAO,YAAY,UAAU,EAAE,QAAQ,SAAU,UAAU;AACrE,IAAI,SAAS,QAAQ,UAAU,IAAI,KAEjC,OAAO,OAAO,YAAY,WAAW,QAAQ;AAAA,EAEjD,CAAC;AACH;AAMA,SAAS,YAAY,YAAY,UAAU;AAEzC,MAAI,MAAM,QAAQ,QAAQ,UAAU;AAKpC,EAAI,QAAQ,MAAM,QAAQ,MAAM,GAAG,OAAO,UAEtC,SAAS,SAASC,MAAK,QAAQ,GAAG;AAElC,IAAI,QAAQ,OAKZA,KAAI,SAAS,QAAQ,SAAU,OAAO;AACpC,eAAS,OAAO,QAAQ,CAAC;AAAA,IAC3B,CAAC,GAID,SAASA,IAAG;AAAA,EACd,EAAG,GAAG;AAEV;",
|
|
5
5
|
"names": ["Module", "key", "target", "mod"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
10
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
19
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
22
|
+
mod
|
|
23
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
24
|
+
var generate_themes_exports = {};
|
|
25
|
+
__export(generate_themes_exports, {
|
|
26
|
+
generateThemes: () => generateThemes
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(generate_themes_exports);
|
|
29
|
+
var import_module = __toESM(require("module")), import_path = require("path");
|
|
30
|
+
const ogRequire = import_module.default.prototype.require;
|
|
31
|
+
async function generateThemes(inputFile) {
|
|
32
|
+
const { unregister } = require("esbuild-register/dist/node").register({
|
|
33
|
+
hookIgnoreNodeModules: !1
|
|
34
|
+
}), inputFilePath = inputFile[0] === "." ? (0, import_path.join)(process.cwd(), inputFile) : inputFile;
|
|
35
|
+
purgeCache(inputFilePath);
|
|
36
|
+
let promise = null;
|
|
37
|
+
import_module.default.prototype.require = function(id) {
|
|
38
|
+
const out = ogRequire.apply(this, arguments);
|
|
39
|
+
if (id === "@tamagui/theme-builder" && !promise) {
|
|
40
|
+
let resolve;
|
|
41
|
+
return promise = new Promise((res) => {
|
|
42
|
+
resolve = res;
|
|
43
|
+
}), createThemeIntercept(out, {
|
|
44
|
+
onComplete: (result) => {
|
|
45
|
+
resolve?.(result.themeBuilder);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return out;
|
|
50
|
+
};
|
|
51
|
+
try {
|
|
52
|
+
const requiredThemes = require(inputFilePath), themes = requiredThemes.default || requiredThemes.themes, generatedThemes = generatedThemesToTypescript(themes), themeBuilder = promise ? await promise : null;
|
|
53
|
+
return {
|
|
54
|
+
generated: generatedThemes,
|
|
55
|
+
state: themeBuilder?.state
|
|
56
|
+
};
|
|
57
|
+
} catch (err) {
|
|
58
|
+
console.warn(` \u26A0\uFE0F Error running theme builder: ${err}`, err?.stack);
|
|
59
|
+
} finally {
|
|
60
|
+
import_module.default.prototype.require = ogRequire, unregister();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const dedupedTokens = /* @__PURE__ */ new Map();
|
|
64
|
+
function generatedThemesToTypescript(themes) {
|
|
65
|
+
const dedupedThemes = /* @__PURE__ */ new Map(), dedupedThemeToNames = /* @__PURE__ */ new Map();
|
|
66
|
+
let i = 0;
|
|
67
|
+
for (const name in themes) {
|
|
68
|
+
i++;
|
|
69
|
+
const theme = themes[name];
|
|
70
|
+
let j = 0;
|
|
71
|
+
for (const [key2, value] of Object.entries(theme)) {
|
|
72
|
+
i++;
|
|
73
|
+
const uniqueKey = `t${i}${j}`;
|
|
74
|
+
dedupedTokens.has(value) || dedupedTokens.set(value, uniqueKey);
|
|
75
|
+
}
|
|
76
|
+
const key = JSON.stringify(theme);
|
|
77
|
+
dedupedThemes.has(key) ? dedupedThemeToNames.set(key, [...dedupedThemeToNames.get(key), name]) : (dedupedThemes.set(key, theme), dedupedThemeToNames.set(key, [name]));
|
|
78
|
+
}
|
|
79
|
+
const baseKeys = Object.entries(themes.light || themes[Object.keys(themes)[0]]);
|
|
80
|
+
let out = `${`type Theme = {
|
|
81
|
+
${baseKeys.map(([k]) => ` ${k}: string;
|
|
82
|
+
`).join("")}
|
|
83
|
+
}`}
|
|
84
|
+
`;
|
|
85
|
+
out += `
|
|
86
|
+
function t(a) {
|
|
87
|
+
let res: Record<string, string> = {}
|
|
88
|
+
for (const [ki, vi] of a) {
|
|
89
|
+
// @ts-ignore
|
|
90
|
+
res[ks[ki]] = vs[vi]
|
|
91
|
+
}
|
|
92
|
+
return res
|
|
93
|
+
}
|
|
94
|
+
`, out += `const vs = [
|
|
95
|
+
`;
|
|
96
|
+
let index = 0;
|
|
97
|
+
const valueToIndex = {};
|
|
98
|
+
dedupedTokens.forEach((name, value) => {
|
|
99
|
+
valueToIndex[value] = index, index++, out += ` '${value}',
|
|
100
|
+
`;
|
|
101
|
+
}), out += `]
|
|
102
|
+
|
|
103
|
+
`;
|
|
104
|
+
const keys = baseKeys.map(([k]) => k);
|
|
105
|
+
out += `const ks = [
|
|
106
|
+
`, out += keys.map((k) => `'${k}'`).join(`,
|
|
107
|
+
`), out += `]
|
|
108
|
+
|
|
109
|
+
`;
|
|
110
|
+
let nameI = 0;
|
|
111
|
+
return dedupedThemes.forEach((theme) => {
|
|
112
|
+
nameI++;
|
|
113
|
+
const key = JSON.stringify(theme), names = dedupedThemeToNames.get(key), name = `n${nameI}`, baseTheme = `const ${name} = ${objectToJsString(
|
|
114
|
+
theme,
|
|
115
|
+
keys,
|
|
116
|
+
valueToIndex
|
|
117
|
+
)} as Theme`;
|
|
118
|
+
out += `
|
|
119
|
+
${baseTheme}`;
|
|
120
|
+
const duplicateThemes = names.map((n) => `export const ${n} = ${name} as Theme`);
|
|
121
|
+
out += `
|
|
122
|
+
|
|
123
|
+
` + duplicateThemes.join(`
|
|
124
|
+
`);
|
|
125
|
+
}), out;
|
|
126
|
+
}
|
|
127
|
+
function objectToJsString(obj, keys, valueToIndex) {
|
|
128
|
+
let arrItems = [];
|
|
129
|
+
for (const key in obj) {
|
|
130
|
+
const ki = keys.indexOf(key), vi = valueToIndex[obj[key]];
|
|
131
|
+
arrItems.push(`[${ki}, ${vi}]`);
|
|
132
|
+
}
|
|
133
|
+
return `t([${arrItems.join(",")}])`;
|
|
134
|
+
}
|
|
135
|
+
function createThemeIntercept(createThemeExport, themeBuilderInterceptOpts) {
|
|
136
|
+
return new Proxy(createThemeExport, {
|
|
137
|
+
get(target, key) {
|
|
138
|
+
const out = Reflect.get(target, key);
|
|
139
|
+
return key === "createThemeBuilder" ? new Proxy(out, {
|
|
140
|
+
apply(target2, thisArg, argArray) {
|
|
141
|
+
const builder = Reflect.apply(target2, thisArg, argArray);
|
|
142
|
+
return themeBuilderIntercept(builder, themeBuilderInterceptOpts);
|
|
143
|
+
}
|
|
144
|
+
}) : out;
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
149
|
+
return new Proxy(themeBuilder, {
|
|
150
|
+
get(target, key) {
|
|
151
|
+
const out = Reflect.get(target, key);
|
|
152
|
+
return key === "build" && themeBuilderInterceptOpts.onComplete({
|
|
153
|
+
themeBuilder
|
|
154
|
+
}), out;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function purgeCache(moduleName) {
|
|
159
|
+
searchCache(moduleName, function(mod) {
|
|
160
|
+
delete require.cache[mod.id];
|
|
161
|
+
}), Object.keys(module.constructor._pathCache).forEach(function(cacheKey) {
|
|
162
|
+
cacheKey.indexOf(moduleName) > 0 && delete module.constructor._pathCache[cacheKey];
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
function searchCache(moduleName, callback) {
|
|
166
|
+
let mod = require.resolve(moduleName);
|
|
167
|
+
mod && (mod = require.cache[mod]) !== void 0 && function traverse(mod2, depth = 0) {
|
|
168
|
+
depth > 10 || (mod2.children.forEach(function(child) {
|
|
169
|
+
traverse(child, depth + 1);
|
|
170
|
+
}), callback(mod2));
|
|
171
|
+
}(mod);
|
|
172
|
+
}
|
|
173
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
174
|
+
0 && (module.exports = {
|
|
175
|
+
generateThemes
|
|
176
|
+
});
|
|
177
|
+
//# sourceMappingURL=generate-themes.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/generate-themes.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["Module", "key", "target", "mod"]
|
|
6
|
+
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
5
|
var __copyProps = (to, from, except, desc) => {
|
|
7
|
-
if (from && typeof from
|
|
6
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
8
7
|
for (let key of __getOwnPropNames(from))
|
|
9
|
-
|
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
-
}
|
|
8
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
9
|
return to;
|
|
13
|
-
};
|
|
14
|
-
var
|
|
15
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
10
|
+
}, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
11
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
16
12
|
var src_exports = {};
|
|
17
13
|
module.exports = __toCommonJS(src_exports);
|
|
18
14
|
__reExport(src_exports, require("./generate-themes"), module.exports);
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
return to;
|
|
11
|
+
}, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
12
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
13
|
+
var src_exports = {};
|
|
14
|
+
module.exports = __toCommonJS(src_exports);
|
|
15
|
+
__reExport(src_exports, require("./generate-themes"), module.exports);
|
|
16
|
+
__reExport(src_exports, require("./write-generate-themes"), module.exports);
|
|
17
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
18
|
+
0 && (module.exports = {
|
|
19
|
+
...require("./generate-themes"),
|
|
20
|
+
...require("./write-generate-themes")
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1,20 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable:
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
14
11
|
for (let key of __getOwnPropNames(from))
|
|
15
|
-
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
13
|
return to;
|
|
19
14
|
};
|
|
20
15
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
@@ -22,28 +17,20 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
17
|
// file that has been converted to a CommonJS file using a Babel-
|
|
23
18
|
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
19
|
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable:
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
26
21
|
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
29
23
|
var write_generate_themes_exports = {};
|
|
30
24
|
__export(write_generate_themes_exports, {
|
|
31
25
|
writeGeneratedThemes: () => writeGeneratedThemes
|
|
32
26
|
});
|
|
33
27
|
module.exports = __toCommonJS(write_generate_themes_exports);
|
|
34
|
-
var import_path = require("path");
|
|
35
|
-
var fs = __toESM(require("fs-extra"));
|
|
28
|
+
var import_path = require("path"), fs = __toESM(require("fs-extra"));
|
|
36
29
|
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
37
30
|
if (!generatedOutput)
|
|
38
31
|
return;
|
|
39
|
-
const { generated, state } = generatedOutput;
|
|
40
|
-
|
|
41
|
-
const themeBuilderStatePath = (0, import_path.join)(tamaguiDotDir, `theme-builder.json`);
|
|
42
|
-
if (process.env.DEBUG === "tamagui") {
|
|
43
|
-
console.log(`Generated themes:`, JSON.stringify(generatedOutput, null, 2));
|
|
44
|
-
console.log(`Writing themes to`, { outPath, themeBuilderStatePath });
|
|
45
|
-
}
|
|
46
|
-
await Promise.all([
|
|
32
|
+
const { generated, state } = generatedOutput, tamaguiDotDirExists = await fs.pathExists(tamaguiDotDir), themeBuilderStatePath = (0, import_path.join)(tamaguiDotDir, "theme-builder.json");
|
|
33
|
+
process.env.DEBUG === "tamagui" && (console.log("Generated themes:", JSON.stringify(generatedOutput, null, 2)), console.log("Writing themes to", { outPath, themeBuilderStatePath })), await Promise.all([
|
|
47
34
|
fs.writeFile(outPath, generated),
|
|
48
35
|
state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null
|
|
49
36
|
]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/write-generate-themes.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAqB,iBAErB,KAAoB;AAIpB,eAAsB,qBACpB,eACA,SACA,iBACA;AACA,MAAI,CAAC;AAAiB;AAEtB,QAAM,EAAE,WAAW,MAAM,IAAI,iBAEvB,sBAAsB,MAAM,GAAG,WAAW,aAAa,GACvD,4BAAwB,kBAAK,eAAe,oBAAoB;AAEtE,EAAI,QAAQ,IAAI,UAAU,cAExB,QAAQ,IAAI,qBAAqB,KAAK,UAAU,iBAAiB,MAAM,CAAC,CAAC,GAEzE,QAAQ,IAAI,qBAAqB,EAAE,SAAS,sBAAsB,CAAC,IAGrE,MAAM,QAAQ,IAAI;AAAA,IAChB,GAAG,UAAU,SAAS,SAAS;AAAA,IAC/B,SAAS,sBACL,GAAG,UAAU,uBAAuB,KAAK,UAAU,KAAK,CAAC,IACzD;AAAA,EACN,CAAC;AACH;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
10
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
19
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
22
|
+
mod
|
|
23
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
24
|
+
var write_generate_themes_exports = {};
|
|
25
|
+
__export(write_generate_themes_exports, {
|
|
26
|
+
writeGeneratedThemes: () => writeGeneratedThemes
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(write_generate_themes_exports);
|
|
29
|
+
var import_path = require("path"), fs = __toESM(require("fs-extra"));
|
|
30
|
+
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
31
|
+
if (!generatedOutput)
|
|
32
|
+
return;
|
|
33
|
+
const { generated, state } = generatedOutput, tamaguiDotDirExists = await fs.pathExists(tamaguiDotDir), themeBuilderStatePath = (0, import_path.join)(tamaguiDotDir, "theme-builder.json");
|
|
34
|
+
process.env.DEBUG === "tamagui" && (console.log("Generated themes:", JSON.stringify(generatedOutput, null, 2)), console.log("Writing themes to", { outPath, themeBuilderStatePath })), await Promise.all([
|
|
35
|
+
fs.writeFile(outPath, generated),
|
|
36
|
+
state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
40
|
+
0 && (module.exports = {
|
|
41
|
+
writeGeneratedThemes
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=write-generate-themes.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/write-generate-themes.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAqB,iBAErB,KAAoB;AAIpB,eAAsB,qBACpB,eACA,SACA,iBACA;AACA,MAAI,CAAC;AAAiB;AAEtB,QAAM,EAAE,WAAW,MAAM,IAAI,iBAEvB,sBAAsB,MAAM,GAAG,WAAW,aAAa,GACvD,4BAAwB,kBAAK,eAAe,oBAAoB;AAEtE,EAAI,QAAQ,IAAI,UAAU,cAExB,QAAQ,IAAI,qBAAqB,KAAK,UAAU,iBAAiB,MAAM,CAAC,CAAC,GAEzE,QAAQ,IAAI,qBAAqB,EAAE,SAAS,sBAAsB,CAAC,IAGrE,MAAM,QAAQ,IAAI;AAAA,IAChB,GAAG,UAAU,SAAS,SAAS;AAAA,IAC/B,SAAS,sBACL,GAAG,UAAU,uBAAuB,KAAK,UAAU,KAAK,CAAC,IACzD;AAAA,EACN,CAAC;AACH;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -3,48 +3,39 @@ import { join } from "path";
|
|
|
3
3
|
const ogRequire = Module.prototype.require;
|
|
4
4
|
async function generateThemes(inputFile) {
|
|
5
5
|
const { unregister } = require("esbuild-register/dist/node").register({
|
|
6
|
-
hookIgnoreNodeModules:
|
|
7
|
-
});
|
|
8
|
-
const inputFilePath = inputFile[0] === "." ? join(process.cwd(), inputFile) : inputFile;
|
|
6
|
+
hookIgnoreNodeModules: !1
|
|
7
|
+
}), inputFilePath = inputFile[0] === "." ? join(process.cwd(), inputFile) : inputFile;
|
|
9
8
|
purgeCache(inputFilePath);
|
|
10
9
|
let promise = null;
|
|
11
10
|
Module.prototype.require = function(id) {
|
|
12
11
|
const out = ogRequire.apply(this, arguments);
|
|
13
|
-
if (id === "@tamagui/theme-builder") {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
12
|
+
if (id === "@tamagui/theme-builder" && !promise) {
|
|
13
|
+
let resolve;
|
|
14
|
+
return promise = new Promise((res) => {
|
|
15
|
+
resolve = res;
|
|
16
|
+
}), createThemeIntercept(out, {
|
|
17
|
+
onComplete: (result) => {
|
|
18
|
+
resolve?.(result.themeBuilder);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
25
21
|
}
|
|
26
22
|
return out;
|
|
27
23
|
};
|
|
28
24
|
try {
|
|
29
|
-
const requiredThemes = require(inputFilePath);
|
|
30
|
-
const themes = requiredThemes["default"] || requiredThemes["themes"];
|
|
31
|
-
const generatedThemes = generatedThemesToTypescript(themes);
|
|
32
|
-
const themeBuilder = promise ? await promise : null;
|
|
25
|
+
const requiredThemes = require(inputFilePath), themes = requiredThemes.default || requiredThemes.themes, generatedThemes = generatedThemesToTypescript(themes), themeBuilder = promise ? await promise : null;
|
|
33
26
|
return {
|
|
34
27
|
generated: generatedThemes,
|
|
35
|
-
state: themeBuilder
|
|
28
|
+
state: themeBuilder?.state
|
|
36
29
|
};
|
|
37
30
|
} catch (err) {
|
|
38
|
-
console.warn(` \u26A0\uFE0F Error running theme builder: ${err}`, err
|
|
31
|
+
console.warn(` \u26A0\uFE0F Error running theme builder: ${err}`, err?.stack);
|
|
39
32
|
} finally {
|
|
40
|
-
Module.prototype.require = ogRequire;
|
|
41
|
-
unregister();
|
|
33
|
+
Module.prototype.require = ogRequire, unregister();
|
|
42
34
|
}
|
|
43
35
|
}
|
|
44
36
|
const dedupedTokens = /* @__PURE__ */ new Map();
|
|
45
37
|
function generatedThemesToTypescript(themes) {
|
|
46
|
-
const dedupedThemes = /* @__PURE__ */ new Map();
|
|
47
|
-
const dedupedThemeToNames = /* @__PURE__ */ new Map();
|
|
38
|
+
const dedupedThemes = /* @__PURE__ */ new Map(), dedupedThemeToNames = /* @__PURE__ */ new Map();
|
|
48
39
|
let i = 0;
|
|
49
40
|
for (const name in themes) {
|
|
50
41
|
i++;
|
|
@@ -53,26 +44,16 @@ function generatedThemesToTypescript(themes) {
|
|
|
53
44
|
for (const [key2, value] of Object.entries(theme)) {
|
|
54
45
|
i++;
|
|
55
46
|
const uniqueKey = `t${i}${j}`;
|
|
56
|
-
|
|
57
|
-
dedupedTokens.set(value, uniqueKey);
|
|
58
|
-
}
|
|
47
|
+
dedupedTokens.has(value) || dedupedTokens.set(value, uniqueKey);
|
|
59
48
|
}
|
|
60
49
|
const key = JSON.stringify(theme);
|
|
61
|
-
|
|
62
|
-
dedupedThemeToNames.set(key, [...dedupedThemeToNames.get(key), name]);
|
|
63
|
-
} else {
|
|
64
|
-
dedupedThemes.set(key, theme);
|
|
65
|
-
dedupedThemeToNames.set(key, [name]);
|
|
66
|
-
}
|
|
50
|
+
dedupedThemes.has(key) ? dedupedThemeToNames.set(key, [...dedupedThemeToNames.get(key), name]) : (dedupedThemes.set(key, theme), dedupedThemeToNames.set(key, [name]));
|
|
67
51
|
}
|
|
68
52
|
const baseKeys = Object.entries(themes.light || themes[Object.keys(themes)[0]]);
|
|
69
|
-
|
|
70
|
-
${baseKeys.map(([k]) => {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}).join("")}
|
|
74
|
-
}`;
|
|
75
|
-
let out = `${baseTypeString}
|
|
53
|
+
let out = `${`type Theme = {
|
|
54
|
+
${baseKeys.map(([k]) => ` ${k}: string;
|
|
55
|
+
`).join("")}
|
|
56
|
+
}`}
|
|
76
57
|
`;
|
|
77
58
|
out += `
|
|
78
59
|
function t(a) {
|
|
@@ -83,32 +64,26 @@ function t(a) {
|
|
|
83
64
|
}
|
|
84
65
|
return res
|
|
85
66
|
}
|
|
86
|
-
|
|
87
|
-
out += `const vs = [
|
|
67
|
+
`, out += `const vs = [
|
|
88
68
|
`;
|
|
89
69
|
let index = 0;
|
|
90
70
|
const valueToIndex = {};
|
|
91
71
|
dedupedTokens.forEach((name, value) => {
|
|
92
|
-
valueToIndex[value] = index
|
|
93
|
-
|
|
94
|
-
|
|
72
|
+
valueToIndex[value] = index, index++, out += ` '${value}',
|
|
73
|
+
`;
|
|
74
|
+
}), out += `]
|
|
75
|
+
|
|
95
76
|
`;
|
|
96
|
-
});
|
|
97
|
-
out += "]\n\n";
|
|
98
77
|
const keys = baseKeys.map(([k]) => k);
|
|
99
78
|
out += `const ks = [
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
out += `]
|
|
79
|
+
`, out += keys.map((k) => `'${k}'`).join(`,
|
|
80
|
+
`), out += `]
|
|
103
81
|
|
|
104
82
|
`;
|
|
105
83
|
let nameI = 0;
|
|
106
|
-
dedupedThemes.forEach((theme) => {
|
|
84
|
+
return dedupedThemes.forEach((theme) => {
|
|
107
85
|
nameI++;
|
|
108
|
-
const key = JSON.stringify(theme)
|
|
109
|
-
const names = dedupedThemeToNames.get(key);
|
|
110
|
-
const name = `n${nameI}`;
|
|
111
|
-
const baseTheme = `const ${name} = ${objectToJsString(
|
|
86
|
+
const key = JSON.stringify(theme), names = dedupedThemeToNames.get(key), name = `n${nameI}`, baseTheme = `const ${name} = ${objectToJsString(
|
|
112
87
|
theme,
|
|
113
88
|
keys,
|
|
114
89
|
valueToIndex
|
|
@@ -118,15 +93,14 @@ ${baseTheme}`;
|
|
|
118
93
|
const duplicateThemes = names.map((n) => `export const ${n} = ${name} as Theme`);
|
|
119
94
|
out += `
|
|
120
95
|
|
|
121
|
-
` + duplicateThemes.join(
|
|
122
|
-
|
|
123
|
-
|
|
96
|
+
` + duplicateThemes.join(`
|
|
97
|
+
`);
|
|
98
|
+
}), out;
|
|
124
99
|
}
|
|
125
100
|
function objectToJsString(obj, keys, valueToIndex) {
|
|
126
101
|
let arrItems = [];
|
|
127
102
|
for (const key in obj) {
|
|
128
|
-
const ki = keys.indexOf(key);
|
|
129
|
-
const vi = valueToIndex[obj[key]];
|
|
103
|
+
const ki = keys.indexOf(key), vi = valueToIndex[obj[key]];
|
|
130
104
|
arrItems.push(`[${ki}, ${vi}]`);
|
|
131
105
|
}
|
|
132
106
|
return `t([${arrItems.join(",")}])`;
|
|
@@ -135,15 +109,12 @@ function createThemeIntercept(createThemeExport, themeBuilderInterceptOpts) {
|
|
|
135
109
|
return new Proxy(createThemeExport, {
|
|
136
110
|
get(target, key) {
|
|
137
111
|
const out = Reflect.get(target, key);
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
apply(target2, thisArg, argArray)
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
return out;
|
|
112
|
+
return key === "createThemeBuilder" ? new Proxy(out, {
|
|
113
|
+
apply(target2, thisArg, argArray) {
|
|
114
|
+
const builder = Reflect.apply(target2, thisArg, argArray);
|
|
115
|
+
return themeBuilderIntercept(builder, themeBuilderInterceptOpts);
|
|
116
|
+
}
|
|
117
|
+
}) : out;
|
|
147
118
|
}
|
|
148
119
|
});
|
|
149
120
|
}
|
|
@@ -151,38 +122,26 @@ function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
|
151
122
|
return new Proxy(themeBuilder, {
|
|
152
123
|
get(target, key) {
|
|
153
124
|
const out = Reflect.get(target, key);
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
return out;
|
|
125
|
+
return key === "build" && themeBuilderInterceptOpts.onComplete({
|
|
126
|
+
themeBuilder
|
|
127
|
+
}), out;
|
|
160
128
|
}
|
|
161
129
|
});
|
|
162
130
|
}
|
|
163
131
|
function purgeCache(moduleName) {
|
|
164
132
|
searchCache(moduleName, function(mod) {
|
|
165
133
|
delete require.cache[mod.id];
|
|
166
|
-
})
|
|
167
|
-
|
|
168
|
-
if (cacheKey.indexOf(moduleName) > 0) {
|
|
169
|
-
delete module.constructor._pathCache[cacheKey];
|
|
170
|
-
}
|
|
134
|
+
}), Object.keys(module.constructor._pathCache).forEach(function(cacheKey) {
|
|
135
|
+
cacheKey.indexOf(moduleName) > 0 && delete module.constructor._pathCache[cacheKey];
|
|
171
136
|
});
|
|
172
137
|
}
|
|
173
138
|
function searchCache(moduleName, callback) {
|
|
174
139
|
let mod = require.resolve(moduleName);
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
mod2.children.forEach(function(child) {
|
|
181
|
-
traverse(child, depth + 1);
|
|
182
|
-
});
|
|
183
|
-
callback(mod2);
|
|
184
|
-
})(mod);
|
|
185
|
-
}
|
|
140
|
+
mod && (mod = require.cache[mod]) !== void 0 && function traverse(mod2, depth = 0) {
|
|
141
|
+
depth > 10 || (mod2.children.forEach(function(child) {
|
|
142
|
+
traverse(child, depth + 1);
|
|
143
|
+
}), callback(mod2));
|
|
144
|
+
}(mod);
|
|
186
145
|
}
|
|
187
146
|
export {
|
|
188
147
|
generateThemes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/generate-themes.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,YAAY;AACnB,SAAS,YAAY;AAQrB,MAAM,YAAY,OAAO,UAAU;AAEnC,eAAsB,eAAe,WAAmB;AACtD,QAAM,EAAE,WAAW,IAAI,QAAQ,4BAA4B,EAAE,SAAS;AAAA,IACpE,uBAAuB;AAAA,EACzB,CAAC
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["key", "target", "mod"]
|
|
6
6
|
}
|
|
@@ -3,14 +3,8 @@ import * as fs from "fs-extra";
|
|
|
3
3
|
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
4
4
|
if (!generatedOutput)
|
|
5
5
|
return;
|
|
6
|
-
const { generated, state } = generatedOutput;
|
|
7
|
-
|
|
8
|
-
const themeBuilderStatePath = join(tamaguiDotDir, `theme-builder.json`);
|
|
9
|
-
if (process.env.DEBUG === "tamagui") {
|
|
10
|
-
console.log(`Generated themes:`, JSON.stringify(generatedOutput, null, 2));
|
|
11
|
-
console.log(`Writing themes to`, { outPath, themeBuilderStatePath });
|
|
12
|
-
}
|
|
13
|
-
await Promise.all([
|
|
6
|
+
const { generated, state } = generatedOutput, tamaguiDotDirExists = await fs.pathExists(tamaguiDotDir), themeBuilderStatePath = join(tamaguiDotDir, "theme-builder.json");
|
|
7
|
+
process.env.DEBUG === "tamagui" && (console.log("Generated themes:", JSON.stringify(generatedOutput, null, 2)), console.log("Writing themes to", { outPath, themeBuilderStatePath })), await Promise.all([
|
|
14
8
|
fs.writeFile(outPath, generated),
|
|
15
9
|
state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null
|
|
16
10
|
]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/write-generate-themes.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,YAAY;AAErB,YAAY,QAAQ;AAIpB,eAAsB,qBACpB,eACA,SACA,iBACA;AACA,MAAI,CAAC;AAAiB;AAEtB,QAAM,EAAE,WAAW,MAAM,IAAI
|
|
4
|
+
"mappings": "AAAA,SAAS,YAAY;AAErB,YAAY,QAAQ;AAIpB,eAAsB,qBACpB,eACA,SACA,iBACA;AACA,MAAI,CAAC;AAAiB;AAEtB,QAAM,EAAE,WAAW,MAAM,IAAI,iBAEvB,sBAAsB,MAAM,GAAG,WAAW,aAAa,GACvD,wBAAwB,KAAK,eAAe,oBAAoB;AAEtE,EAAI,QAAQ,IAAI,UAAU,cAExB,QAAQ,IAAI,qBAAqB,KAAK,UAAU,iBAAiB,MAAM,CAAC,CAAC,GAEzE,QAAQ,IAAI,qBAAqB,EAAE,SAAS,sBAAsB,CAAC,IAGrE,MAAM,QAAQ,IAAI;AAAA,IAChB,GAAG,UAAU,SAAS,SAAS;AAAA,IAC/B,SAAS,sBACL,GAAG,UAAU,uBAAuB,KAAK,UAAU,KAAK,CAAC,IACzD;AAAA,EACN,CAAC;AACH;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/generate-themes",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.62.0",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"main": "dist/cjs",
|
|
@@ -22,18 +22,18 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
|
-
"build": "tamagui-build
|
|
25
|
+
"build": "tamagui-build",
|
|
26
26
|
"watch": "yarn build --watch",
|
|
27
27
|
"clean": "tamagui-build clean",
|
|
28
28
|
"clean:build": "tamagui-build clean:build"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@tamagui/create-theme": "1.
|
|
32
|
-
"@tamagui/types": "1.
|
|
31
|
+
"@tamagui/create-theme": "1.62.0",
|
|
32
|
+
"@tamagui/types": "1.62.0",
|
|
33
33
|
"esbuild-register": "^3.4.2",
|
|
34
34
|
"fs-extra": "^11.1.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@tamagui/build": "1.
|
|
37
|
+
"@tamagui/build": "1.62.0"
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import Module from "module";
|
|
2
|
-
import { join } from "path";
|
|
3
|
-
const ogRequire = Module.prototype.require;
|
|
4
|
-
async function generateThemes(inputFile) {
|
|
5
|
-
const { unregister } = require("esbuild-register/dist/node").register({
|
|
6
|
-
hookIgnoreNodeModules: false
|
|
7
|
-
});
|
|
8
|
-
const inputFilePath = inputFile[0] === "." ? join(process.cwd(), inputFile) : inputFile;
|
|
9
|
-
purgeCache(inputFilePath);
|
|
10
|
-
let promise = null;
|
|
11
|
-
Module.prototype.require = function(id) {
|
|
12
|
-
const out = ogRequire.apply(this, arguments);
|
|
13
|
-
if (id === "@tamagui/theme-builder") {
|
|
14
|
-
if (!promise) {
|
|
15
|
-
let resolve;
|
|
16
|
-
promise = new Promise((res) => {
|
|
17
|
-
resolve = res;
|
|
18
|
-
});
|
|
19
|
-
return createThemeIntercept(out, {
|
|
20
|
-
onComplete: (result) => {
|
|
21
|
-
resolve == null ? void 0 : resolve(result.themeBuilder);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return out;
|
|
27
|
-
};
|
|
28
|
-
try {
|
|
29
|
-
const requiredThemes = require(inputFilePath);
|
|
30
|
-
const themes = requiredThemes["default"] || requiredThemes["themes"];
|
|
31
|
-
const generatedThemes = generatedThemesToTypescript(themes);
|
|
32
|
-
const themeBuilder = promise ? await promise : null;
|
|
33
|
-
return {
|
|
34
|
-
generated: generatedThemes,
|
|
35
|
-
state: themeBuilder == null ? void 0 : themeBuilder.state
|
|
36
|
-
};
|
|
37
|
-
} catch (err) {
|
|
38
|
-
console.warn(` \u26A0\uFE0F Error running theme builder: ${err}`, err == null ? void 0 : err["stack"]);
|
|
39
|
-
} finally {
|
|
40
|
-
Module.prototype.require = ogRequire;
|
|
41
|
-
unregister();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
const dedupedTokens = /* @__PURE__ */ new Map();
|
|
45
|
-
function generatedThemesToTypescript(themes) {
|
|
46
|
-
const dedupedThemes = /* @__PURE__ */ new Map();
|
|
47
|
-
const dedupedThemeToNames = /* @__PURE__ */ new Map();
|
|
48
|
-
let i = 0;
|
|
49
|
-
for (const name in themes) {
|
|
50
|
-
i++;
|
|
51
|
-
const theme = themes[name];
|
|
52
|
-
let j = 0;
|
|
53
|
-
for (const [key2, value] of Object.entries(theme)) {
|
|
54
|
-
i++;
|
|
55
|
-
const uniqueKey = `t${i}${j}`;
|
|
56
|
-
if (!dedupedTokens.has(value)) {
|
|
57
|
-
dedupedTokens.set(value, uniqueKey);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const key = JSON.stringify(theme);
|
|
61
|
-
if (dedupedThemes.has(key)) {
|
|
62
|
-
dedupedThemeToNames.set(key, [...dedupedThemeToNames.get(key), name]);
|
|
63
|
-
} else {
|
|
64
|
-
dedupedThemes.set(key, theme);
|
|
65
|
-
dedupedThemeToNames.set(key, [name]);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
const baseKeys = Object.entries(themes.light || themes[Object.keys(themes)[0]]);
|
|
69
|
-
const baseTypeString = `type Theme = {
|
|
70
|
-
${baseKeys.map(([k]) => {
|
|
71
|
-
return ` ${k}: string;
|
|
72
|
-
`;
|
|
73
|
-
}).join("")}
|
|
74
|
-
}`;
|
|
75
|
-
let out = `${baseTypeString}
|
|
76
|
-
`;
|
|
77
|
-
out += `
|
|
78
|
-
function t(a) {
|
|
79
|
-
let res: Record<string, string> = {}
|
|
80
|
-
for (const [ki, vi] of a) {
|
|
81
|
-
// @ts-ignore
|
|
82
|
-
res[ks[ki]] = vs[vi]
|
|
83
|
-
}
|
|
84
|
-
return res
|
|
85
|
-
}
|
|
86
|
-
`;
|
|
87
|
-
out += `const vs = [
|
|
88
|
-
`;
|
|
89
|
-
let index = 0;
|
|
90
|
-
const valueToIndex = {};
|
|
91
|
-
dedupedTokens.forEach((name, value) => {
|
|
92
|
-
valueToIndex[value] = index;
|
|
93
|
-
index++;
|
|
94
|
-
out += ` '${value}',
|
|
95
|
-
`;
|
|
96
|
-
});
|
|
97
|
-
out += "]\n\n";
|
|
98
|
-
const keys = baseKeys.map(([k]) => k);
|
|
99
|
-
out += `const ks = [
|
|
100
|
-
`;
|
|
101
|
-
out += keys.map((k) => `'${k}'`).join(",\n");
|
|
102
|
-
out += `]
|
|
103
|
-
|
|
104
|
-
`;
|
|
105
|
-
let nameI = 0;
|
|
106
|
-
dedupedThemes.forEach((theme) => {
|
|
107
|
-
nameI++;
|
|
108
|
-
const key = JSON.stringify(theme);
|
|
109
|
-
const names = dedupedThemeToNames.get(key);
|
|
110
|
-
const name = `n${nameI}`;
|
|
111
|
-
const baseTheme = `const ${name} = ${objectToJsString(
|
|
112
|
-
theme,
|
|
113
|
-
keys,
|
|
114
|
-
valueToIndex
|
|
115
|
-
)} as Theme`;
|
|
116
|
-
out += `
|
|
117
|
-
${baseTheme}`;
|
|
118
|
-
const duplicateThemes = names.map((n) => `export const ${n} = ${name} as Theme`);
|
|
119
|
-
out += `
|
|
120
|
-
|
|
121
|
-
` + duplicateThemes.join("\n");
|
|
122
|
-
});
|
|
123
|
-
return out;
|
|
124
|
-
}
|
|
125
|
-
function objectToJsString(obj, keys, valueToIndex) {
|
|
126
|
-
let arrItems = [];
|
|
127
|
-
for (const key in obj) {
|
|
128
|
-
const ki = keys.indexOf(key);
|
|
129
|
-
const vi = valueToIndex[obj[key]];
|
|
130
|
-
arrItems.push(`[${ki}, ${vi}]`);
|
|
131
|
-
}
|
|
132
|
-
return `t([${arrItems.join(",")}])`;
|
|
133
|
-
}
|
|
134
|
-
function createThemeIntercept(createThemeExport, themeBuilderInterceptOpts) {
|
|
135
|
-
return new Proxy(createThemeExport, {
|
|
136
|
-
get(target, key) {
|
|
137
|
-
const out = Reflect.get(target, key);
|
|
138
|
-
if (key === "createThemeBuilder") {
|
|
139
|
-
return new Proxy(out, {
|
|
140
|
-
apply(target2, thisArg, argArray) {
|
|
141
|
-
const builder = Reflect.apply(target2, thisArg, argArray);
|
|
142
|
-
return themeBuilderIntercept(builder, themeBuilderInterceptOpts);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
return out;
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
151
|
-
return new Proxy(themeBuilder, {
|
|
152
|
-
get(target, key) {
|
|
153
|
-
const out = Reflect.get(target, key);
|
|
154
|
-
if (key === "build") {
|
|
155
|
-
themeBuilderInterceptOpts.onComplete({
|
|
156
|
-
themeBuilder
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
return out;
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
function purgeCache(moduleName) {
|
|
164
|
-
searchCache(moduleName, function(mod) {
|
|
165
|
-
delete require.cache[mod.id];
|
|
166
|
-
});
|
|
167
|
-
Object.keys(module.constructor._pathCache).forEach(function(cacheKey) {
|
|
168
|
-
if (cacheKey.indexOf(moduleName) > 0) {
|
|
169
|
-
delete module.constructor._pathCache[cacheKey];
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
function searchCache(moduleName, callback) {
|
|
174
|
-
let mod = require.resolve(moduleName);
|
|
175
|
-
if (mod && (mod = require.cache[mod]) !== void 0) {
|
|
176
|
-
;
|
|
177
|
-
(function traverse(mod2, depth = 0) {
|
|
178
|
-
if (depth > 10)
|
|
179
|
-
return;
|
|
180
|
-
mod2.children.forEach(function(child) {
|
|
181
|
-
traverse(child, depth + 1);
|
|
182
|
-
});
|
|
183
|
-
callback(mod2);
|
|
184
|
-
})(mod);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
export {
|
|
188
|
-
generateThemes
|
|
189
|
-
};
|
|
190
|
-
//# sourceMappingURL=generate-themes.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/generate-themes.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,YAAY;AACnB,SAAS,YAAY;AAQrB,MAAM,YAAY,OAAO,UAAU;AAEnC,eAAsB,eAAe,WAAmB;AACtD,QAAM,EAAE,WAAW,IAAI,QAAQ,4BAA4B,EAAE,SAAS;AAAA,IACpE,uBAAuB;AAAA,EACzB,CAAC;AAED,QAAM,gBAAgB,UAAU,CAAC,MAAM,MAAM,KAAK,QAAQ,IAAI,GAAG,SAAS,IAAI;AAC9E,aAAW,aAAa;AAExB,MAAI,UAAoD;AAGxD,SAAO,UAAU,UAAU,SAAU,IAAI;AAEvC,UAAM,MAAM,UAAU,MAAM,MAAM,SAAS;AAE3C,QAAI,OAAO,0BAA0B;AACnC,UAAI,CAAC,SAAS;AACZ,YAAI;AACJ,kBAAU,IAAI,QAAQ,CAAC,QAAQ;AAC7B,oBAAU;AAAA,QACZ,CAAC;AACD,eAAO,qBAAqB,KAAK;AAAA,UAC/B,YAAY,CAAC,WAAW;AACtB,+CAAU,OAAO;AAAA,UACnB;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,iBAAiB,QAAQ,aAAa;AAC5C,UAAM,SAAS,eAAe,SAAS,KAAK,eAAe,QAAQ;AACnE,UAAM,kBAAkB,4BAA4B,MAAM;AAC1D,UAAM,eAAe,UAAU,MAAM,UAAU;AAC/C,WAAO;AAAA,MACL,WAAW;AAAA,MACX,OAAO,6CAAc;AAAA,IACvB;AAAA,EACF,SAAS,KAAK;AACZ,YAAQ,KAAK,8CAAoC,GAAG,IAAI,2BAAM,QAAQ;AAAA,EACxE,UAAE;AACA,WAAO,UAAU,UAAU;AAC3B,eAAW;AAAA,EACb;AACF;AAKA,MAAM,gBAAgB,oBAAI,IAAoB;AAE9C,SAAS,4BAA4B,QAA6B;AAChE,QAAM,gBAAgB,oBAAI,IAAoB;AAC9C,QAAM,sBAAsB,oBAAI,IAAsB;AAEtD,MAAI,IAAI;AACR,aAAW,QAAQ,QAAQ;AACzB;AAEA,UAAM,QAAgC,OAAO,IAAI;AAGjD,QAAI,IAAI;AACR,eAAW,CAACA,MAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AAChD;AACA,YAAM,YAAY,IAAI,CAAC,GAAG,CAAC;AAC3B,UAAI,CAAC,cAAc,IAAI,KAAK,GAAG;AAC7B,sBAAc,IAAI,OAAO,SAAS;AAAA,MACpC;AAAA,IACF;AAEA,UAAM,MAAM,KAAK,UAAU,KAAK;AAChC,QAAI,cAAc,IAAI,GAAG,GAAG;AAC1B,0BAAoB,IAAI,KAAK,CAAC,GAAG,oBAAoB,IAAI,GAAG,GAAI,IAAI,CAAC;AAAA,IACvE,OAAO;AACL,oBAAc,IAAI,KAAK,KAAK;AAC5B,0BAAoB,IAAI,KAAK,CAAC,IAAI,CAAC;AAAA,IACrC;AAAA,EACF;AAEA,QAAM,WAAW,OAAO,QAAQ,OAAO,SAAS,OAAO,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;AAK9E,QAAM,iBAAiB;AAAA,EACvB,SACC,IAAI,CAAC,CAAC,CAAC,MAAM;AACZ,WAAO,KAAK,CAAC;AAAA;AAAA,EACf,CAAC,EACA,KAAK,EAAE,CAAC;AAAA;AAGT,MAAI,MAAM,GAAG,cAAc;AAAA;AAG3B,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYP,SAAO;AAAA;AACP,MAAI,QAAQ;AACZ,QAAM,eAAe,CAAC;AACtB,gBAAc,QAAQ,CAAC,MAAM,UAAU;AACrC,iBAAa,KAAK,IAAI;AACtB;AACA,WAAO,MAAM,KAAK;AAAA;AAAA,EACpB,CAAC;AACD,SAAO;AAGP,QAAM,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACpC,SAAO;AAAA;AACP,SAAO,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK;AAC3C,SAAO;AAAA;AAAA;AAGP,MAAI,QAAQ;AACZ,gBAAc,QAAQ,CAAC,UAAU;AAC/B;AACA,UAAM,MAAM,KAAK,UAAU,KAAK;AAChC,UAAM,QAAQ,oBAAoB,IAAI,GAAG;AACzC,UAAM,OAAO,IAAI,KAAK;AACtB,UAAM,YAAY,SAAS,IAAI,MAAM;AAAA,MACnC;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EAAK,SAAS;AACrB,UAAM,kBAAkB,MAAM,IAAI,CAAC,MAAM,gBAAgB,CAAC,MAAM,IAAI,WAAW;AAC/E,WAAO;AAAA;AAAA,IAAS,gBAAgB,KAAK,IAAI;AAAA,EAC3C,CAAC;AAED,SAAO;AACT;AAEA,SAAS,iBACP,KACA,MACA,cACA;AACA,MAAI,WAAqB,CAAC;AAC1B,aAAW,OAAO,KAAK;AACrB,UAAM,KAAK,KAAK,QAAQ,GAAG;AAC3B,UAAM,KAAK,aAAa,IAAI,GAAG,CAAC;AAChC,aAAS,KAAK,IAAI,EAAE,KAAK,EAAE,GAAG;AAAA,EAChC;AACA,SAAO,MAAM,SAAS,KAAK,GAAG,CAAC;AACjC;AAEA,SAAS,qBACP,mBACA,2BACA;AACA,SAAO,IAAI,MAAM,mBAAmB;AAAA,IAClC,IAAI,QAAQ,KAAK;AACf,YAAM,MAAM,QAAQ,IAAI,QAAQ,GAAG;AACnC,UAAI,QAAQ,sBAAsB;AAChC,eAAO,IAAI,MAAM,KAAK;AAAA,UACpB,MAAMC,SAAQ,SAAS,UAAU;AAC/B,kBAAM,UAAU,QAAQ,MAAMA,SAAQ,SAAS,QAAQ;AACvD,mBAAO,sBAAsB,SAAS,yBAAyB;AAAA,UACjE;AAAA,QACF,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAEA,SAAS,sBACP,cACA,2BACA;AACA,SAAO,IAAI,MAAM,cAAc;AAAA,IAC7B,IAAI,QAAQ,KAAK;AACf,YAAM,MAAM,QAAQ,IAAI,QAAQ,GAAG;AACnC,UAAI,QAAQ,SAAS;AAEnB,kCAA0B,WAAW;AAAA,UACnC;AAAA,QACF,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAKA,SAAS,WAAW,YAAY;AAG9B,cAAY,YAAY,SAAU,KAAK;AACrC,WAAO,QAAQ,MAAM,IAAI,EAAE;AAAA,EAC7B,CAAC;AAKD,SAAO,KAAK,OAAO,YAAY,UAAU,EAAE,QAAQ,SAAU,UAAU;AACrE,QAAI,SAAS,QAAQ,UAAU,IAAI,GAAG;AAEpC,aAAO,OAAO,YAAY,WAAW,QAAQ;AAAA,IAC/C;AAAA,EACF,CAAC;AACH;AAMA,SAAS,YAAY,YAAY,UAAU;AAEzC,MAAI,MAAM,QAAQ,QAAQ,UAAU;AAKpC,MAAI,QAAQ,MAAM,QAAQ,MAAM,GAAG,OAAO,QAAW;AAEnD;AAAC,KAAC,SAAS,SAASC,MAAK,QAAQ,GAAG;AAElC,UAAI,QAAQ;AAAI;AAKhB,MAAAA,KAAI,SAAS,QAAQ,SAAU,OAAO;AACpC,iBAAS,OAAO,QAAQ,CAAC;AAAA,MAC3B,CAAC;AAID,eAASA,IAAG;AAAA,IACd,GAAG,GAAG;AAAA,EACR;AACF;",
|
|
5
|
-
"names": ["key", "target", "mod"]
|
|
6
|
-
}
|
package/dist/esm/index.mjs
DELETED
package/dist/esm/index.mjs.map
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { join } from "path";
|
|
2
|
-
import * as fs from "fs-extra";
|
|
3
|
-
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
4
|
-
if (!generatedOutput)
|
|
5
|
-
return;
|
|
6
|
-
const { generated, state } = generatedOutput;
|
|
7
|
-
const tamaguiDotDirExists = await fs.pathExists(tamaguiDotDir);
|
|
8
|
-
const themeBuilderStatePath = join(tamaguiDotDir, `theme-builder.json`);
|
|
9
|
-
if (process.env.DEBUG === "tamagui") {
|
|
10
|
-
console.log(`Generated themes:`, JSON.stringify(generatedOutput, null, 2));
|
|
11
|
-
console.log(`Writing themes to`, { outPath, themeBuilderStatePath });
|
|
12
|
-
}
|
|
13
|
-
await Promise.all([
|
|
14
|
-
fs.writeFile(outPath, generated),
|
|
15
|
-
state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null
|
|
16
|
-
]);
|
|
17
|
-
}
|
|
18
|
-
export {
|
|
19
|
-
writeGeneratedThemes
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=write-generate-themes.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/write-generate-themes.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,YAAY;AAErB,YAAY,QAAQ;AAIpB,eAAsB,qBACpB,eACA,SACA,iBACA;AACA,MAAI,CAAC;AAAiB;AAEtB,QAAM,EAAE,WAAW,MAAM,IAAI;AAE7B,QAAM,sBAAsB,MAAM,GAAG,WAAW,aAAa;AAC7D,QAAM,wBAAwB,KAAK,eAAe,oBAAoB;AAEtE,MAAI,QAAQ,IAAI,UAAU,WAAW;AAEnC,YAAQ,IAAI,qBAAqB,KAAK,UAAU,iBAAiB,MAAM,CAAC,CAAC;AAEzE,YAAQ,IAAI,qBAAqB,EAAE,SAAS,sBAAsB,CAAC;AAAA,EACrE;AAEA,QAAM,QAAQ,IAAI;AAAA,IAChB,GAAG,UAAU,SAAS,SAAS;AAAA,IAC/B,SAAS,sBACL,GAAG,UAAU,uBAAuB,KAAK,UAAU,KAAK,CAAC,IACzD;AAAA,EACN,CAAC;AACH;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|