@tamagui/cli 1.31.3 → 1.32.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/build.js +0 -1
- package/dist/cjs/build.js.map +1 -1
- package/dist/cjs/cli.js +81 -52
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/utils.js +6 -1
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/build.js +0 -1
- package/dist/esm/build.js.map +1 -1
- package/dist/esm/cli.js +81 -52
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/utils.js +6 -1
- package/dist/esm/utils.js.map +1 -1
- package/package.json +5 -5
- package/src/build.ts +0 -2
- package/src/cli.ts +84 -54
- package/src/generate-themes.ts +68 -0
- package/src/utils.ts +7 -1
- package/types/build.d.ts.map +1 -1
- package/types/generate-themes.d.ts +7 -0
- package/types/utils.d.ts.map +1 -1
package/dist/cjs/build.js
CHANGED
|
@@ -43,7 +43,6 @@ const build = async (options) => {
|
|
|
43
43
|
const sourceDir = (0, import_path.dirname)(entry);
|
|
44
44
|
const promises = [];
|
|
45
45
|
const targets = ["web"];
|
|
46
|
-
console.log("sourceDir", sourceDir, targets);
|
|
47
46
|
await new Promise((res) => {
|
|
48
47
|
import_chokidar.default.watch(sourceDir, {
|
|
49
48
|
// persistent: true,
|
package/dist/cjs/build.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/build.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAiD;AAEjD,oBAAkE;AAElE,sBAAqB;AACrB,sBAAyB;AAElB,MAAM,QAAQ,OAAO,YAAgC;AAG1D,QAAM,QAAQ,QAAQ,QAAQ;AAC9B,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,qEAAqE;AAAA,EACvF;AACA,QAAM,gBAAY,qBAAQ,KAAK;AAC/B,QAAM,WAA4B,CAAC;AACnC,QAAM,UAAU,CAAC,KAAK;AAEtB,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAiD;AAEjD,oBAAkE;AAElE,sBAAqB;AACrB,sBAAyB;AAElB,MAAM,QAAQ,OAAO,YAAgC;AAG1D,QAAM,QAAQ,QAAQ,QAAQ;AAC9B,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,qEAAqE;AAAA,EACvF;AACA,QAAM,gBAAY,qBAAQ,KAAK;AAC/B,QAAM,WAA4B,CAAC;AACnC,QAAM,UAAU,CAAC,KAAK;AAEtB,QAAM,IAAI,QAAc,CAAC,QAAQ;AAC/B,oBAAAA,QAEG,MAAM,WAAW;AAAA;AAAA,IAElB,CAAC,EACA,GAAG,OAAO,CAAC,iBAAiB;AAC3B,YAAM,iBAAa,qBAAQ,QAAQ,IAAI,GAAG,YAAY;AAEtD,eAAS;AAAA,SACN,YAAY;AACX,gBAAM,QAAQ;AAAA,YACZ,QAAQ,IAAI,OAAO,WAAW;AA/B5C;AAgCgB,sBAAQ,IAAI,iBAAiB;AAC7B,kBAAI,QAAQ,OAAO;AACjB,8BAAQ,KAAI,aAAZ,GAAY,WAAa;AAAA,cAC3B;AACA,oBAAM,SAAS,UAAM,0BAAS,YAAY,OAAO;AACjD,oBAAM,gBAAY,+BAAgB;AAClC,oBAAM,MAAM,UAAM,mCAAoB;AAAA,gBACpC;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,SAAS,QAAQ;AAAA,gBACjB,kBAAkB,QAAQ,SAAS;AAAA,cACrC,CAAC;AAAA,YAGH,CAAC;AAAA,UACH;AAAA,QACF,GAAG;AAAA,MACL;AAAA,IACF,CAAC,EACA,GAAG,SAAS,MAAM;AACjB,UAAI;AAAA,IACN,CAAC;AAAA,EACL,CAAC;AAED,QAAM,QAAQ,IAAI,QAAQ;AAC5B;",
|
|
5
5
|
"names": ["chokidar"]
|
|
6
6
|
}
|
package/dist/cjs/cli.js
CHANGED
|
@@ -21,21 +21,20 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
21
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
|
+
var import_path = require("path");
|
|
24
25
|
var import_arg = __toESM(require("arg"));
|
|
25
26
|
var import_chalk = __toESM(require("chalk"));
|
|
26
27
|
var import_utils = require("./utils");
|
|
27
28
|
["exit", "SIGINT"].forEach((_) => {
|
|
28
29
|
process.on(_, () => {
|
|
29
|
-
process.stdout.write(`bye
|
|
30
|
-
`);
|
|
31
30
|
(0, import_utils.disposeAll)();
|
|
32
31
|
process.exit();
|
|
33
32
|
});
|
|
34
33
|
});
|
|
35
34
|
const COMMAND_MAP = {
|
|
36
|
-
|
|
37
|
-
shorthands: ["
|
|
38
|
-
description: `Use to pre-build
|
|
35
|
+
"generate-themes": {
|
|
36
|
+
shorthands: ["gt"],
|
|
37
|
+
description: `Use to pre-build your themes`,
|
|
39
38
|
flags: {
|
|
40
39
|
"--help": Boolean,
|
|
41
40
|
"--debug": Boolean,
|
|
@@ -43,57 +42,84 @@ const COMMAND_MAP = {
|
|
|
43
42
|
},
|
|
44
43
|
async run() {
|
|
45
44
|
const { _, ...flags2 } = (0, import_arg.default)(this.flags);
|
|
46
|
-
const {
|
|
45
|
+
const { generateThemes } = await import("./generate-themes.js");
|
|
47
46
|
const options = await (0, import_utils.getOptions)({
|
|
48
47
|
debug: flags2["--debug"] ? flags2["--verbose"] ? "verbose" : true : false
|
|
49
48
|
});
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
dev: {
|
|
63
|
-
shorthands: ["d"],
|
|
64
|
-
description: `Run tamagui vite`,
|
|
65
|
-
flags: {
|
|
66
|
-
"--help": Boolean,
|
|
67
|
-
"--debug": Boolean,
|
|
68
|
-
"--verbose": Boolean
|
|
69
|
-
},
|
|
70
|
-
async run() {
|
|
71
|
-
const { _, ...flags2 } = (0, import_arg.default)(this.flags);
|
|
72
|
-
const { dev } = await import("./dev");
|
|
73
|
-
const options = await (0, import_utils.getOptions)({
|
|
74
|
-
debug: flags2["--debug"] ? flags2["--verbose"] ? "verbose" : true : false
|
|
49
|
+
const [cmd, inPath, outPath] = _;
|
|
50
|
+
if (!inPath || !outPath) {
|
|
51
|
+
throw new Error(
|
|
52
|
+
`Must supply both input and output paths, missing one (inPath: ${inPath}, outPath: ${outPath})`
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
await generateThemes({
|
|
56
|
+
...options,
|
|
57
|
+
inPath: (0, import_path.join)(options.root, inPath),
|
|
58
|
+
outPath: (0, import_path.join)(options.root, outPath)
|
|
75
59
|
});
|
|
76
|
-
await dev(options);
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
studio: {
|
|
80
|
-
shorthands: ["s"],
|
|
81
|
-
description: `Studio`,
|
|
82
|
-
flags: {
|
|
83
|
-
"--help": Boolean,
|
|
84
|
-
"--debug": Boolean,
|
|
85
|
-
"--verbose": Boolean,
|
|
86
|
-
"--local": Boolean
|
|
87
|
-
},
|
|
88
|
-
async run() {
|
|
89
|
-
const { _, ...flags2 } = (0, import_arg.default)(this.flags);
|
|
90
|
-
const { studio } = await import("./studio");
|
|
91
|
-
const options = await (0, import_utils.getOptions)({
|
|
92
|
-
debug: flags2["--debug"] ? flags2["--verbose"] ? "verbose" : true : false
|
|
93
|
-
});
|
|
94
|
-
await studio(options, !flags2["--local"]);
|
|
95
60
|
}
|
|
96
61
|
}
|
|
62
|
+
// build: {
|
|
63
|
+
// shorthands: ['b'],
|
|
64
|
+
// description: `Use to pre-build a Tamagui component directory`,
|
|
65
|
+
// flags: {
|
|
66
|
+
// '--help': Boolean,
|
|
67
|
+
// '--debug': Boolean,
|
|
68
|
+
// '--verbose': Boolean,
|
|
69
|
+
// },
|
|
70
|
+
// async run() {
|
|
71
|
+
// const { _, ...flags } = arg(this.flags)
|
|
72
|
+
// const { build } = await import('./build')
|
|
73
|
+
// const options = await getOptions({
|
|
74
|
+
// debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
75
|
+
// })
|
|
76
|
+
// await build(options)
|
|
77
|
+
// },
|
|
78
|
+
// },
|
|
79
|
+
// update: {
|
|
80
|
+
// shorthands: [],
|
|
81
|
+
// description: `Update all tamagui packages within a monorepo`,
|
|
82
|
+
// flags: {},
|
|
83
|
+
// async run() {
|
|
84
|
+
// const { update } = await import('./update')
|
|
85
|
+
// await update()
|
|
86
|
+
// },
|
|
87
|
+
// },
|
|
88
|
+
// dev: {
|
|
89
|
+
// shorthands: ['d'],
|
|
90
|
+
// description: `Run tamagui vite`,
|
|
91
|
+
// flags: {
|
|
92
|
+
// '--help': Boolean,
|
|
93
|
+
// '--debug': Boolean,
|
|
94
|
+
// '--verbose': Boolean,
|
|
95
|
+
// },
|
|
96
|
+
// async run() {
|
|
97
|
+
// const { _, ...flags } = arg(this.flags)
|
|
98
|
+
// const { dev } = await import('./dev')
|
|
99
|
+
// const options = await getOptions({
|
|
100
|
+
// debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
101
|
+
// })
|
|
102
|
+
// await dev(options)
|
|
103
|
+
// },
|
|
104
|
+
// },
|
|
105
|
+
// studio: {
|
|
106
|
+
// shorthands: ['s'],
|
|
107
|
+
// description: `Studio`,
|
|
108
|
+
// flags: {
|
|
109
|
+
// '--help': Boolean,
|
|
110
|
+
// '--debug': Boolean,
|
|
111
|
+
// '--verbose': Boolean,
|
|
112
|
+
// '--local': Boolean,
|
|
113
|
+
// },
|
|
114
|
+
// async run() {
|
|
115
|
+
// const { _, ...flags } = arg(this.flags)
|
|
116
|
+
// const { studio } = await import('./studio')
|
|
117
|
+
// const options = await getOptions({
|
|
118
|
+
// debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
119
|
+
// })
|
|
120
|
+
// await studio(options, !flags['--local'])
|
|
121
|
+
// },
|
|
122
|
+
// },
|
|
97
123
|
};
|
|
98
124
|
const commandEntries = Object.keys(COMMAND_MAP).flatMap((command2) => {
|
|
99
125
|
const definition2 = COMMAND_MAP[command2];
|
|
@@ -155,8 +181,11 @@ $ tamagui ${command}: ${definition.description}
|
|
|
155
181
|
`);
|
|
156
182
|
process.exit(0);
|
|
157
183
|
}
|
|
158
|
-
|
|
159
|
-
|
|
184
|
+
try {
|
|
185
|
+
await definition.run();
|
|
186
|
+
} catch (err) {
|
|
187
|
+
console.error(`Error running command: ${err.message}`);
|
|
188
|
+
}
|
|
160
189
|
process.exit(0);
|
|
161
190
|
}
|
|
162
191
|
function showHelp(definition2, flags2) {
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/cli.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAAqB;AAGrB,iBAAgB;AAChB,mBAAkB;AAElB,mBAAuC;AAEtC,CAAC,QAAQ,QAAQ,EAAE,QAAQ,CAAC,MAAM;AACjC,UAAQ,GAAG,GAAG,MAAM;AAClB,iCAAW;AACX,YAAQ,KAAK;AAAA,EACf,CAAC;AACH,CAAC;AAED,MAAM,cAAc;AAAA,EAClB,mBAAmB;AAAA,IACjB,YAAY,CAAC,IAAI;AAAA,IACjB,aAAa;AAAA,IACb,OAAO;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AAAA,IACA,MAAM,MAAM;AACV,YAAM,EAAE,GAAG,GAAGA,OAAM,QAAI,WAAAC,SAAI,KAAK,KAAK;AACtC,YAAM,EAAE,eAAe,IAAI,MAAM,OAAO,sBAAsB;AAC9D,YAAM,UAAU,UAAM,yBAAW;AAAA,QAC/B,OAAOD,OAAM,SAAS,IAAKA,OAAM,WAAW,IAAI,YAAY,OAAQ;AAAA,MACtE,CAAC;AACD,YAAM,CAAC,KAAK,QAAQ,OAAO,IAAI;AAC/B,UAAI,CAAC,UAAU,CAAC,SAAS;AACvB,cAAM,IAAI;AAAA,UACR,iEAAiE,oBAAoB;AAAA,QACvF;AAAA,MACF;AACA,YAAM,eAAe;AAAA,QACnB,GAAG;AAAA,QACH,YAAQ,kBAAK,QAAQ,MAAM,MAAM;AAAA,QACjC,aAAS,kBAAK,QAAQ,MAAM,OAAO;AAAA,MACrC,CAAC;AAAA,IACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+DF;AAMA,MAAM,iBAAiB,OAAO,KAAK,WAAW,EAAE,QAAQ,CAACE,aAAY;AACnE,QAAMC,cAAa,YAAYD,QAAqB;AACpD,QAAM,UAAU,CAACA,UAAS,GAAGC,YAAW,UAAU,EAAE,IAAI,CAAC,QAAQ;AAC/D,WAAO,CAAC,KAAKA,WAAU;AAAA,EACzB,CAAC;AACD,SAAO;AACT,CAAC;AAED,MAAM,WAAW,OAAO,YAAY,cAAc;AAKlD,MAAM;AAAA,EACJ,GAAG,CAAC,OAAO;AAAA,EACX,GAAG;AACL,QAAI,WAAAF;AAAA,EACF;AAAA,IACE,UAAU;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,EACd;AACF;AAEA,IAAI,MAAM,WAAW,GAAG;AACtB,UAAQ,IAAI,QAAQ,iBAAiB,EAAE,OAAO;AAC9C,UAAQ,KAAK,CAAC;AAChB;AAEA,IAAI,CAAC,WAAW,MAAM,QAAQ,GAAG;AAC/B,UAAQ,IAAI;AAAA;AAAA;AAAA;AAAA,EAIZ,OAAO,KAAK,WAAW,EACtB,IAAI,CAAC,QAAQ;AACZ,WAAO,KAAK;AAAA,EACd,CAAC,EACA,KAAK,IAAI,GAAG;AACb,UAAQ,KAAK,CAAC;AAChB;AAEA,IAAI,EAAE,WAAW,WAAW;AAC1B,UAAQ,MAAM;AACd,UAAQ,KAAK,aAAAG,QAAM,OAAO,wBAAwB,SAAS,CAAC;AAC5D,UAAQ,KAAK,CAAC;AAChB;AAEA,MAAM,aAAa,SAAS,OAAO;AAEnC,KAAK;AAEL,eAAe,OAAO;AACpB,MAAI,MAAM,QAAQ,GAAG;AACnB,YAAQ,IAAI;AAAA,YAAe,YAAY,WAAW;AAAA,CAAe;AACjE,YAAQ;AAAA,MACN,UAAU,OAAO,QAAQ,WAAW,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO;AAAA,IAC/E;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,EAAE,GAAG,GAAG,SAAS,QAAI,WAAAH,SAAI,WAAW,KAAK;AAG/C,MAAI,SAAS,QAAQ,GAAG;AACtB,YAAQ,IAAI,aAAa;AAAA;AAAA,aAEhB,KAAK,UAAU,UAAU,MAAM,CAAC;AAAA;AAAA,CAE5C;AACG,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI;AACF,UAAM,WAAW,IAAI;AAAA,EACvB,SAAS,KAAP;AACA,YAAQ,MAAM,0BAA0B,IAAI,SAAS;AAAA,EACvD;AAEA,UAAQ,KAAK,CAAC;AAChB;AAEA,SAAS,SAASE,aAA+BH,QAA+B;AAC9E,MAAIA,OAAM,QAAQ,GAAG;AACnB,YAAQ,IAAI,KAAKG,aAAY;AAAA,EAC/B;AACF;",
|
|
5
5
|
"names": ["flags", "arg", "command", "definition", "chalk"]
|
|
6
6
|
}
|
package/dist/cjs/utils.js
CHANGED
|
@@ -50,6 +50,11 @@ async function getOptions({
|
|
|
50
50
|
ensure(await import_fs_extra.default.pathExists(tsConfigFilePath), `No tsconfig found: ${tsConfigFilePath}`);
|
|
51
51
|
const dotDir = (0, import_path.join)(root, ".tamagui");
|
|
52
52
|
const pkgJson = await (0, import_fs_extra.readJSON)((0, import_path.join)(root, "package.json"));
|
|
53
|
+
let config = "";
|
|
54
|
+
try {
|
|
55
|
+
config = await getDefaultTamaguiConfigPath();
|
|
56
|
+
} catch {
|
|
57
|
+
}
|
|
53
58
|
return {
|
|
54
59
|
mode: process.env.NODE_ENV === "production" ? "production" : "development",
|
|
55
60
|
root,
|
|
@@ -59,7 +64,7 @@ async function getOptions({
|
|
|
59
64
|
tsconfigPath,
|
|
60
65
|
tamaguiOptions: {
|
|
61
66
|
components: ["tamagui"],
|
|
62
|
-
config
|
|
67
|
+
config,
|
|
63
68
|
...tamaguiOptions
|
|
64
69
|
},
|
|
65
70
|
paths: {
|
package/dist/cjs/utils.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAqB;AAGrB,oBAAiD;AAEjD,mBAAkB;AAClB,sBAAyC;AAEzC,eAAsB,WAAW;AAAA,EAC/B,OAAO,QAAQ,IAAI;AAAA,EACnB,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,IAA6B,CAAC,GAAgC;AAC5D,QAAM,uBAAmB,kBAAK,MAAM,YAAY;AAChD,SAAO,MAAM,gBAAAA,QAAG,WAAW,gBAAgB,GAAG,sBAAsB,kBAAkB;AACtF,QAAM,aAAS,kBAAK,MAAM,UAAU;AACpC,QAAM,UAAU,UAAM,8BAAS,kBAAK,MAAM,cAAc,CAAC;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAqB;AAGrB,oBAAiD;AAEjD,mBAAkB;AAClB,sBAAyC;AAEzC,eAAsB,WAAW;AAAA,EAC/B,OAAO,QAAQ,IAAI;AAAA,EACnB,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,IAA6B,CAAC,GAAgC;AAC5D,QAAM,uBAAmB,kBAAK,MAAM,YAAY;AAChD,SAAO,MAAM,gBAAAA,QAAG,WAAW,gBAAgB,GAAG,sBAAsB,kBAAkB;AACtF,QAAM,aAAS,kBAAK,MAAM,UAAU;AACpC,QAAM,UAAU,UAAM,8BAAS,kBAAK,MAAM,cAAc,CAAC;AACzD,MAAI,SAAS;AACb,MAAI;AACF,aAAS,MAAM,4BAA4B;AAAA,EAC7C,QAAE;AAAA,EAEF;AAEA,SAAO;AAAA,IACL,MAAM,QAAQ,IAAI,aAAa,eAAe,eAAe;AAAA,IAC7D;AAAA,IACA,MAAM,QAAQ;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,MACd,YAAY,CAAC,SAAS;AAAA,MACtB;AAAA,MACA,GAAG;AAAA,IACL;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA,UAAM,kBAAK,QAAQ,qBAAqB;AAAA,MACxC,WAAO,kBAAK,QAAQ,YAAY;AAAA,IAClC;AAAA,EACF;AACF;AAEO,SAAS,OAAO,WAAoB,SAAiB;AAC1D,MAAI,CAAC,WAAW;AACd,YAAQ,MAAM,aAAAC,QAAM,IAAI,KAAK,QAAQ,GAAG,aAAAA,QAAM,OAAO,GAAG,SAAS,CAAC;AAClE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAEA,MAAM,eAAe,CAAC,yBAAqB,kBAAK,OAAO,mBAAmB,CAAC;AAC3E,IAAI,aAAa;AACjB,eAAe,8BAA8B;AAC3C,MAAI;AAAY,WAAO;AACvB,QAAM,gBAAgB,MAAM,QAAQ,IAAI,aAAa,IAAI,CAAC,aAAS,4BAAW,IAAI,CAAC,CAAC;AACpF,QAAM,WAAW,cAAc,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,QAAM,QAAQ,aAAa,QAAQ;AACnC,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC9C;AACA,eAAa;AACb,SAAO;AACT;AAEA,IAAI,SAAoC;AACjC,MAAM,cAAc,OACzB,SACuC;AACvC,QAAM,SAAS,UAAM,cAAAC,aAAkB;AAAA,IACrC,QAAQ,MAAM,4BAA4B;AAAA,IAC1C,YAAY,CAAC,SAAS;AAAA,IACtB,GAAG;AAAA,EACL,CAAC;AACD,MAAI,QAAQ;AACV,aAAS;AAAA,EACX;AACA,SAAO;AACT;AAEA,MAAM,YAAY,oBAAI,IAAc;AAE7B,SAAS,gBAAgB,IAAgB;AAC9C,YAAU,IAAI,EAAE;AAClB;AAEO,SAAS,aAAa;AAC3B,YAAU,QAAQ,CAAC,OAAO,GAAG,CAAC;AAChC;",
|
|
5
5
|
"names": ["fs", "chalk", "loadTamaguiStatic"]
|
|
6
6
|
}
|
package/dist/esm/build.js
CHANGED
package/dist/esm/build.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/build.ts"],
|
|
4
|
-
"mappings": "AACA,SAAmB,SAAe,eAAe;AAEjD,SAAS,iBAAiB,2BAAwC;AAElE,OAAO,cAAc;AACrB,SAAS,gBAAgB;AAElB,MAAM,QAAQ,OAAO,YAAgC;AAG1D,QAAM,QAAQ,QAAQ,QAAQ;AAC9B,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,qEAAqE;AAAA,EACvF;AACA,QAAM,YAAY,QAAQ,KAAK;AAC/B,QAAM,WAA4B,CAAC;AACnC,QAAM,UAAU,CAAC,KAAK;AAEtB,
|
|
4
|
+
"mappings": "AACA,SAAmB,SAAe,eAAe;AAEjD,SAAS,iBAAiB,2BAAwC;AAElE,OAAO,cAAc;AACrB,SAAS,gBAAgB;AAElB,MAAM,QAAQ,OAAO,YAAgC;AAG1D,QAAM,QAAQ,QAAQ,QAAQ;AAC9B,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,qEAAqE;AAAA,EACvF;AACA,QAAM,YAAY,QAAQ,KAAK;AAC/B,QAAM,WAA4B,CAAC;AACnC,QAAM,UAAU,CAAC,KAAK;AAEtB,QAAM,IAAI,QAAc,CAAC,QAAQ;AAC/B,aAEG,MAAM,WAAW;AAAA;AAAA,IAElB,CAAC,EACA,GAAG,OAAO,CAAC,iBAAiB;AAC3B,YAAM,aAAa,QAAQ,QAAQ,IAAI,GAAG,YAAY;AAEtD,eAAS;AAAA,SACN,YAAY;AACX,gBAAM,QAAQ;AAAA,YACZ,QAAQ,IAAI,OAAO,WAAW;AAC5B,sBAAQ,IAAI,iBAAiB;AAC7B,kBAAI,QAAQ,OAAO;AACjB,wBAAQ,IAAI,aAAa;AAAA,cAC3B;AACA,oBAAM,SAAS,MAAM,SAAS,YAAY,OAAO;AACjD,oBAAM,YAAY,gBAAgB;AAClC,oBAAM,MAAM,MAAM,oBAAoB;AAAA,gBACpC;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,SAAS,QAAQ;AAAA,gBACjB,kBAAkB,QAAQ,SAAS;AAAA,cACrC,CAAC;AAAA,YAGH,CAAC;AAAA,UACH;AAAA,QACF,GAAG;AAAA,MACL;AAAA,IACF,CAAC,EACA,GAAG,SAAS,MAAM;AACjB,UAAI;AAAA,IACN,CAAC;AAAA,EACL,CAAC;AAED,QAAM,QAAQ,IAAI,QAAQ;AAC5B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/cli.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
+
import { join } from "path";
|
|
1
2
|
import arg from "arg";
|
|
2
3
|
import chalk from "chalk";
|
|
3
4
|
import { disposeAll, getOptions } from "./utils";
|
|
4
5
|
["exit", "SIGINT"].forEach((_) => {
|
|
5
6
|
process.on(_, () => {
|
|
6
|
-
process.stdout.write(`bye
|
|
7
|
-
`);
|
|
8
7
|
disposeAll();
|
|
9
8
|
process.exit();
|
|
10
9
|
});
|
|
11
10
|
});
|
|
12
11
|
const COMMAND_MAP = {
|
|
13
|
-
|
|
14
|
-
shorthands: ["
|
|
15
|
-
description: `Use to pre-build
|
|
12
|
+
"generate-themes": {
|
|
13
|
+
shorthands: ["gt"],
|
|
14
|
+
description: `Use to pre-build your themes`,
|
|
16
15
|
flags: {
|
|
17
16
|
"--help": Boolean,
|
|
18
17
|
"--debug": Boolean,
|
|
@@ -20,57 +19,84 @@ const COMMAND_MAP = {
|
|
|
20
19
|
},
|
|
21
20
|
async run() {
|
|
22
21
|
const { _, ...flags2 } = arg(this.flags);
|
|
23
|
-
const {
|
|
22
|
+
const { generateThemes } = await import("./generate-themes.js");
|
|
24
23
|
const options = await getOptions({
|
|
25
24
|
debug: flags2["--debug"] ? flags2["--verbose"] ? "verbose" : true : false
|
|
26
25
|
});
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
dev: {
|
|
40
|
-
shorthands: ["d"],
|
|
41
|
-
description: `Run tamagui vite`,
|
|
42
|
-
flags: {
|
|
43
|
-
"--help": Boolean,
|
|
44
|
-
"--debug": Boolean,
|
|
45
|
-
"--verbose": Boolean
|
|
46
|
-
},
|
|
47
|
-
async run() {
|
|
48
|
-
const { _, ...flags2 } = arg(this.flags);
|
|
49
|
-
const { dev } = await import("./dev");
|
|
50
|
-
const options = await getOptions({
|
|
51
|
-
debug: flags2["--debug"] ? flags2["--verbose"] ? "verbose" : true : false
|
|
26
|
+
const [cmd, inPath, outPath] = _;
|
|
27
|
+
if (!inPath || !outPath) {
|
|
28
|
+
throw new Error(
|
|
29
|
+
`Must supply both input and output paths, missing one (inPath: ${inPath}, outPath: ${outPath})`
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
await generateThemes({
|
|
33
|
+
...options,
|
|
34
|
+
inPath: join(options.root, inPath),
|
|
35
|
+
outPath: join(options.root, outPath)
|
|
52
36
|
});
|
|
53
|
-
await dev(options);
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
studio: {
|
|
57
|
-
shorthands: ["s"],
|
|
58
|
-
description: `Studio`,
|
|
59
|
-
flags: {
|
|
60
|
-
"--help": Boolean,
|
|
61
|
-
"--debug": Boolean,
|
|
62
|
-
"--verbose": Boolean,
|
|
63
|
-
"--local": Boolean
|
|
64
|
-
},
|
|
65
|
-
async run() {
|
|
66
|
-
const { _, ...flags2 } = arg(this.flags);
|
|
67
|
-
const { studio } = await import("./studio");
|
|
68
|
-
const options = await getOptions({
|
|
69
|
-
debug: flags2["--debug"] ? flags2["--verbose"] ? "verbose" : true : false
|
|
70
|
-
});
|
|
71
|
-
await studio(options, !flags2["--local"]);
|
|
72
37
|
}
|
|
73
38
|
}
|
|
39
|
+
// build: {
|
|
40
|
+
// shorthands: ['b'],
|
|
41
|
+
// description: `Use to pre-build a Tamagui component directory`,
|
|
42
|
+
// flags: {
|
|
43
|
+
// '--help': Boolean,
|
|
44
|
+
// '--debug': Boolean,
|
|
45
|
+
// '--verbose': Boolean,
|
|
46
|
+
// },
|
|
47
|
+
// async run() {
|
|
48
|
+
// const { _, ...flags } = arg(this.flags)
|
|
49
|
+
// const { build } = await import('./build')
|
|
50
|
+
// const options = await getOptions({
|
|
51
|
+
// debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
52
|
+
// })
|
|
53
|
+
// await build(options)
|
|
54
|
+
// },
|
|
55
|
+
// },
|
|
56
|
+
// update: {
|
|
57
|
+
// shorthands: [],
|
|
58
|
+
// description: `Update all tamagui packages within a monorepo`,
|
|
59
|
+
// flags: {},
|
|
60
|
+
// async run() {
|
|
61
|
+
// const { update } = await import('./update')
|
|
62
|
+
// await update()
|
|
63
|
+
// },
|
|
64
|
+
// },
|
|
65
|
+
// dev: {
|
|
66
|
+
// shorthands: ['d'],
|
|
67
|
+
// description: `Run tamagui vite`,
|
|
68
|
+
// flags: {
|
|
69
|
+
// '--help': Boolean,
|
|
70
|
+
// '--debug': Boolean,
|
|
71
|
+
// '--verbose': Boolean,
|
|
72
|
+
// },
|
|
73
|
+
// async run() {
|
|
74
|
+
// const { _, ...flags } = arg(this.flags)
|
|
75
|
+
// const { dev } = await import('./dev')
|
|
76
|
+
// const options = await getOptions({
|
|
77
|
+
// debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
78
|
+
// })
|
|
79
|
+
// await dev(options)
|
|
80
|
+
// },
|
|
81
|
+
// },
|
|
82
|
+
// studio: {
|
|
83
|
+
// shorthands: ['s'],
|
|
84
|
+
// description: `Studio`,
|
|
85
|
+
// flags: {
|
|
86
|
+
// '--help': Boolean,
|
|
87
|
+
// '--debug': Boolean,
|
|
88
|
+
// '--verbose': Boolean,
|
|
89
|
+
// '--local': Boolean,
|
|
90
|
+
// },
|
|
91
|
+
// async run() {
|
|
92
|
+
// const { _, ...flags } = arg(this.flags)
|
|
93
|
+
// const { studio } = await import('./studio')
|
|
94
|
+
// const options = await getOptions({
|
|
95
|
+
// debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
96
|
+
// })
|
|
97
|
+
// await studio(options, !flags['--local'])
|
|
98
|
+
// },
|
|
99
|
+
// },
|
|
74
100
|
};
|
|
75
101
|
const commandEntries = Object.keys(COMMAND_MAP).flatMap((command2) => {
|
|
76
102
|
const definition2 = COMMAND_MAP[command2];
|
|
@@ -132,8 +158,11 @@ $ tamagui ${command}: ${definition.description}
|
|
|
132
158
|
`);
|
|
133
159
|
process.exit(0);
|
|
134
160
|
}
|
|
135
|
-
|
|
136
|
-
|
|
161
|
+
try {
|
|
162
|
+
await definition.run();
|
|
163
|
+
} catch (err) {
|
|
164
|
+
console.error(`Error running command: ${err.message}`);
|
|
165
|
+
}
|
|
137
166
|
process.exit(0);
|
|
138
167
|
}
|
|
139
168
|
function showHelp(definition2, flags2) {
|
package/dist/esm/cli.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/cli.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["flags", "command", "definition"]
|
|
6
6
|
}
|
package/dist/esm/utils.js
CHANGED
|
@@ -13,6 +13,11 @@ async function getOptions({
|
|
|
13
13
|
ensure(await fs.pathExists(tsConfigFilePath), `No tsconfig found: ${tsConfigFilePath}`);
|
|
14
14
|
const dotDir = join(root, ".tamagui");
|
|
15
15
|
const pkgJson = await readJSON(join(root, "package.json"));
|
|
16
|
+
let config = "";
|
|
17
|
+
try {
|
|
18
|
+
config = await getDefaultTamaguiConfigPath();
|
|
19
|
+
} catch {
|
|
20
|
+
}
|
|
16
21
|
return {
|
|
17
22
|
mode: process.env.NODE_ENV === "production" ? "production" : "development",
|
|
18
23
|
root,
|
|
@@ -22,7 +27,7 @@ async function getOptions({
|
|
|
22
27
|
tsconfigPath,
|
|
23
28
|
tamaguiOptions: {
|
|
24
29
|
components: ["tamagui"],
|
|
25
|
-
config
|
|
30
|
+
config,
|
|
26
31
|
...tamaguiOptions
|
|
27
32
|
},
|
|
28
33
|
paths: {
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,YAAY;AAGrB,SAAS,eAAe,yBAAyB;AAEjD,OAAO,WAAW;AAClB,OAAO,MAAM,YAAY,gBAAgB;AAEzC,eAAsB,WAAW;AAAA,EAC/B,OAAO,QAAQ,IAAI;AAAA,EACnB,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,IAA6B,CAAC,GAAgC;AAC5D,QAAM,mBAAmB,KAAK,MAAM,YAAY;AAChD,SAAO,MAAM,GAAG,WAAW,gBAAgB,GAAG,sBAAsB,kBAAkB;AACtF,QAAM,SAAS,KAAK,MAAM,UAAU;AACpC,QAAM,UAAU,MAAM,SAAS,KAAK,MAAM,cAAc,CAAC;
|
|
4
|
+
"mappings": "AAAA,SAAS,YAAY;AAGrB,SAAS,eAAe,yBAAyB;AAEjD,OAAO,WAAW;AAClB,OAAO,MAAM,YAAY,gBAAgB;AAEzC,eAAsB,WAAW;AAAA,EAC/B,OAAO,QAAQ,IAAI;AAAA,EACnB,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,IAA6B,CAAC,GAAgC;AAC5D,QAAM,mBAAmB,KAAK,MAAM,YAAY;AAChD,SAAO,MAAM,GAAG,WAAW,gBAAgB,GAAG,sBAAsB,kBAAkB;AACtF,QAAM,SAAS,KAAK,MAAM,UAAU;AACpC,QAAM,UAAU,MAAM,SAAS,KAAK,MAAM,cAAc,CAAC;AACzD,MAAI,SAAS;AACb,MAAI;AACF,aAAS,MAAM,4BAA4B;AAAA,EAC7C,QAAE;AAAA,EAEF;AAEA,SAAO;AAAA,IACL,MAAM,QAAQ,IAAI,aAAa,eAAe,eAAe;AAAA,IAC7D;AAAA,IACA,MAAM,QAAQ;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,MACd,YAAY,CAAC,SAAS;AAAA,MACtB;AAAA,MACA,GAAG;AAAA,IACL;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA,MAAM,KAAK,QAAQ,qBAAqB;AAAA,MACxC,OAAO,KAAK,QAAQ,YAAY;AAAA,IAClC;AAAA,EACF;AACF;AAEO,SAAS,OAAO,WAAoB,SAAiB;AAC1D,MAAI,CAAC,WAAW;AACd,YAAQ,MAAM,MAAM,IAAI,KAAK,QAAQ,GAAG,MAAM,OAAO,GAAG,SAAS,CAAC;AAClE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAEA,MAAM,eAAe,CAAC,qBAAqB,KAAK,OAAO,mBAAmB,CAAC;AAC3E,IAAI,aAAa;AACjB,eAAe,8BAA8B;AAC3C,MAAI;AAAY,WAAO;AACvB,QAAM,gBAAgB,MAAM,QAAQ,IAAI,aAAa,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,CAAC;AACpF,QAAM,WAAW,cAAc,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,QAAM,QAAQ,aAAa,QAAQ;AACnC,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC9C;AACA,eAAa;AACb,SAAO;AACT;AAEA,IAAI,SAAoC;AACjC,MAAM,cAAc,OACzB,SACuC;AACvC,QAAM,SAAS,MAAM,kBAAkB;AAAA,IACrC,QAAQ,MAAM,4BAA4B;AAAA,IAC1C,YAAY,CAAC,SAAS;AAAA,IACtB,GAAG;AAAA,EACL,CAAC;AACD,MAAI,QAAQ;AACV,aAAS;AAAA,EACX;AACA,SAAO;AACT;AAEA,MAAM,YAAY,oBAAI,IAAc;AAE7B,SAAS,gBAAgB,IAAgB;AAC9C,YAAU,IAAI,EAAE;AAClB;AAEO,SAAS,aAAa;AAC3B,YAAU,QAAQ,CAAC,OAAO,GAAG,CAAC;AAChC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.32.0",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"@callstack/repack-debugger-app": "^1.0.0",
|
|
37
37
|
"@fastify/sensible": "^4.1.0",
|
|
38
38
|
"@fastify/static": "^5.0.2",
|
|
39
|
-
"@tamagui/build": "1.
|
|
40
|
-
"@tamagui/static": "1.
|
|
41
|
-
"@tamagui/types": "1.
|
|
42
|
-
"@tamagui/vite-plugin": "1.
|
|
39
|
+
"@tamagui/build": "1.32.0",
|
|
40
|
+
"@tamagui/static": "1.32.0",
|
|
41
|
+
"@tamagui/types": "1.32.0",
|
|
42
|
+
"@tamagui/vite-plugin": "1.32.0",
|
|
43
43
|
"@types/compression": "^1.7.2",
|
|
44
44
|
"@types/morgan": "^1.9.3",
|
|
45
45
|
"@vitejs/plugin-react-swc": "^3.3.0",
|
package/src/build.ts
CHANGED
|
@@ -17,8 +17,6 @@ export const build = async (options: CLIResolvedOptions) => {
|
|
|
17
17
|
const promises: Promise<void>[] = []
|
|
18
18
|
const targets = ['web']
|
|
19
19
|
|
|
20
|
-
console.log('sourceDir', sourceDir, targets)
|
|
21
|
-
|
|
22
20
|
await new Promise<void>((res) => {
|
|
23
21
|
chokidar
|
|
24
22
|
// prevent infinite loop but cause race condition if you just build directly
|
package/src/cli.ts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
+
import { join } from 'path'
|
|
2
|
+
|
|
1
3
|
/* eslint-disable no-console */
|
|
2
|
-
import arg
|
|
4
|
+
import arg from 'arg'
|
|
3
5
|
import chalk from 'chalk'
|
|
4
6
|
|
|
5
7
|
import { disposeAll, getOptions } from './utils'
|
|
6
8
|
|
|
7
9
|
;['exit', 'SIGINT'].forEach((_) => {
|
|
8
10
|
process.on(_, () => {
|
|
9
|
-
process.stdout.write(`bye\n`)
|
|
10
11
|
disposeAll()
|
|
11
12
|
process.exit()
|
|
12
13
|
})
|
|
13
14
|
})
|
|
14
15
|
|
|
15
16
|
const COMMAND_MAP = {
|
|
16
|
-
|
|
17
|
-
shorthands: ['
|
|
18
|
-
description: `Use to pre-build
|
|
17
|
+
'generate-themes': {
|
|
18
|
+
shorthands: ['gt'],
|
|
19
|
+
description: `Use to pre-build your themes`,
|
|
19
20
|
flags: {
|
|
20
21
|
'--help': Boolean,
|
|
21
22
|
'--debug': Boolean,
|
|
@@ -23,60 +24,85 @@ const COMMAND_MAP = {
|
|
|
23
24
|
},
|
|
24
25
|
async run() {
|
|
25
26
|
const { _, ...flags } = arg(this.flags)
|
|
26
|
-
const {
|
|
27
|
+
const { generateThemes } = await import('./generate-themes.js')
|
|
27
28
|
const options = await getOptions({
|
|
28
29
|
debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
29
30
|
})
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
await update()
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
dev: {
|
|
45
|
-
shorthands: ['d'],
|
|
46
|
-
description: `Run tamagui vite`,
|
|
47
|
-
flags: {
|
|
48
|
-
'--help': Boolean,
|
|
49
|
-
'--debug': Boolean,
|
|
50
|
-
'--verbose': Boolean,
|
|
51
|
-
},
|
|
52
|
-
async run() {
|
|
53
|
-
const { _, ...flags } = arg(this.flags)
|
|
54
|
-
const { dev } = await import('./dev')
|
|
55
|
-
const options = await getOptions({
|
|
56
|
-
debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
31
|
+
const [cmd, inPath, outPath] = _
|
|
32
|
+
if (!inPath || !outPath) {
|
|
33
|
+
throw new Error(
|
|
34
|
+
`Must supply both input and output paths, missing one (inPath: ${inPath}, outPath: ${outPath})`
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
await generateThemes({
|
|
38
|
+
...options,
|
|
39
|
+
inPath: join(options.root, inPath),
|
|
40
|
+
outPath: join(options.root, outPath),
|
|
57
41
|
})
|
|
58
|
-
await dev(options)
|
|
59
42
|
},
|
|
60
43
|
},
|
|
61
44
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
45
|
+
// build: {
|
|
46
|
+
// shorthands: ['b'],
|
|
47
|
+
// description: `Use to pre-build a Tamagui component directory`,
|
|
48
|
+
// flags: {
|
|
49
|
+
// '--help': Boolean,
|
|
50
|
+
// '--debug': Boolean,
|
|
51
|
+
// '--verbose': Boolean,
|
|
52
|
+
// },
|
|
53
|
+
// async run() {
|
|
54
|
+
// const { _, ...flags } = arg(this.flags)
|
|
55
|
+
// const { build } = await import('./build')
|
|
56
|
+
// const options = await getOptions({
|
|
57
|
+
// debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
58
|
+
// })
|
|
59
|
+
// await build(options)
|
|
60
|
+
// },
|
|
61
|
+
// },
|
|
62
|
+
// update: {
|
|
63
|
+
// shorthands: [],
|
|
64
|
+
// description: `Update all tamagui packages within a monorepo`,
|
|
65
|
+
// flags: {},
|
|
66
|
+
// async run() {
|
|
67
|
+
// const { update } = await import('./update')
|
|
68
|
+
// await update()
|
|
69
|
+
// },
|
|
70
|
+
// },
|
|
71
|
+
// dev: {
|
|
72
|
+
// shorthands: ['d'],
|
|
73
|
+
// description: `Run tamagui vite`,
|
|
74
|
+
// flags: {
|
|
75
|
+
// '--help': Boolean,
|
|
76
|
+
// '--debug': Boolean,
|
|
77
|
+
// '--verbose': Boolean,
|
|
78
|
+
// },
|
|
79
|
+
// async run() {
|
|
80
|
+
// const { _, ...flags } = arg(this.flags)
|
|
81
|
+
// const { dev } = await import('./dev')
|
|
82
|
+
// const options = await getOptions({
|
|
83
|
+
// debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
84
|
+
// })
|
|
85
|
+
// await dev(options)
|
|
86
|
+
// },
|
|
87
|
+
// },
|
|
88
|
+
// studio: {
|
|
89
|
+
// shorthands: ['s'],
|
|
90
|
+
// description: `Studio`,
|
|
91
|
+
// flags: {
|
|
92
|
+
// '--help': Boolean,
|
|
93
|
+
// '--debug': Boolean,
|
|
94
|
+
// '--verbose': Boolean,
|
|
95
|
+
// '--local': Boolean,
|
|
96
|
+
// },
|
|
97
|
+
// async run() {
|
|
98
|
+
// const { _, ...flags } = arg(this.flags)
|
|
99
|
+
// const { studio } = await import('./studio')
|
|
100
|
+
// const options = await getOptions({
|
|
101
|
+
// debug: flags['--debug'] ? (flags['--verbose'] ? 'verbose' : true) : false,
|
|
102
|
+
// })
|
|
103
|
+
// await studio(options, !flags['--local'])
|
|
104
|
+
// },
|
|
105
|
+
// },
|
|
80
106
|
}
|
|
81
107
|
|
|
82
108
|
type CommandDefinitions = typeof COMMAND_MAP
|
|
@@ -158,8 +184,12 @@ async function main() {
|
|
|
158
184
|
process.exit(0)
|
|
159
185
|
}
|
|
160
186
|
|
|
161
|
-
|
|
162
|
-
|
|
187
|
+
try {
|
|
188
|
+
await definition.run()
|
|
189
|
+
} catch (err: any) {
|
|
190
|
+
console.error(`Error running command: ${err.message}`)
|
|
191
|
+
}
|
|
192
|
+
|
|
163
193
|
process.exit(0)
|
|
164
194
|
}
|
|
165
195
|
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { CLIResolvedOptions } from '@tamagui/types'
|
|
4
|
+
import fs from 'fs-extra'
|
|
5
|
+
|
|
6
|
+
export async function generateThemes(
|
|
7
|
+
options: CLIResolvedOptions & {
|
|
8
|
+
inPath: string
|
|
9
|
+
outPath: string
|
|
10
|
+
}
|
|
11
|
+
) {
|
|
12
|
+
require('esbuild-register/dist/node').register()
|
|
13
|
+
const requiredThemes = require(options.inPath)
|
|
14
|
+
const themes = requiredThemes['default'] || requiredThemes['themes']
|
|
15
|
+
const generatedThemes = generatedThemesToTypescript(themes)
|
|
16
|
+
await fs.writeFile(options.outPath, generatedThemes)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function generatedThemesToTypescript(themes: Record<string, any>) {
|
|
20
|
+
const deduped = new Map<string, Object>()
|
|
21
|
+
const dedupedToNames = new Map<string, string[]>()
|
|
22
|
+
|
|
23
|
+
for (const name in themes) {
|
|
24
|
+
const theme = themes[name]
|
|
25
|
+
const key = JSON.stringify(theme)
|
|
26
|
+
if (deduped.has(key)) {
|
|
27
|
+
dedupedToNames.set(key, [...dedupedToNames.get(key)!, name])
|
|
28
|
+
} else {
|
|
29
|
+
deduped.set(key, theme)
|
|
30
|
+
dedupedToNames.set(key, [name])
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const baseTypeString = `type Theme = {
|
|
35
|
+
${Object.entries(themes.light || themes[Object.keys(themes)[0]])
|
|
36
|
+
.map(([k]) => {
|
|
37
|
+
return ` ${k}: string;\n`
|
|
38
|
+
})
|
|
39
|
+
.join('')}
|
|
40
|
+
}`
|
|
41
|
+
|
|
42
|
+
let themesString = `${baseTypeString}\n`
|
|
43
|
+
|
|
44
|
+
deduped.forEach((theme) => {
|
|
45
|
+
const key = JSON.stringify(theme)
|
|
46
|
+
const [baseName, ...restNames] = dedupedToNames.get(key)!
|
|
47
|
+
const baseTheme = `export const ${baseName} = ${objectToJsString(theme)} as Theme`
|
|
48
|
+
themesString += `\n${baseTheme}`
|
|
49
|
+
|
|
50
|
+
if (restNames.length) {
|
|
51
|
+
const duplicateThemes = restNames.map(
|
|
52
|
+
(name) => `export const ${name} = ${baseName} as Theme`
|
|
53
|
+
)
|
|
54
|
+
themesString += `\n\n` + duplicateThemes.join('\n')
|
|
55
|
+
}
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
return themesString
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function objectToJsString(obj: Object, indent = 4) {
|
|
62
|
+
const whitespace = new Array(indent).fill(' ').join('')
|
|
63
|
+
return `{
|
|
64
|
+
${Object.entries(obj)
|
|
65
|
+
.map(([k, v]) => `${whitespace}${k}: '${v}'`)
|
|
66
|
+
.join(',\n')}
|
|
67
|
+
}`
|
|
68
|
+
}
|
package/src/utils.ts
CHANGED
|
@@ -17,6 +17,12 @@ export async function getOptions({
|
|
|
17
17
|
ensure(await fs.pathExists(tsConfigFilePath), `No tsconfig found: ${tsConfigFilePath}`)
|
|
18
18
|
const dotDir = join(root, '.tamagui')
|
|
19
19
|
const pkgJson = await readJSON(join(root, 'package.json'))
|
|
20
|
+
let config = ''
|
|
21
|
+
try {
|
|
22
|
+
config = await getDefaultTamaguiConfigPath()
|
|
23
|
+
} catch {
|
|
24
|
+
// ok
|
|
25
|
+
}
|
|
20
26
|
|
|
21
27
|
return {
|
|
22
28
|
mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
|
|
@@ -27,7 +33,7 @@ export async function getOptions({
|
|
|
27
33
|
tsconfigPath,
|
|
28
34
|
tamaguiOptions: {
|
|
29
35
|
components: ['tamagui'],
|
|
30
|
-
config
|
|
36
|
+
config,
|
|
31
37
|
...tamaguiOptions,
|
|
32
38
|
},
|
|
33
39
|
paths: {
|
package/types/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAInD,eAAO,MAAM,KAAK,YAAmB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAInD,eAAO,MAAM,KAAK,YAAmB,kBAAkB,kBAkDtD,CAAA"}
|
package/types/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAInE,wBAAsB,UAAU,CAAC,EAC/B,IAAoB,EACpB,YAA8B,EAC9B,cAAc,EACd,IAAI,EACJ,KAAK,GACN,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAInE,wBAAsB,UAAU,CAAC,EAC/B,IAAoB,EACpB,YAA8B,EAC9B,cAAc,EACd,IAAI,EACJ,KAAK,GACN,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8B5D;AAED,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAKzD;AAiBD,eAAO,MAAM,WAAW,SAChB,QAAQ,cAAc,CAAC,KAC5B,QAAQ,kBAAkB,GAAG,IAAI,CAUnC,CAAA;AAID,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI,QAE7C;AAED,wBAAgB,UAAU,SAEzB"}
|