@tamagui/generate-themes 1.114.3 → 1.115.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 → generate-themes.cjs} +46 -32
- package/dist/cjs/index.cjs +19 -0
- package/dist/cjs/write-generate-themes.cjs +51 -0
- package/package.json +7 -6
- package/dist/cjs/index.js +0 -16
- package/dist/cjs/write-generate-themes.js +0 -37
- /package/dist/cjs/{generate-themes.js.map → generate-themes.cjs.map} +0 -0
- /package/dist/cjs/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/{write-generate-themes.js.map → write-generate-themes.cjs.map} +0 -0
|
@@ -2,30 +2,40 @@ var __create = Object.create;
|
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf,
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf,
|
|
6
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
7
|
var __export = (target, all) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: !0
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
15
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
21
|
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
22
|
// file that has been converted to a CommonJS file using a Babel-
|
|
18
23
|
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
24
|
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
21
|
-
|
|
22
|
-
|
|
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);
|
|
23
32
|
var generate_themes_exports = {};
|
|
24
33
|
__export(generate_themes_exports, {
|
|
25
34
|
generateThemes: () => generateThemes
|
|
26
35
|
});
|
|
27
36
|
module.exports = __toCommonJS(generate_themes_exports);
|
|
28
|
-
var import_module = __toESM(require("module")),
|
|
37
|
+
var import_module = __toESM(require("module")),
|
|
38
|
+
import_path = require("path");
|
|
29
39
|
const ogRequire = import_module.default.prototype.require;
|
|
30
40
|
let didRegisterOnce = !1;
|
|
31
41
|
async function generateThemes(inputFile) {
|
|
@@ -35,14 +45,14 @@ async function generateThemes(inputFile) {
|
|
|
35
45
|
const inputFilePath = inputFile[0] === "." ? (0, import_path.join)(process.cwd(), inputFile) : inputFile;
|
|
36
46
|
purgeCache(inputFilePath);
|
|
37
47
|
let promise = null;
|
|
38
|
-
import_module.default.prototype.require = function(id) {
|
|
48
|
+
import_module.default.prototype.require = function (id) {
|
|
39
49
|
const out = ogRequire.apply(this, arguments);
|
|
40
50
|
if (id === "@tamagui/theme-builder" && !promise) {
|
|
41
51
|
let resolve;
|
|
42
|
-
return promise = new Promise(
|
|
52
|
+
return promise = new Promise(res => {
|
|
43
53
|
resolve = res;
|
|
44
54
|
}), createThemeIntercept(out, {
|
|
45
|
-
onComplete:
|
|
55
|
+
onComplete: result => {
|
|
46
56
|
resolve?.(result.themeBuilder);
|
|
47
57
|
}
|
|
48
58
|
});
|
|
@@ -50,16 +60,16 @@ async function generateThemes(inputFile) {
|
|
|
50
60
|
return out;
|
|
51
61
|
};
|
|
52
62
|
try {
|
|
53
|
-
const requiredThemes = require(inputFilePath),
|
|
63
|
+
const requiredThemes = require(inputFilePath),
|
|
64
|
+
themes = requiredThemes.default || requiredThemes.themes,
|
|
65
|
+
generatedThemes = generatedThemesToTypescript(themes);
|
|
54
66
|
let tm;
|
|
55
67
|
if (promise) {
|
|
56
68
|
let finished = !1;
|
|
57
69
|
promise.then(() => {
|
|
58
70
|
finished = !0;
|
|
59
71
|
}), tm = setTimeout(() => {
|
|
60
|
-
finished || console.warn(
|
|
61
|
-
"Warning: ThemeBuilder didn't finish after a couple seconds, did you forget to call .build()?"
|
|
62
|
-
);
|
|
72
|
+
finished || console.warn("Warning: ThemeBuilder didn't finish after a couple seconds, did you forget to call .build()?");
|
|
63
73
|
}, 2e3);
|
|
64
74
|
}
|
|
65
75
|
const themeBuilder = promise ? await promise : null;
|
|
@@ -73,9 +83,10 @@ async function generateThemes(inputFile) {
|
|
|
73
83
|
import_module.default.prototype.require = ogRequire;
|
|
74
84
|
}
|
|
75
85
|
}
|
|
76
|
-
const dedupedTokens = /* @__PURE__ */
|
|
86
|
+
const dedupedTokens = /* @__PURE__ */new Map();
|
|
77
87
|
function generatedThemesToTypescript(themes) {
|
|
78
|
-
const dedupedThemes = /* @__PURE__ */
|
|
88
|
+
const dedupedThemes = /* @__PURE__ */new Map(),
|
|
89
|
+
dedupedThemeToNames = /* @__PURE__ */new Map();
|
|
79
90
|
let i = 0;
|
|
80
91
|
for (const name in themes) {
|
|
81
92
|
i++;
|
|
@@ -115,17 +126,20 @@ function t(a: [number, number][]) {
|
|
|
115
126
|
`;
|
|
116
127
|
const keys = baseKeys.map(([k]) => k);
|
|
117
128
|
out += `const ks = [
|
|
118
|
-
`, out += keys.map(
|
|
129
|
+
`, out += keys.map(k => `'${k}'`).join(`,
|
|
119
130
|
`), out += `]
|
|
120
131
|
|
|
121
132
|
`;
|
|
122
133
|
let nameI = 0;
|
|
123
|
-
return dedupedThemes.forEach(
|
|
134
|
+
return dedupedThemes.forEach(theme => {
|
|
124
135
|
nameI++;
|
|
125
|
-
const key = JSON.stringify(theme),
|
|
136
|
+
const key = JSON.stringify(theme),
|
|
137
|
+
names = dedupedThemeToNames.get(key),
|
|
138
|
+
name = `n${nameI}`,
|
|
139
|
+
baseTheme = `const ${name} = ${objectToJsString(theme, keys, valueToIndex)}`;
|
|
126
140
|
out += `
|
|
127
141
|
${baseTheme}`;
|
|
128
|
-
const duplicateThemes = names.map(
|
|
142
|
+
const duplicateThemes = names.map(n => `export const ${n} = ${name}`);
|
|
129
143
|
out += `
|
|
130
144
|
|
|
131
145
|
` + duplicateThemes.join(`
|
|
@@ -135,7 +149,8 @@ ${baseTheme}`;
|
|
|
135
149
|
function objectToJsString(obj, keys, valueToIndex) {
|
|
136
150
|
let arrItems = [];
|
|
137
151
|
for (const key in obj) {
|
|
138
|
-
const ki = keys.indexOf(key),
|
|
152
|
+
const ki = keys.indexOf(key),
|
|
153
|
+
vi = valueToIndex[obj[key]];
|
|
139
154
|
arrItems.push(`[${ki}, ${vi}]`);
|
|
140
155
|
}
|
|
141
156
|
return `t([${arrItems.join(",")}])`;
|
|
@@ -164,18 +179,17 @@ function themeBuilderIntercept(themeBuilder, themeBuilderInterceptOpts) {
|
|
|
164
179
|
});
|
|
165
180
|
}
|
|
166
181
|
function purgeCache(moduleName) {
|
|
167
|
-
searchCache(moduleName, function(mod) {
|
|
182
|
+
searchCache(moduleName, function (mod) {
|
|
168
183
|
delete require.cache[mod.id];
|
|
169
|
-
}), Object.keys(module.constructor._pathCache).forEach(function(cacheKey) {
|
|
184
|
+
}), Object.keys(module.constructor._pathCache).forEach(function (cacheKey) {
|
|
170
185
|
cacheKey.indexOf(moduleName) > 0 && delete module.constructor._pathCache[cacheKey];
|
|
171
186
|
});
|
|
172
187
|
}
|
|
173
188
|
function searchCache(moduleName, callback) {
|
|
174
189
|
let mod = require.resolve(moduleName);
|
|
175
190
|
mod && (mod = require.cache[mod]) !== void 0 && function traverse(mod2, depth = 0) {
|
|
176
|
-
depth > 10 || (mod2.children.forEach(function(child) {
|
|
191
|
+
depth > 10 || (mod2.children.forEach(function (child) {
|
|
177
192
|
traverse(child, depth + 1);
|
|
178
193
|
}), callback(mod2));
|
|
179
194
|
}(mod);
|
|
180
|
-
}
|
|
181
|
-
//# sourceMappingURL=generate-themes.js.map
|
|
195
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
7
|
+
get: () => from[key],
|
|
8
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
9
|
+
});
|
|
10
|
+
return to;
|
|
11
|
+
},
|
|
12
|
+
__reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
13
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
14
|
+
value: !0
|
|
15
|
+
}), mod);
|
|
16
|
+
var src_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(src_exports);
|
|
18
|
+
__reExport(src_exports, require("./generate-themes.cjs"), module.exports);
|
|
19
|
+
__reExport(src_exports, require("./write-generate-themes.cjs"), module.exports);
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf,
|
|
6
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: !0
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
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);
|
|
32
|
+
var write_generate_themes_exports = {};
|
|
33
|
+
__export(write_generate_themes_exports, {
|
|
34
|
+
writeGeneratedThemes: () => writeGeneratedThemes
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(write_generate_themes_exports);
|
|
37
|
+
var import_path = require("path"),
|
|
38
|
+
fs = __toESM(require("fs-extra"));
|
|
39
|
+
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
40
|
+
if (!generatedOutput) return;
|
|
41
|
+
const {
|
|
42
|
+
generated,
|
|
43
|
+
state
|
|
44
|
+
} = generatedOutput,
|
|
45
|
+
tamaguiDotDirExists = await fs.pathExists(tamaguiDotDir),
|
|
46
|
+
themeBuilderStatePath = (0, import_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, generated), state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null]);
|
|
51
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/generate-themes",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.115.0",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"main": "dist/cjs",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"react-native": "./dist/cjs/index.native.js",
|
|
21
21
|
"types": "./types/index.d.ts",
|
|
22
22
|
"import": "./dist/esm/index.mjs",
|
|
23
|
-
"require": "./dist/cjs/index.
|
|
23
|
+
"require": "./dist/cjs/index.cjs",
|
|
24
|
+
"default": "./dist/cjs/index.native.js"
|
|
24
25
|
}
|
|
25
26
|
},
|
|
26
27
|
"scripts": {
|
|
@@ -30,13 +31,13 @@
|
|
|
30
31
|
"clean:build": "tamagui-build clean:build"
|
|
31
32
|
},
|
|
32
33
|
"dependencies": {
|
|
33
|
-
"@tamagui/create-theme": "1.
|
|
34
|
-
"@tamagui/theme-builder": "1.
|
|
35
|
-
"@tamagui/types": "1.
|
|
34
|
+
"@tamagui/create-theme": "1.115.0",
|
|
35
|
+
"@tamagui/theme-builder": "1.115.0",
|
|
36
|
+
"@tamagui/types": "1.115.0",
|
|
36
37
|
"esbuild-register": "^3.6.0",
|
|
37
38
|
"fs-extra": "^11.2.0"
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|
|
40
|
-
"@tamagui/build": "1.
|
|
41
|
+
"@tamagui/build": "1.115.0"
|
|
41
42
|
}
|
|
42
43
|
}
|
package/dist/cjs/index.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
if (from && typeof from == "object" || typeof from == "function")
|
|
7
|
-
for (let key of __getOwnPropNames(from))
|
|
8
|
-
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
|
-
return to;
|
|
10
|
-
}, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
11
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
12
|
-
var src_exports = {};
|
|
13
|
-
module.exports = __toCommonJS(src_exports);
|
|
14
|
-
__reExport(src_exports, require("./generate-themes"), module.exports);
|
|
15
|
-
__reExport(src_exports, require("./write-generate-themes"), module.exports);
|
|
16
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
-
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
-
return to;
|
|
14
|
-
};
|
|
15
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
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);
|
|
23
|
-
var write_generate_themes_exports = {};
|
|
24
|
-
__export(write_generate_themes_exports, {
|
|
25
|
-
writeGeneratedThemes: () => writeGeneratedThemes
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(write_generate_themes_exports);
|
|
28
|
-
var import_path = require("path"), fs = __toESM(require("fs-extra"));
|
|
29
|
-
async function writeGeneratedThemes(tamaguiDotDir, outPath, generatedOutput) {
|
|
30
|
-
if (!generatedOutput) return;
|
|
31
|
-
const { generated, state } = generatedOutput, tamaguiDotDirExists = await fs.pathExists(tamaguiDotDir), themeBuilderStatePath = (0, import_path.join)(tamaguiDotDir, "theme-builder.json");
|
|
32
|
-
process.env.DEBUG === "tamagui" && (console.info("Generated themes:", JSON.stringify(generatedOutput, null, 2)), console.info("Writing themes to", { outPath, themeBuilderStatePath })), await Promise.all([
|
|
33
|
-
fs.writeFile(outPath, generated),
|
|
34
|
-
state && tamaguiDotDirExists ? fs.writeFile(themeBuilderStatePath, JSON.stringify(state)) : null
|
|
35
|
-
]);
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=write-generate-themes.js.map
|
|
File without changes
|
|
File without changes
|
|
File without changes
|