@tamagui/generate-themes 1.125.17 → 1.125.19
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.cjs +9 -72
- package/dist/cjs/generate-themes.js +7 -67
- package/dist/cjs/generate-themes.js.map +2 -2
- package/dist/cjs/generate-themes.native.js +8 -64
- package/dist/cjs/generate-themes.native.js.map +2 -2
- package/dist/cjs/write-generate-themes.cjs +5 -12
- package/dist/cjs/write-generate-themes.js +4 -7
- package/dist/cjs/write-generate-themes.js.map +1 -1
- package/dist/cjs/write-generate-themes.native.js +4 -8
- package/dist/cjs/write-generate-themes.native.js.map +2 -2
- package/dist/esm/generate-themes.js +4 -57
- package/dist/esm/generate-themes.js.map +2 -2
- package/dist/esm/generate-themes.mjs +4 -56
- package/dist/esm/generate-themes.mjs.map +1 -1
- package/dist/esm/generate-themes.native.js +7 -58
- package/dist/esm/generate-themes.native.js.map +1 -1
- package/dist/esm/write-generate-themes.js +3 -7
- package/dist/esm/write-generate-themes.js.map +1 -1
- package/dist/esm/write-generate-themes.mjs +4 -11
- package/dist/esm/write-generate-themes.mjs.map +1 -1
- package/dist/esm/write-generate-themes.native.js +4 -11
- package/dist/esm/write-generate-themes.native.js.map +1 -1
- package/package.json +5 -5
- package/src/generate-themes.ts +0 -82
- package/src/write-generate-themes.ts +2 -13
- package/types/generate-themes.d.ts +0 -1
- package/types/generate-themes.d.ts.map +1 -1
- package/types/write-generate-themes.d.ts.map +1 -1
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
6
|
-
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all) __defProp(target, name, {
|
|
9
7
|
get: all[name],
|
|
@@ -17,26 +15,15 @@ var __export = (target, all) => {
|
|
|
17
15
|
});
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
-
value: mod,
|
|
27
|
-
enumerable: !0
|
|
28
|
-
}) : target, mod)),
|
|
29
|
-
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
30
|
-
value: !0
|
|
31
|
-
}), mod);
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
32
21
|
var generate_themes_exports = {};
|
|
33
22
|
__export(generate_themes_exports, {
|
|
34
23
|
generateThemes: () => generateThemes
|
|
35
24
|
});
|
|
36
25
|
module.exports = __toCommonJS(generate_themes_exports);
|
|
37
|
-
var
|
|
38
|
-
import_node_path = require("node:path");
|
|
39
|
-
const ogRequire = import_node_module.default.prototype.require;
|
|
26
|
+
var import_node_path = require("node:path");
|
|
40
27
|
let didRegisterOnce = !1;
|
|
41
28
|
async function generateThemes(inputFile) {
|
|
42
29
|
didRegisterOnce || require("esbuild-register/dist/node").register({
|
|
@@ -45,46 +32,19 @@ async function generateThemes(inputFile) {
|
|
|
45
32
|
const inputFilePath = inputFile[0] === "." ? (0, import_node_path.join)(process.cwd(), inputFile) : inputFile;
|
|
46
33
|
purgeCache(inputFilePath);
|
|
47
34
|
const promises = [];
|
|
48
|
-
import_node_module.default.prototype.require = function (id) {
|
|
49
|
-
const out = ogRequire.apply(this, arguments);
|
|
50
|
-
if (id === "@tamagui/theme-builder") {
|
|
51
|
-
let resolve;
|
|
52
|
-
const promise = new Promise(res => {
|
|
53
|
-
resolve = res;
|
|
54
|
-
});
|
|
55
|
-
return promises.push(promise), createThemeIntercept(out, {
|
|
56
|
-
onComplete: result => {
|
|
57
|
-
resolve?.(result.themeBuilder);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return out;
|
|
62
|
-
};
|
|
63
35
|
let og = process.env.TAMAGUI_KEEP_THEMES;
|
|
64
36
|
process.env.TAMAGUI_KEEP_THEMES = "1", process.env.TAMAGUI_RUN_THEMEBUILDER = "1";
|
|
65
37
|
try {
|
|
66
38
|
const requiredThemes = require(inputFilePath),
|
|
67
|
-
themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]]
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (promises.length) {
|
|
71
|
-
let finished = !1;
|
|
72
|
-
await Promise.any(promises).then(() => {
|
|
73
|
-
finished = !0;
|
|
74
|
-
}), tm = setTimeout(() => {
|
|
75
|
-
finished || console.warn("Warning: ThemeBuilder didn't finish after a couple seconds, did you forget to call .build()?");
|
|
76
|
-
}, 2e3);
|
|
77
|
-
}
|
|
78
|
-
const themeBuilder = await Promise.any(promises);
|
|
79
|
-
return clearTimeout(tm), {
|
|
80
|
-
generated: generatedThemes,
|
|
81
|
-
state: themeBuilder?.state
|
|
39
|
+
themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]];
|
|
40
|
+
return {
|
|
41
|
+
generated: generatedThemesToTypescript(themes)
|
|
82
42
|
};
|
|
83
43
|
} catch (err) {
|
|
84
44
|
console.warn(` \u26A0\uFE0F Error running theme builder:
|
|
85
45
|
`, err?.stack || err);
|
|
86
46
|
} finally {
|
|
87
|
-
process.env.TAMAGUI_KEEP_THEMES = og
|
|
47
|
+
process.env.TAMAGUI_KEEP_THEMES = og;
|
|
88
48
|
}
|
|
89
49
|
}
|
|
90
50
|
const dedupedTokens = /* @__PURE__ */new Map();
|
|
@@ -167,29 +127,6 @@ function objectToJsString(obj, keys, valueToIndex) {
|
|
|
167
127
|
}
|
|
168
128
|
return `t([${arrItems.join(",")}])`;
|
|
169
129
|
}
|
|
170
|
-
function createThemeIntercept(createThemeExport, themeBuilderInterceptOpts) {
|
|
171
|
-
return new Proxy(createThemeExport, {
|
|
172
|
-
get(target, key) {
|
|
173
|
-
const out = Reflect.get(target, key);
|
|
174
|
-
return key === "createThemeBuilder" ? new Proxy(out, {
|
|
175
|
-
apply(target2, thisArg, argArray) {
|
|
176
|
-
const builder = Reflect.apply(target2, thisArg, argArray);
|
|
177
|
-
return themeBuilderIntercept(builder, themeBuilderInterceptOpts);
|
|
178
|
-
}
|
|
179
|
-
}) : out;
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
184
|
-
return new Proxy(themeBuilder, {
|
|
185
|
-
get(target, key) {
|
|
186
|
-
const out = Reflect.get(target, key);
|
|
187
|
-
return key === "build" && themeBuilderInterceptOpts.onComplete({
|
|
188
|
-
themeBuilder
|
|
189
|
-
}), out;
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
130
|
function purgeCache(moduleName) {
|
|
194
131
|
searchCache(moduleName, mod => {
|
|
195
132
|
delete require.cache[mod.id];
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
5
|
var __export = (target, all) => {
|
|
7
6
|
for (var name in all)
|
|
8
7
|
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
@@ -12,21 +11,13 @@ var __export = (target, all) => {
|
|
|
12
11
|
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
12
|
return to;
|
|
14
13
|
};
|
|
15
|
-
var
|
|
16
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
-
mod
|
|
22
|
-
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
15
|
var generate_themes_exports = {};
|
|
24
16
|
__export(generate_themes_exports, {
|
|
25
17
|
generateThemes: () => generateThemes
|
|
26
18
|
});
|
|
27
19
|
module.exports = __toCommonJS(generate_themes_exports);
|
|
28
|
-
var
|
|
29
|
-
const ogRequire = import_node_module.default.prototype.require;
|
|
20
|
+
var import_node_path = require("node:path");
|
|
30
21
|
let didRegisterOnce = !1;
|
|
31
22
|
async function generateThemes(inputFile) {
|
|
32
23
|
didRegisterOnce || require("esbuild-register/dist/node").register({
|
|
@@ -35,46 +26,18 @@ async function generateThemes(inputFile) {
|
|
|
35
26
|
const inputFilePath = inputFile[0] === "." ? (0, import_node_path.join)(process.cwd(), inputFile) : inputFile;
|
|
36
27
|
purgeCache(inputFilePath);
|
|
37
28
|
const promises = [];
|
|
38
|
-
import_node_module.default.prototype.require = function(id) {
|
|
39
|
-
const out = ogRequire.apply(this, arguments);
|
|
40
|
-
if (id === "@tamagui/theme-builder") {
|
|
41
|
-
let resolve;
|
|
42
|
-
const promise = new Promise((res) => {
|
|
43
|
-
resolve = res;
|
|
44
|
-
});
|
|
45
|
-
return promises.push(promise), createThemeIntercept(out, {
|
|
46
|
-
onComplete: (result) => {
|
|
47
|
-
resolve?.(result.themeBuilder);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
return out;
|
|
52
|
-
};
|
|
53
29
|
let og = process.env.TAMAGUI_KEEP_THEMES;
|
|
54
30
|
process.env.TAMAGUI_KEEP_THEMES = "1", process.env.TAMAGUI_RUN_THEMEBUILDER = "1";
|
|
55
31
|
try {
|
|
56
|
-
const requiredThemes = require(inputFilePath), themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]]
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
let finished = !1;
|
|
60
|
-
await Promise.any(promises).then(() => {
|
|
61
|
-
finished = !0;
|
|
62
|
-
}), tm = setTimeout(() => {
|
|
63
|
-
finished || console.warn(
|
|
64
|
-
"Warning: ThemeBuilder didn't finish after a couple seconds, did you forget to call .build()?"
|
|
65
|
-
);
|
|
66
|
-
}, 2e3);
|
|
67
|
-
}
|
|
68
|
-
const themeBuilder = await Promise.any(promises);
|
|
69
|
-
return clearTimeout(tm), {
|
|
70
|
-
generated: generatedThemes,
|
|
71
|
-
state: themeBuilder?.state
|
|
32
|
+
const requiredThemes = require(inputFilePath), themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]];
|
|
33
|
+
return {
|
|
34
|
+
generated: generatedThemesToTypescript(themes)
|
|
72
35
|
};
|
|
73
36
|
} catch (err) {
|
|
74
37
|
console.warn(` \u26A0\uFE0F Error running theme builder:
|
|
75
38
|
`, err?.stack || err);
|
|
76
39
|
} finally {
|
|
77
|
-
process.env.TAMAGUI_KEEP_THEMES = og
|
|
40
|
+
process.env.TAMAGUI_KEEP_THEMES = og;
|
|
78
41
|
}
|
|
79
42
|
}
|
|
80
43
|
const dedupedTokens = /* @__PURE__ */ new Map();
|
|
@@ -151,29 +114,6 @@ function objectToJsString(obj, keys, valueToIndex) {
|
|
|
151
114
|
}
|
|
152
115
|
return `t([${arrItems.join(",")}])`;
|
|
153
116
|
}
|
|
154
|
-
function createThemeIntercept(createThemeExport, themeBuilderInterceptOpts) {
|
|
155
|
-
return new Proxy(createThemeExport, {
|
|
156
|
-
get(target, key) {
|
|
157
|
-
const out = Reflect.get(target, key);
|
|
158
|
-
return key === "createThemeBuilder" ? new Proxy(out, {
|
|
159
|
-
apply(target2, thisArg, argArray) {
|
|
160
|
-
const builder = Reflect.apply(target2, thisArg, argArray);
|
|
161
|
-
return themeBuilderIntercept(builder, themeBuilderInterceptOpts);
|
|
162
|
-
}
|
|
163
|
-
}) : out;
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
168
|
-
return new Proxy(themeBuilder, {
|
|
169
|
-
get(target, key) {
|
|
170
|
-
const out = Reflect.get(target, key);
|
|
171
|
-
return key === "build" && themeBuilderInterceptOpts.onComplete({
|
|
172
|
-
themeBuilder
|
|
173
|
-
}), out;
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
117
|
function purgeCache(moduleName) {
|
|
178
118
|
searchCache(moduleName, (mod) => {
|
|
179
119
|
delete require.cache[mod.id];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/generate-themes.ts"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["key", "mod"]
|
|
6
6
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
6
|
var __export = (target, all) => {
|
|
8
7
|
for (var name in all)
|
|
9
8
|
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
@@ -13,63 +12,31 @@ var __export = (target, all) => {
|
|
|
13
12
|
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
13
|
return to;
|
|
15
14
|
};
|
|
16
|
-
var
|
|
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);
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
24
16
|
var generate_themes_exports = {};
|
|
25
17
|
__export(generate_themes_exports, {
|
|
26
18
|
generateThemes: () => generateThemes
|
|
27
19
|
});
|
|
28
20
|
module.exports = __toCommonJS(generate_themes_exports);
|
|
29
|
-
var
|
|
21
|
+
var import_node_path = require("node:path"), didRegisterOnce = !1;
|
|
30
22
|
async function generateThemes(inputFile) {
|
|
31
23
|
didRegisterOnce || require("esbuild-register/dist/node").register({
|
|
32
24
|
hookIgnoreNodeModules: !1
|
|
33
25
|
});
|
|
34
26
|
var inputFilePath = inputFile[0] === "." ? (0, import_node_path.join)(process.cwd(), inputFile) : inputFile;
|
|
35
27
|
purgeCache(inputFilePath);
|
|
36
|
-
var promises = [];
|
|
37
|
-
import_node_module.default.prototype.require = function(id) {
|
|
38
|
-
var out = ogRequire.apply(this, arguments);
|
|
39
|
-
if (id === "@tamagui/theme-builder") {
|
|
40
|
-
var resolve, promise = new Promise(function(res) {
|
|
41
|
-
resolve = res;
|
|
42
|
-
});
|
|
43
|
-
return promises.push(promise), createThemeIntercept(out, {
|
|
44
|
-
onComplete: function(result) {
|
|
45
|
-
resolve == null || resolve(result.themeBuilder);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
return out;
|
|
50
|
-
};
|
|
51
|
-
var og = process.env.TAMAGUI_KEEP_THEMES;
|
|
28
|
+
var promises = [], og = process.env.TAMAGUI_KEEP_THEMES;
|
|
52
29
|
process.env.TAMAGUI_KEEP_THEMES = "1", process.env.TAMAGUI_RUN_THEMEBUILDER = "1";
|
|
53
30
|
try {
|
|
54
|
-
var requiredThemes = require(inputFilePath), themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]], generatedThemes = generatedThemesToTypescript(themes)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
await Promise.any(promises).then(function() {
|
|
58
|
-
finished = !0;
|
|
59
|
-
}), tm = setTimeout(function() {
|
|
60
|
-
finished || console.warn("Warning: ThemeBuilder didn't finish after a couple seconds, did you forget to call .build()?");
|
|
61
|
-
}, 2e3);
|
|
62
|
-
}
|
|
63
|
-
var themeBuilder = await Promise.any(promises);
|
|
64
|
-
return clearTimeout(tm), {
|
|
65
|
-
generated: generatedThemes,
|
|
66
|
-
state: themeBuilder == null ? void 0 : themeBuilder.state
|
|
31
|
+
var requiredThemes = require(inputFilePath), themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]], generatedThemes = generatedThemesToTypescript(themes);
|
|
32
|
+
return {
|
|
33
|
+
generated: generatedThemes
|
|
67
34
|
};
|
|
68
35
|
} catch (err) {
|
|
69
36
|
console.warn(` \u26A0\uFE0F Error running theme builder:
|
|
70
37
|
`, (err == null ? void 0 : err.stack) || err);
|
|
71
38
|
} finally {
|
|
72
|
-
process.env.TAMAGUI_KEEP_THEMES = og
|
|
39
|
+
process.env.TAMAGUI_KEEP_THEMES = og;
|
|
73
40
|
}
|
|
74
41
|
}
|
|
75
42
|
var dedupedTokens = /* @__PURE__ */ new Map();
|
|
@@ -167,29 +134,6 @@ function objectToJsString(obj, keys, valueToIndex) {
|
|
|
167
134
|
}
|
|
168
135
|
return `t([${arrItems.join(",")}])`;
|
|
169
136
|
}
|
|
170
|
-
function createThemeIntercept(createThemeExport, themeBuilderInterceptOpts) {
|
|
171
|
-
return new Proxy(createThemeExport, {
|
|
172
|
-
get(target, key) {
|
|
173
|
-
var out = Reflect.get(target, key);
|
|
174
|
-
return key === "createThemeBuilder" ? new Proxy(out, {
|
|
175
|
-
apply(target2, thisArg, argArray) {
|
|
176
|
-
var builder = Reflect.apply(target2, thisArg, argArray);
|
|
177
|
-
return themeBuilderIntercept(builder, themeBuilderInterceptOpts);
|
|
178
|
-
}
|
|
179
|
-
}) : out;
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
184
|
-
return new Proxy(themeBuilder, {
|
|
185
|
-
get(target, key) {
|
|
186
|
-
var out = Reflect.get(target, key);
|
|
187
|
-
return key === "build" && themeBuilderInterceptOpts.onComplete({
|
|
188
|
-
themeBuilder
|
|
189
|
-
}), out;
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
137
|
function purgeCache(moduleName) {
|
|
194
138
|
searchCache(moduleName, function(mod) {
|
|
195
139
|
delete require.cache[mod.id];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/core/generate-themes/src/generate-themes.ts"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["didRegisterOnce", "generateThemes", "inputFile", "require", "register", "hookIgnoreNodeModules", "inputFilePath", "join", "process", "cwd", "purgeCache", "promises", "og", "env", "TAMAGUI_KEEP_THEMES", "TAMAGUI_RUN_THEMEBUILDER", "requiredThemes", "themes", "Object", "keys", "generatedThemes", "generatedThemesToTypescript", "generated", "err", "console", "warn", "dedupedTokens", "Map", "dedupedThemes", "dedupedThemeToNames", "i", "name", "theme", "j", "entries", "key", "value", "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", "undefined", "traverse", "depth", "children", "child"]
|
|
6
6
|
}
|
|
@@ -34,19 +34,12 @@ __export(write_generate_themes_exports, {
|
|
|
34
34
|
writeGeneratedThemes: () => writeGeneratedThemes
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(write_generate_themes_exports);
|
|
37
|
-
var
|
|
38
|
-
fs = __toESM(require("fs-extra"));
|
|
37
|
+
var fs = __toESM(require("fs-extra"));
|
|
39
38
|
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
40
39
|
if (!generatedOutput) return;
|
|
41
40
|
const {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
themeBuilderStatePath = (0, import_node_path.join)(tamaguiDotDir, "theme-builder.json");
|
|
47
|
-
process.env.DEBUG === "tamagui" && (console.info("Generated themes:", JSON.stringify(generatedOutput, null, 2)), console.info("Writing themes to", {
|
|
48
|
-
outPath,
|
|
49
|
-
themeBuilderStatePath
|
|
50
|
-
})), await Promise.all([fs.writeFile(outPath, `// @ts-nocheck
|
|
51
|
-
` + generated), state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null]);
|
|
41
|
+
generated
|
|
42
|
+
} = generatedOutput;
|
|
43
|
+
process.env.DEBUG === "tamagui" && console.info("Generated themes:", JSON.stringify(generatedOutput, null, 2)), await Promise.all([fs.writeFile(outPath, `// @ts-nocheck
|
|
44
|
+
` + generated)]);
|
|
52
45
|
}
|
|
@@ -25,14 +25,11 @@ __export(write_generate_themes_exports, {
|
|
|
25
25
|
writeGeneratedThemes: () => writeGeneratedThemes
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(write_generate_themes_exports);
|
|
28
|
-
var
|
|
28
|
+
var fs = __toESM(require("fs-extra"));
|
|
29
29
|
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
30
30
|
if (!generatedOutput) return;
|
|
31
|
-
const { generated
|
|
32
|
-
process.env.DEBUG === "tamagui" &&
|
|
33
|
-
|
|
34
|
-
` + generated),
|
|
35
|
-
state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null
|
|
36
|
-
]);
|
|
31
|
+
const { generated } = generatedOutput;
|
|
32
|
+
process.env.DEBUG === "tamagui" && console.info("Generated themes:", JSON.stringify(generatedOutput, null, 2)), await Promise.all([fs.writeFile(outPath, `// @ts-nocheck
|
|
33
|
+
` + generated)]);
|
|
37
34
|
}
|
|
38
35
|
//# sourceMappingURL=write-generate-themes.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/write-generate-themes.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AAIpB,eAAsB,qBACpB,eACA,SACA,iBACA;AACA,MAAI,CAAC,gBAAiB;AAEtB,QAAM,EAAE,UAAU,IAAI;AAEtB,EAAI,QAAQ,IAAI,UAAU,aACxB,QAAQ,KAAK,qBAAqB,KAAK,UAAU,iBAAiB,MAAM,CAAC,CAAC,GAG5E,MAAM,QAAQ,IAAI,CAAC,GAAG,UAAU,SAAS;AAAA,IAAqB,SAAS,CAAC,CAAC;AAC3E;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -26,17 +26,13 @@ __export(write_generate_themes_exports, {
|
|
|
26
26
|
writeGeneratedThemes: () => writeGeneratedThemes
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(write_generate_themes_exports);
|
|
29
|
-
var
|
|
29
|
+
var fs = __toESM(require("fs-extra"));
|
|
30
30
|
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
31
31
|
if (generatedOutput) {
|
|
32
|
-
var { generated
|
|
33
|
-
process.env.DEBUG === "tamagui" &&
|
|
34
|
-
outPath,
|
|
35
|
-
themeBuilderStatePath
|
|
36
|
-
})), await Promise.all([
|
|
32
|
+
var { generated } = generatedOutput;
|
|
33
|
+
process.env.DEBUG === "tamagui" && console.info("Generated themes:", JSON.stringify(generatedOutput, null, 2)), await Promise.all([
|
|
37
34
|
fs.writeFile(outPath, `// @ts-nocheck
|
|
38
|
-
` + generated)
|
|
39
|
-
state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null
|
|
35
|
+
` + generated)
|
|
40
36
|
]);
|
|
41
37
|
}
|
|
42
38
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/core/generate-themes/src/write-generate-themes.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;
|
|
5
|
-
"names": ["writeGeneratedThemes", "tamaguiDotDir", "outPath", "generatedOutput", "generated", "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;SAAoB;AAIpB,eAAsBA,qBACpBC,eACAC,SACAC,iBAA2D;AAE3D,MAAKA,iBAEL;QAAM,EAAEC,UAAS,IAAKD;AAEtB,IAAIE,QAAQC,IAAIC,UAAU,aACxBC,QAAQC,KAAK,qBAAqBC,KAAKC,UAAUR,iBAAiB,MAAM,CAAA,CAAA,GAG1E,MAAMS,QAAQC,IAAI;MAACC,GAAGC,UAAUb,SAAS;IAAqBE,SAAAA;KAAW;;AAC3E;",
|
|
5
|
+
"names": ["writeGeneratedThemes", "tamaguiDotDir", "outPath", "generatedOutput", "generated", "process", "env", "DEBUG", "console", "info", "JSON", "stringify", "Promise", "all", "fs", "writeFile"]
|
|
6
6
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import Module from "node:module";
|
|
2
1
|
import { join } from "node:path";
|
|
3
|
-
const ogRequire = Module.prototype.require;
|
|
4
2
|
let didRegisterOnce = !1;
|
|
5
3
|
async function generateThemes(inputFile) {
|
|
6
4
|
didRegisterOnce || require("esbuild-register/dist/node").register({
|
|
@@ -9,46 +7,18 @@ async function generateThemes(inputFile) {
|
|
|
9
7
|
const inputFilePath = inputFile[0] === "." ? join(process.cwd(), inputFile) : inputFile;
|
|
10
8
|
purgeCache(inputFilePath);
|
|
11
9
|
const promises = [];
|
|
12
|
-
Module.prototype.require = function(id) {
|
|
13
|
-
const out = ogRequire.apply(this, arguments);
|
|
14
|
-
if (id === "@tamagui/theme-builder") {
|
|
15
|
-
let resolve;
|
|
16
|
-
const promise = new Promise((res) => {
|
|
17
|
-
resolve = res;
|
|
18
|
-
});
|
|
19
|
-
return promises.push(promise), createThemeIntercept(out, {
|
|
20
|
-
onComplete: (result) => {
|
|
21
|
-
resolve?.(result.themeBuilder);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
return out;
|
|
26
|
-
};
|
|
27
10
|
let og = process.env.TAMAGUI_KEEP_THEMES;
|
|
28
11
|
process.env.TAMAGUI_KEEP_THEMES = "1", process.env.TAMAGUI_RUN_THEMEBUILDER = "1";
|
|
29
12
|
try {
|
|
30
|
-
const requiredThemes = require(inputFilePath), themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]]
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
let finished = !1;
|
|
34
|
-
await Promise.any(promises).then(() => {
|
|
35
|
-
finished = !0;
|
|
36
|
-
}), tm = setTimeout(() => {
|
|
37
|
-
finished || console.warn(
|
|
38
|
-
"Warning: ThemeBuilder didn't finish after a couple seconds, did you forget to call .build()?"
|
|
39
|
-
);
|
|
40
|
-
}, 2e3);
|
|
41
|
-
}
|
|
42
|
-
const themeBuilder = await Promise.any(promises);
|
|
43
|
-
return clearTimeout(tm), {
|
|
44
|
-
generated: generatedThemes,
|
|
45
|
-
state: themeBuilder?.state
|
|
13
|
+
const requiredThemes = require(inputFilePath), themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]];
|
|
14
|
+
return {
|
|
15
|
+
generated: generatedThemesToTypescript(themes)
|
|
46
16
|
};
|
|
47
17
|
} catch (err) {
|
|
48
18
|
console.warn(` \u26A0\uFE0F Error running theme builder:
|
|
49
19
|
`, err?.stack || err);
|
|
50
20
|
} finally {
|
|
51
|
-
process.env.TAMAGUI_KEEP_THEMES = og
|
|
21
|
+
process.env.TAMAGUI_KEEP_THEMES = og;
|
|
52
22
|
}
|
|
53
23
|
}
|
|
54
24
|
const dedupedTokens = /* @__PURE__ */ new Map();
|
|
@@ -125,29 +95,6 @@ function objectToJsString(obj, keys, valueToIndex) {
|
|
|
125
95
|
}
|
|
126
96
|
return `t([${arrItems.join(",")}])`;
|
|
127
97
|
}
|
|
128
|
-
function createThemeIntercept(createThemeExport, themeBuilderInterceptOpts) {
|
|
129
|
-
return new Proxy(createThemeExport, {
|
|
130
|
-
get(target, key) {
|
|
131
|
-
const out = Reflect.get(target, key);
|
|
132
|
-
return key === "createThemeBuilder" ? new Proxy(out, {
|
|
133
|
-
apply(target2, thisArg, argArray) {
|
|
134
|
-
const builder = Reflect.apply(target2, thisArg, argArray);
|
|
135
|
-
return themeBuilderIntercept(builder, themeBuilderInterceptOpts);
|
|
136
|
-
}
|
|
137
|
-
}) : out;
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
142
|
-
return new Proxy(themeBuilder, {
|
|
143
|
-
get(target, key) {
|
|
144
|
-
const out = Reflect.get(target, key);
|
|
145
|
-
return key === "build" && themeBuilderInterceptOpts.onComplete({
|
|
146
|
-
themeBuilder
|
|
147
|
-
}), out;
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
98
|
function purgeCache(moduleName) {
|
|
152
99
|
searchCache(moduleName, (mod) => {
|
|
153
100
|
delete require.cache[mod.id];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/generate-themes.ts"],
|
|
4
|
-
"mappings": "AACA,
|
|
5
|
-
"names": ["key", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["key", "mod"]
|
|
6
6
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import Module from "node:module";
|
|
2
1
|
import { join } from "node:path";
|
|
3
|
-
const ogRequire = Module.prototype.require;
|
|
4
2
|
let didRegisterOnce = !1;
|
|
5
3
|
async function generateThemes(inputFile) {
|
|
6
4
|
didRegisterOnce || require("esbuild-register/dist/node").register({
|
|
@@ -9,46 +7,19 @@ async function generateThemes(inputFile) {
|
|
|
9
7
|
const inputFilePath = inputFile[0] === "." ? join(process.cwd(), inputFile) : inputFile;
|
|
10
8
|
purgeCache(inputFilePath);
|
|
11
9
|
const promises = [];
|
|
12
|
-
Module.prototype.require = function (id) {
|
|
13
|
-
const out = ogRequire.apply(this, arguments);
|
|
14
|
-
if (id === "@tamagui/theme-builder") {
|
|
15
|
-
let resolve;
|
|
16
|
-
const promise = new Promise(res => {
|
|
17
|
-
resolve = res;
|
|
18
|
-
});
|
|
19
|
-
return promises.push(promise), createThemeIntercept(out, {
|
|
20
|
-
onComplete: result => {
|
|
21
|
-
resolve?.(result.themeBuilder);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
return out;
|
|
26
|
-
};
|
|
27
10
|
let og = process.env.TAMAGUI_KEEP_THEMES;
|
|
28
11
|
process.env.TAMAGUI_KEEP_THEMES = "1", process.env.TAMAGUI_RUN_THEMEBUILDER = "1";
|
|
29
12
|
try {
|
|
30
13
|
const requiredThemes = require(inputFilePath),
|
|
31
|
-
themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]]
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (promises.length) {
|
|
35
|
-
let finished = !1;
|
|
36
|
-
await Promise.any(promises).then(() => {
|
|
37
|
-
finished = !0;
|
|
38
|
-
}), tm = setTimeout(() => {
|
|
39
|
-
finished || console.warn("Warning: ThemeBuilder didn't finish after a couple seconds, did you forget to call .build()?");
|
|
40
|
-
}, 2e3);
|
|
41
|
-
}
|
|
42
|
-
const themeBuilder = await Promise.any(promises);
|
|
43
|
-
return clearTimeout(tm), {
|
|
44
|
-
generated: generatedThemes,
|
|
45
|
-
state: themeBuilder?.state
|
|
14
|
+
themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]];
|
|
15
|
+
return {
|
|
16
|
+
generated: generatedThemesToTypescript(themes)
|
|
46
17
|
};
|
|
47
18
|
} catch (err) {
|
|
48
19
|
console.warn(` \u26A0\uFE0F Error running theme builder:
|
|
49
20
|
`, err?.stack || err);
|
|
50
21
|
} finally {
|
|
51
|
-
process.env.TAMAGUI_KEEP_THEMES = og
|
|
22
|
+
process.env.TAMAGUI_KEEP_THEMES = og;
|
|
52
23
|
}
|
|
53
24
|
}
|
|
54
25
|
const dedupedTokens = /* @__PURE__ */new Map();
|
|
@@ -131,29 +102,6 @@ function objectToJsString(obj, keys, valueToIndex) {
|
|
|
131
102
|
}
|
|
132
103
|
return `t([${arrItems.join(",")}])`;
|
|
133
104
|
}
|
|
134
|
-
function createThemeIntercept(createThemeExport, themeBuilderInterceptOpts) {
|
|
135
|
-
return new Proxy(createThemeExport, {
|
|
136
|
-
get(target, key) {
|
|
137
|
-
const out = Reflect.get(target, key);
|
|
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;
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
148
|
-
return new Proxy(themeBuilder, {
|
|
149
|
-
get(target, key) {
|
|
150
|
-
const out = Reflect.get(target, key);
|
|
151
|
-
return key === "build" && themeBuilderInterceptOpts.onComplete({
|
|
152
|
-
themeBuilder
|
|
153
|
-
}), out;
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
105
|
function purgeCache(moduleName) {
|
|
158
106
|
searchCache(moduleName, mod => {
|
|
159
107
|
delete require.cache[mod.id];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["join","didRegisterOnce","generateThemes","inputFile","require","register","hookIgnoreNodeModules","inputFilePath","process","cwd","purgeCache","promises","og","env","TAMAGUI_KEEP_THEMES","TAMAGUI_RUN_THEMEBUILDER","requiredThemes","themes","default","Object","keys","generated","generatedThemesToTypescript","err","console","warn","stack","dedupedTokens","Map","dedupedThemes","dedupedThemeToNames","i","name","theme","j","key2","value","entries","uniqueKey","has","set","key","JSON","stringify","get","Error","baseKeys","light","out","map","k","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":"AACA,SAASA,IAAA,QAAY;AAMrB,IAAIC,eAAA,GAAkB;AAEtB,eAAsBC,eAAeC,SAAA,EAAmB;EACjDF,eAAA,IAEHG,OAAA,CAAQ,4BAA4B,EAAEC,QAAA,CAAS;IAC7CC,qBAAA,EAAuB;EACzB,CAAC;EAGH,MAAMC,aAAA,GAAgBJ,SAAA,CAAU,CAAC,MAAM,MAAMH,IAAA,CAAKQ,OAAA,CAAQC,GAAA,CAAI,GAAGN,SAAS,IAAIA,SAAA;EAC9EO,UAAA,CAAWH,aAAa;EAExB,MAAMI,QAAA,GAAqD,EAAC;EAE5D,IAAIC,EAAA,GAAKJ,OAAA,CAAQK,GAAA,CAAIC,mBAAA;EACrBN,OAAA,CAAQK,GAAA,CAAIC,mBAAA,GAAsB,KAClCN,OAAA,CAAQK,GAAA,CAAIE,wBAAA,GAA2B;EAEvC,IAAI;IACF,MAAMC,cAAA,GAAiBZ,OAAA,CAAQG,aAAa;MAEtCU,MAAA,GACJD,cAAA,CAAeE,OAAA,IACfF,cAAA,CAAeC,MAAA,IACfD,cAAA,CAAeG,MAAA,CAAOC,IAAA,CAAKJ,cAAc,EAAE,CAAC,CAAC;IAI/C,OAAO;MACLK,SAAA,EAHsBC,2BAAA,CAA4BL,MAAM;IAI1D;EACF,SAASM,GAAA,EAAK;IACZC,OAAA,CAAQC,IAAA,CAAK;AAAA,GAAsCF,GAAA,EAAMG,KAAA,IAAYH,GAAG;EAC1E,UAAE;IACAf,OAAA,CAAQK,GAAA,CAAIC,mBAAA,GAAsBF,EAAA;EACpC;AACF;AAKA,MAAMe,aAAA,GAAgB,mBAAIC,GAAA,CAAoB;AAE9C,SAASN,4BAA4BL,MAAA,EAA6B;EAChE,MAAMY,aAAA,GAAgB,mBAAID,GAAA,CAAoB;IACxCE,mBAAA,GAAsB,mBAAIF,GAAA,CAAsB;EAEtD,IAAIG,CAAA,GAAI;EACR,WAAWC,IAAA,IAAQf,MAAA,EAAQ;IACzBc,CAAA;IAEA,MAAME,KAAA,GAAgChB,MAAA,CAAOe,IAAI;IAGjD,IAAIE,CAAA,GAAI;IACR,WAAW,CAACC,IAAA,EAAKC,KAAK,KAAKjB,MAAA,CAAOkB,OAAA,CAAQJ,KAAK,GAAG;MAChDF,CAAA;MACA,MAAMO,SAAA,GAAY,IAAIP,CAAC,GAAGG,CAAC;MACtBP,aAAA,CAAcY,GAAA,CAAIH,KAAK,KAC1BT,aAAA,CAAca,GAAA,CAAIJ,KAAA,EAAOE,SAAS;IAEtC;IAEA,MAAMG,GAAA,GAAMC,IAAA,CAAKC,SAAA,CAAUV,KAAK;IAC5BJ,aAAA,CAAcU,GAAA,CAAIE,GAAG,IACvBX,mBAAA,CAAoBU,GAAA,CAAIC,GAAA,EAAK,CAAC,GAAGX,mBAAA,CAAoBc,GAAA,CAAIH,GAAG,GAAIT,IAAI,CAAC,KAErEH,aAAA,CAAcW,GAAA,CAAIC,GAAA,EAAKR,KAAK,GAC5BH,mBAAA,CAAoBU,GAAA,CAAIC,GAAA,EAAK,CAACT,IAAI,CAAC;EAEvC;EAEA,IAAI,CAACf,MAAA,EACH,MAAM,IAAI4B,KAAA,CAAM,6CAA6C;EAG/D,MAAMC,QAAA,GAAW3B,MAAA,CAAOkB,OAAA,CAAQpB,MAAA,CAAO8B,KAAA,IAAS9B,MAAA,CAAOE,MAAA,CAAOC,IAAA,CAAKH,MAAM,EAAE,CAAC,CAAC,CAAC;EAa9E,IAAI+B,GAAA,GAAM,GARa;AAAA,EACvBF,QAAA,CACCG,GAAA,CAAI,CAAC,CAACC,CAAC,MACC,KAAKA,CAAC;AAAA,CACd,EACAlD,IAAA,CAAK,EAAE,CAAC;AAAA,EAGkB;AAAA;EAG3BgD,GAAA,IAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWPA,GAAA,IAAO;AAAA;EACP,IAAIG,KAAA,GAAQ;EACZ,MAAMC,YAAA,GAAe,CAAC;EACtBzB,aAAA,CAAc0B,OAAA,CAAQ,CAACrB,IAAA,EAAMI,KAAA,KAAU;IACrCgB,YAAA,CAAahB,KAAK,IAAIe,KAAA,EACtBA,KAAA,IACAH,GAAA,IAAO,MAAMZ,KAAK;AAAA;EACpB,CAAC,GACDY,GAAA,IAAO;AAAA;AAAA;EAGP,MAAM5B,IAAA,GAAO0B,QAAA,CAASG,GAAA,CAAI,CAAC,CAACC,CAAC,MAAMA,CAAC;EACpCF,GAAA,IAAO;AAAA,GACPA,GAAA,IAAO5B,IAAA,CAAK6B,GAAA,CAAKC,CAAA,IAAM,IAAIA,CAAC,GAAG,EAAElD,IAAA,CAAK;AAAA,CAAK,GAC3CgD,GAAA,IAAO;AAAA;AAAA;EAGP,IAAIM,KAAA,GAAQ;IAERC,UAAA,GAAa;IACbC,QAAA,GAAW;EAEf,OAAA3B,aAAA,CAAcwB,OAAA,CAASpB,KAAA,IAAU;IAC/BqB,KAAA;IACA,MAAMb,GAAA,GAAMC,IAAA,CAAKC,SAAA,CAAUV,KAAK;MAC1BwB,KAAA,GAAQ3B,mBAAA,CAAoBc,GAAA,CAAIH,GAAG;MACnCT,IAAA,GAAO,IAAIsB,KAAK;MAChBI,SAAA,GAAY,SAAS1B,IAAI,MAAM2B,gBAAA,CAAiB1B,KAAA,EAAOb,IAAA,EAAMgC,YAAY,CAAC;IAChFJ,GAAA,IAAO;AAAA,EAAKU,SAAS,IACrBD,KAAA,CAAMJ,OAAA,CAASO,CAAA,IAAM;MACnBJ,QAAA,IAAY;AAAA,IAAOI,CAAC,KAAK5B,IAAI,KAEzB4B,CAAA,CAAEC,WAAA,CAAY,MAAMD,CAAA,KACtBL,UAAA,IAAc;AAAA,MAASK,CAAC;IAE5B,CAAC;EACH,CAAC,GAEDZ,GAAA,IAAO;AAAA;AAAA,EAAOO,UAAU;AAAA;AAAA,EAAOC,QAAQ;AAAA;AAAA,GAEhCR,GAAA;AACT;AAEA,SAASW,iBACPG,GAAA,EACA1C,IAAA,EACAgC,YAAA,EACA;EACA,IAAIW,QAAA,GAAqB,EAAC;EAC1B,WAAWtB,GAAA,IAAOqB,GAAA,EAAK;IACrB,MAAME,EAAA,GAAK5C,IAAA,CAAK6C,OAAA,CAAQxB,GAAG;MACrByB,EAAA,GAAKd,YAAA,CAAaU,GAAA,CAAIrB,GAAG,CAAC;IAChCsB,QAAA,CAASI,IAAA,CAAK,IAAIH,EAAE,KAAKE,EAAE,GAAG;EAChC;EACA,OAAO,MAAMH,QAAA,CAAS/D,IAAA,CAAK,GAAG,CAAC;AACjC;AAKA,SAASU,WAAW0D,UAAA,EAAY;EAG9BC,WAAA,CAAYD,UAAA,EAAaE,GAAA,IAAQ;IAC/B,OAAOlE,OAAA,CAAQmE,KAAA,CAAMD,GAAA,CAAIE,EAAE;EAC7B,CAAC,GAKDrD,MAAA,CAAOC,IAAA,CAAKqD,MAAA,CAAOC,WAAA,CAAYC,UAAU,EAAEtB,OAAA,CAASuB,QAAA,IAAa;IAC3DA,QAAA,CAASX,OAAA,CAAQG,UAAU,IAAI,KAEjC,OAAOK,MAAA,CAAOC,WAAA,CAAYC,UAAA,CAAWC,QAAQ;EAEjD,CAAC;AACH;AAMA,SAASP,YAAYD,UAAA,EAAYS,QAAA,EAAU;EAEzC,IAAIP,GAAA,GAAMlE,OAAA,CAAQ0E,OAAA,CAAQV,UAAU;EAKhCE,GAAA,KAAQA,GAAA,GAAMlE,OAAA,CAAQmE,KAAA,CAAMD,GAAG,OAAO,UAEtC,SAASS,SAASC,IAAA,EAAKC,KAAA,GAAQ,GAAG;IAE9BA,KAAA,GAAQ,OAKZD,IAAA,CAAIE,QAAA,CAAS7B,OAAA,CAAS8B,KAAA,IAAU;MAC9BJ,QAAA,CAASI,KAAA,EAAOF,KAAA,GAAQ,CAAC;IAC3B,CAAC,GAIDJ,QAAA,CAASG,IAAG;EACd,EAAGV,GAAG;AAEV","ignoreList":[]}
|
|
@@ -1,54 +1,26 @@
|
|
|
1
|
-
import Module from "node:module";
|
|
2
1
|
import { join } from "node:path";
|
|
3
|
-
var
|
|
4
|
-
didRegisterOnce = !1;
|
|
2
|
+
var didRegisterOnce = !1;
|
|
5
3
|
async function generateThemes(inputFile) {
|
|
6
4
|
didRegisterOnce || require("esbuild-register/dist/node").register({
|
|
7
5
|
hookIgnoreNodeModules: !1
|
|
8
6
|
});
|
|
9
7
|
var inputFilePath = inputFile[0] === "." ? join(process.cwd(), inputFile) : inputFile;
|
|
10
8
|
purgeCache(inputFilePath);
|
|
11
|
-
var promises = []
|
|
12
|
-
|
|
13
|
-
var out = ogRequire.apply(this, arguments);
|
|
14
|
-
if (id === "@tamagui/theme-builder") {
|
|
15
|
-
var resolve,
|
|
16
|
-
promise = new Promise(function (res) {
|
|
17
|
-
resolve = res;
|
|
18
|
-
});
|
|
19
|
-
return promises.push(promise), createThemeIntercept(out, {
|
|
20
|
-
onComplete: function (result) {
|
|
21
|
-
resolve?.(result.themeBuilder);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
return out;
|
|
26
|
-
};
|
|
27
|
-
var og = process.env.TAMAGUI_KEEP_THEMES;
|
|
9
|
+
var promises = [],
|
|
10
|
+
og = process.env.TAMAGUI_KEEP_THEMES;
|
|
28
11
|
process.env.TAMAGUI_KEEP_THEMES = "1", process.env.TAMAGUI_RUN_THEMEBUILDER = "1";
|
|
29
12
|
try {
|
|
30
13
|
var requiredThemes = require(inputFilePath),
|
|
31
14
|
themes = requiredThemes.default || requiredThemes.themes || requiredThemes[Object.keys(requiredThemes)[0]],
|
|
32
|
-
generatedThemes = generatedThemesToTypescript(themes)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
var finished = !1;
|
|
36
|
-
await Promise.any(promises).then(function () {
|
|
37
|
-
finished = !0;
|
|
38
|
-
}), tm = setTimeout(function () {
|
|
39
|
-
finished || console.warn("Warning: ThemeBuilder didn't finish after a couple seconds, did you forget to call .build()?");
|
|
40
|
-
}, 2e3);
|
|
41
|
-
}
|
|
42
|
-
var themeBuilder = await Promise.any(promises);
|
|
43
|
-
return clearTimeout(tm), {
|
|
44
|
-
generated: generatedThemes,
|
|
45
|
-
state: themeBuilder?.state
|
|
15
|
+
generatedThemes = generatedThemesToTypescript(themes);
|
|
16
|
+
return {
|
|
17
|
+
generated: generatedThemes
|
|
46
18
|
};
|
|
47
19
|
} catch (err) {
|
|
48
20
|
console.warn(` \u26A0\uFE0F Error running theme builder:
|
|
49
21
|
`, err?.stack || err);
|
|
50
22
|
} finally {
|
|
51
|
-
process.env.TAMAGUI_KEEP_THEMES = og
|
|
23
|
+
process.env.TAMAGUI_KEEP_THEMES = og;
|
|
52
24
|
}
|
|
53
25
|
}
|
|
54
26
|
var dedupedTokens = /* @__PURE__ */new Map();
|
|
@@ -154,29 +126,6 @@ function objectToJsString(obj, keys, valueToIndex) {
|
|
|
154
126
|
}
|
|
155
127
|
return `t([${arrItems.join(",")}])`;
|
|
156
128
|
}
|
|
157
|
-
function createThemeIntercept(createThemeExport, themeBuilderInterceptOpts) {
|
|
158
|
-
return new Proxy(createThemeExport, {
|
|
159
|
-
get(target, key) {
|
|
160
|
-
var out = Reflect.get(target, key);
|
|
161
|
-
return key === "createThemeBuilder" ? new Proxy(out, {
|
|
162
|
-
apply(target2, thisArg, argArray) {
|
|
163
|
-
var builder = Reflect.apply(target2, thisArg, argArray);
|
|
164
|
-
return themeBuilderIntercept(builder, themeBuilderInterceptOpts);
|
|
165
|
-
}
|
|
166
|
-
}) : out;
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
171
|
-
return new Proxy(themeBuilder, {
|
|
172
|
-
get(target, key) {
|
|
173
|
-
var out = Reflect.get(target, key);
|
|
174
|
-
return key === "build" && themeBuilderInterceptOpts.onComplete({
|
|
175
|
-
themeBuilder
|
|
176
|
-
}), out;
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
129
|
function purgeCache(moduleName) {
|
|
181
130
|
searchCache(moduleName, function (mod) {
|
|
182
131
|
delete require.cache[mod.id];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["join","didRegisterOnce","generateThemes","inputFile","require","register","hookIgnoreNodeModules","inputFilePath","process","cwd","purgeCache","promises","og","env","TAMAGUI_KEEP_THEMES","TAMAGUI_RUN_THEMEBUILDER","requiredThemes","themes","default","Object","keys","generatedThemes","generatedThemesToTypescript","generated","err","console","warn","stack","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","obj","arrItems"],"sources":["../../src/generate-themes.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import { join } from "node:path";
|
|
2
1
|
import * as fs from "fs-extra";
|
|
3
2
|
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
4
3
|
if (!generatedOutput) return;
|
|
5
|
-
const { generated
|
|
6
|
-
process.env.DEBUG === "tamagui" &&
|
|
7
|
-
|
|
8
|
-
` + generated),
|
|
9
|
-
state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null
|
|
10
|
-
]);
|
|
4
|
+
const { generated } = generatedOutput;
|
|
5
|
+
process.env.DEBUG === "tamagui" && console.info("Generated themes:", JSON.stringify(generatedOutput, null, 2)), await Promise.all([fs.writeFile(outPath, `// @ts-nocheck
|
|
6
|
+
` + generated)]);
|
|
11
7
|
}
|
|
12
8
|
export {
|
|
13
9
|
writeGeneratedThemes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/write-generate-themes.ts"],
|
|
4
|
-
"mappings": "AAAA,
|
|
4
|
+
"mappings": "AAAA,YAAY,QAAQ;AAIpB,eAAsB,qBACpB,eACA,SACA,iBACA;AACA,MAAI,CAAC,gBAAiB;AAEtB,QAAM,EAAE,UAAU,IAAI;AAEtB,EAAI,QAAQ,IAAI,UAAU,aACxB,QAAQ,KAAK,qBAAqB,KAAK,UAAU,iBAAiB,MAAM,CAAC,CAAC,GAG5E,MAAM,QAAQ,IAAI,CAAC,GAAG,UAAU,SAAS;AAAA,IAAqB,SAAS,CAAC,CAAC;AAC3E;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
import { join } from "node:path";
|
|
2
1
|
import * as fs from "fs-extra";
|
|
3
2
|
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
4
3
|
if (!generatedOutput) return;
|
|
5
4
|
const {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
themeBuilderStatePath = join(tamaguiDotDir, "theme-builder.json");
|
|
11
|
-
process.env.DEBUG === "tamagui" && (console.info("Generated themes:", JSON.stringify(generatedOutput, null, 2)), console.info("Writing themes to", {
|
|
12
|
-
outPath,
|
|
13
|
-
themeBuilderStatePath
|
|
14
|
-
})), await Promise.all([fs.writeFile(outPath, `// @ts-nocheck
|
|
15
|
-
` + generated), state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null]);
|
|
5
|
+
generated
|
|
6
|
+
} = generatedOutput;
|
|
7
|
+
process.env.DEBUG === "tamagui" && console.info("Generated themes:", JSON.stringify(generatedOutput, null, 2)), await Promise.all([fs.writeFile(outPath, `// @ts-nocheck
|
|
8
|
+
` + generated)]);
|
|
16
9
|
}
|
|
17
10
|
export { writeGeneratedThemes };
|
|
18
11
|
//# sourceMappingURL=write-generate-themes.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["fs","writeGeneratedThemes","tamaguiDotDir","outPath","generatedOutput","generated","process","env","DEBUG","console","info","JSON","stringify","Promise","all","writeFile"],"sources":["../../src/write-generate-themes.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,EAAA,MAAQ;AAIpB,eAAsBC,qBACpBC,aAAA,EACAC,OAAA,EACAC,eAAA,EACA;EACA,IAAI,CAACA,eAAA,EAAiB;EAEtB,MAAM;IAAEC;EAAU,IAAID,eAAA;EAElBE,OAAA,CAAQC,GAAA,CAAIC,KAAA,KAAU,aACxBC,OAAA,CAAQC,IAAA,CAAK,qBAAqBC,IAAA,CAAKC,SAAA,CAAUR,eAAA,EAAiB,MAAM,CAAC,CAAC,GAG5E,MAAMS,OAAA,CAAQC,GAAA,CAAI,CAACd,EAAA,CAAGe,SAAA,CAAUZ,OAAA,EAAS;AAAA,IAAqBE,SAAS,CAAC,CAAC;AAC3E","ignoreList":[]}
|
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
import { join } from "node:path";
|
|
2
1
|
import * as fs from "fs-extra";
|
|
3
2
|
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
4
3
|
if (generatedOutput) {
|
|
5
4
|
var {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
themeBuilderStatePath = join(tamaguiDotDir, "theme-builder.json");
|
|
11
|
-
process.env.DEBUG === "tamagui" && (console.info("Generated themes:", JSON.stringify(generatedOutput, null, 2)), console.info("Writing themes to", {
|
|
12
|
-
outPath,
|
|
13
|
-
themeBuilderStatePath
|
|
14
|
-
})), await Promise.all([fs.writeFile(outPath, `// @ts-nocheck
|
|
15
|
-
` + generated), state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null]);
|
|
5
|
+
generated
|
|
6
|
+
} = generatedOutput;
|
|
7
|
+
process.env.DEBUG === "tamagui" && console.info("Generated themes:", JSON.stringify(generatedOutput, null, 2)), await Promise.all([fs.writeFile(outPath, `// @ts-nocheck
|
|
8
|
+
` + generated)]);
|
|
16
9
|
}
|
|
17
10
|
}
|
|
18
11
|
export { writeGeneratedThemes };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["fs","writeGeneratedThemes","tamaguiDotDir","outPath","generatedOutput","generated","process","env","DEBUG","console","info","JSON","stringify","Promise","all","writeFile"],"sources":["../../src/write-generate-themes.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,EAAA,MAAQ;AAIpB,eAAsBC,qBACpBC,aAAA,EACAC,OAAA,EACAC,eAAA,EACA;EACA,IAAIA,eAAC,EAAiB;IAEtB,IAAM;MAAEC;IAAU,IAAID,eAAA;IAElBE,OAAQ,CAAAC,GAAI,CAAAC,KAAA,KAAU,aACxBC,OAAQ,CAAAC,IAAK,oBAAqB,EAAAC,IAAK,CAAAC,SAAU,CAAAR,eAAiB,MAAM,EAAE,GAG5E,QAAMS,OAAQ,CAAAC,GAAK,EAA2Cd,EAAA,CAAAe,SAAW,CAAAZ,OAAA;AAC3E,IAAAE,SAAA,E","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/generate-themes",
|
|
3
|
-
"version": "1.125.
|
|
3
|
+
"version": "1.125.19",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"main": "dist/cjs",
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"clean:build": "tamagui-build clean:build"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@tamagui/create-theme": "1.125.
|
|
37
|
-
"@tamagui/theme-builder": "1.125.
|
|
38
|
-
"@tamagui/types": "1.125.
|
|
36
|
+
"@tamagui/create-theme": "1.125.19",
|
|
37
|
+
"@tamagui/theme-builder": "1.125.19",
|
|
38
|
+
"@tamagui/types": "1.125.19",
|
|
39
39
|
"esbuild-register": "^3.6.0",
|
|
40
40
|
"fs-extra": "^11.2.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@tamagui/build": "1.125.
|
|
43
|
+
"@tamagui/build": "1.125.19"
|
|
44
44
|
}
|
|
45
45
|
}
|
package/src/generate-themes.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import type { ThemeBuilder } from '@tamagui/theme-builder'
|
|
2
|
-
import Module from 'node:module'
|
|
3
2
|
import { join } from 'node:path'
|
|
4
3
|
|
|
5
4
|
type ThemeBuilderInterceptOpts = {
|
|
6
5
|
onComplete: (result: { themeBuilder: ThemeBuilder<any> }) => void
|
|
7
6
|
}
|
|
8
7
|
|
|
9
|
-
const ogRequire = Module.prototype.require
|
|
10
|
-
|
|
11
8
|
let didRegisterOnce = false
|
|
12
9
|
|
|
13
10
|
export async function generateThemes(inputFile: string) {
|
|
@@ -23,26 +20,6 @@ export async function generateThemes(inputFile: string) {
|
|
|
23
20
|
|
|
24
21
|
const promises: Array<Promise<null | ThemeBuilder<any>>> = []
|
|
25
22
|
|
|
26
|
-
// @ts-ignore
|
|
27
|
-
Module.prototype.require = function (id) {
|
|
28
|
-
// @ts-ignore
|
|
29
|
-
const out = ogRequire.apply(this, arguments)
|
|
30
|
-
|
|
31
|
-
if (id === '@tamagui/theme-builder') {
|
|
32
|
-
let resolve: Function
|
|
33
|
-
const promise = new Promise<any>((res) => {
|
|
34
|
-
resolve = res
|
|
35
|
-
})
|
|
36
|
-
promises.push(promise)
|
|
37
|
-
return createThemeIntercept(out, {
|
|
38
|
-
onComplete: (result) => {
|
|
39
|
-
resolve?.(result.themeBuilder)
|
|
40
|
-
},
|
|
41
|
-
})
|
|
42
|
-
}
|
|
43
|
-
return out
|
|
44
|
-
}
|
|
45
|
-
|
|
46
23
|
let og = process.env.TAMAGUI_KEEP_THEMES
|
|
47
24
|
process.env.TAMAGUI_KEEP_THEMES = '1'
|
|
48
25
|
process.env.TAMAGUI_RUN_THEMEBUILDER = '1'
|
|
@@ -57,34 +34,13 @@ export async function generateThemes(inputFile: string) {
|
|
|
57
34
|
|
|
58
35
|
const generatedThemes = generatedThemesToTypescript(themes)
|
|
59
36
|
|
|
60
|
-
let tm: any
|
|
61
|
-
if (promises.length) {
|
|
62
|
-
let finished = false
|
|
63
|
-
await Promise.any(promises).then(() => {
|
|
64
|
-
finished = true
|
|
65
|
-
})
|
|
66
|
-
// handle never finishing promise with nice error
|
|
67
|
-
tm = setTimeout(() => {
|
|
68
|
-
if (!finished) {
|
|
69
|
-
console.warn(
|
|
70
|
-
`Warning: ThemeBuilder didn't finish after a couple seconds, did you forget to call .build()?`
|
|
71
|
-
)
|
|
72
|
-
}
|
|
73
|
-
}, 2000)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const themeBuilder = await Promise.any(promises)
|
|
77
|
-
clearTimeout(tm)
|
|
78
|
-
|
|
79
37
|
return {
|
|
80
38
|
generated: generatedThemes,
|
|
81
|
-
state: themeBuilder?.state,
|
|
82
39
|
}
|
|
83
40
|
} catch (err) {
|
|
84
41
|
console.warn(` ⚠️ Error running theme builder:\n`, err?.['stack'] || err)
|
|
85
42
|
} finally {
|
|
86
43
|
process.env.TAMAGUI_KEEP_THEMES = og
|
|
87
|
-
Module.prototype.require = ogRequire
|
|
88
44
|
}
|
|
89
45
|
}
|
|
90
46
|
|
|
@@ -210,44 +166,6 @@ function objectToJsString(
|
|
|
210
166
|
return `t([${arrItems.join(',')}])`
|
|
211
167
|
}
|
|
212
168
|
|
|
213
|
-
function createThemeIntercept(
|
|
214
|
-
createThemeExport: any,
|
|
215
|
-
themeBuilderInterceptOpts: ThemeBuilderInterceptOpts
|
|
216
|
-
) {
|
|
217
|
-
return new Proxy(createThemeExport, {
|
|
218
|
-
get(target, key) {
|
|
219
|
-
const out = Reflect.get(target, key)
|
|
220
|
-
if (key === 'createThemeBuilder') {
|
|
221
|
-
return new Proxy(out, {
|
|
222
|
-
apply(target, thisArg, argArray) {
|
|
223
|
-
const builder = Reflect.apply(target, thisArg, argArray) as any
|
|
224
|
-
return themeBuilderIntercept(builder, themeBuilderInterceptOpts)
|
|
225
|
-
},
|
|
226
|
-
})
|
|
227
|
-
}
|
|
228
|
-
return out
|
|
229
|
-
},
|
|
230
|
-
})
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
function themeBuilderIntercept(
|
|
234
|
-
themeBuilder: any,
|
|
235
|
-
themeBuilderInterceptOpts: ThemeBuilderInterceptOpts
|
|
236
|
-
) {
|
|
237
|
-
return new Proxy(themeBuilder, {
|
|
238
|
-
get(target, key) {
|
|
239
|
-
const out = Reflect.get(target, key)
|
|
240
|
-
if (key === 'build') {
|
|
241
|
-
// get the state and return!
|
|
242
|
-
themeBuilderInterceptOpts.onComplete({
|
|
243
|
-
themeBuilder,
|
|
244
|
-
})
|
|
245
|
-
}
|
|
246
|
-
return out
|
|
247
|
-
},
|
|
248
|
-
})
|
|
249
|
-
}
|
|
250
|
-
|
|
251
169
|
/**
|
|
252
170
|
* Removes a module from the cache
|
|
253
171
|
*/
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { join } from 'node:path'
|
|
2
|
-
|
|
3
1
|
import * as fs from 'fs-extra'
|
|
4
2
|
|
|
5
3
|
import type { generateThemes } from './generate-themes'
|
|
@@ -11,20 +9,11 @@ export async function writeGeneratedThemes(
|
|
|
11
9
|
) {
|
|
12
10
|
if (!generatedOutput) return
|
|
13
11
|
|
|
14
|
-
const { generated
|
|
15
|
-
|
|
16
|
-
const tamaguiDotDirExists = await fs.pathExists(tamaguiDotDir)
|
|
17
|
-
const themeBuilderStatePath = join(tamaguiDotDir, `theme-builder.json`)
|
|
12
|
+
const { generated } = generatedOutput
|
|
18
13
|
|
|
19
14
|
if (process.env.DEBUG === 'tamagui') {
|
|
20
15
|
console.info(`Generated themes:`, JSON.stringify(generatedOutput, null, 2))
|
|
21
|
-
console.info(`Writing themes to`, { outPath, themeBuilderStatePath })
|
|
22
16
|
}
|
|
23
17
|
|
|
24
|
-
await Promise.all([
|
|
25
|
-
fs.writeFile(outPath, `// @ts-nocheck\n` + generated),
|
|
26
|
-
state && tamaguiDotDirExists
|
|
27
|
-
? fs.writeFile(themeBuilderStatePath, JSON.stringify(state))
|
|
28
|
-
: null,
|
|
29
|
-
])
|
|
18
|
+
await Promise.all([fs.writeFile(outPath, `// @ts-nocheck\n` + generated)])
|
|
30
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-themes.d.ts","sourceRoot":"","sources":["../src/generate-themes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-themes.d.ts","sourceRoot":"","sources":["../src/generate-themes.ts"],"names":[],"mappings":"AASA,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM;;eAmCrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-generate-themes.d.ts","sourceRoot":"","sources":["../src/write-generate-themes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"write-generate-themes.d.ts","sourceRoot":"","sources":["../src/write-generate-themes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,iBAW5D"}
|