@tamagui/cli 1.100.5 → 1.101.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/add.js CHANGED
@@ -26,33 +26,34 @@ __export(add_exports, {
26
26
  installGeneratedPackage: () => installGeneratedPackage
27
27
  });
28
28
  module.exports = __toCommonJS(add_exports);
29
- var import_child_process = require("child_process"), import_fs = require("fs"), import_promises = require("fs/promises"), import_os = require("os"), import_path = __toESM(require("path")), import_chalk = __toESM(require("chalk")), import_change_case = require("change-case"), import_fs_extra = require("fs-extra"), import_marked = require("marked"), import_marked_terminal = __toESM(require("marked-terminal")), import_opener = __toESM(require("opener")), import_prompts = __toESM(require("prompts"));
29
+ var import_node_child_process = require("node:child_process"), import_node_fs = require("node:fs"), import_promises = require("node:fs/promises"), import_node_os = require("node:os"), import_node_path = __toESM(require("node:path")), import_chalk = __toESM(require("chalk")), import_change_case = require("change-case"), import_fs_extra = __toESM(require("fs-extra")), import_marked = require("marked"), import_marked_terminal = __toESM(require("marked-terminal")), import_opener = __toESM(require("opener")), import_prompts = __toESM(require("prompts"));
30
+ const { copy, ensureDir, readFileSync } = import_fs_extra.default;
30
31
  import_marked.marked.setOptions({
31
32
  headerIds: !1,
32
33
  mangle: !1,
33
34
  renderer: new import_marked_terminal.default()
34
35
  });
35
- const home = (0, import_os.homedir)(), tamaguiDir = import_path.default.join(home, ".tamagui"), generatedPackageTypes = ["font", "icon"], installGeneratedPackage = async (type, packagesPath) => {
36
- if (packagesPath = packagesPath || import_path.default.join(process.cwd(), "packages"), !generatedPackageTypes.includes(type))
36
+ const home = (0, import_node_os.homedir)(), tamaguiDir = import_node_path.default.join(home, ".tamagui"), generatedPackageTypes = ["font", "icon"], installGeneratedPackage = async (type, packagesPath) => {
37
+ if (packagesPath = packagesPath || import_node_path.default.join(process.cwd(), "packages"), !generatedPackageTypes.includes(type))
37
38
  throw new Error(
38
39
  `${type ? `Type "${type}" is Not supported.` : "No type provided."} Supported types: ${generatedPackageTypes.join(", ")}`
39
40
  );
40
41
  const repoName = type === "font" ? "tamagui-google-fonts" : "tamagui-iconify";
41
- console.info(`Setting up ${import_chalk.default.blueBright(tamaguiDir)}...`), await (0, import_fs_extra.ensureDir)(tamaguiDir);
42
- const tempDir = import_path.default.join(tamaguiDir, repoName);
43
- (0, import_fs.existsSync)(tempDir) && (0, import_fs.rmSync)(tempDir, { recursive: !0 });
42
+ console.info(`Setting up ${import_chalk.default.blueBright(tamaguiDir)}...`), await ensureDir(tamaguiDir);
43
+ const tempDir = import_node_path.default.join(tamaguiDir, repoName);
44
+ (0, import_node_fs.existsSync)(tempDir) && (0, import_node_fs.rmSync)(tempDir, { recursive: !0 });
44
45
  try {
45
46
  process.chdir(tamaguiDir);
46
47
  try {
47
- console.info("Attempting to clone with SSH"), (0, import_child_process.execSync)(
48
+ console.info("Attempting to clone with SSH"), (0, import_node_child_process.execSync)(
48
49
  `git clone -n --depth=1 --branch generated --filter=tree:0 git@github.com:tamagui/${repoName}.git`
49
50
  );
50
51
  } catch {
51
- console.info("SSH failed - Attempting to c lone with HTTPS"), (0, import_child_process.execSync)(
52
+ console.info("SSH failed - Attempting to c lone with HTTPS"), (0, import_node_child_process.execSync)(
52
53
  `git clone -n --depth=1 --branch generated --filter=tree:0 https://github.com/tamagui/${repoName}`
53
54
  );
54
55
  }
55
- process.chdir(tempDir), (0, import_child_process.execSync)(["git sparse-checkout set --no-cone meta", "git checkout"].join(" && "));
56
+ process.chdir(tempDir), (0, import_node_child_process.execSync)(["git sparse-checkout set --no-cone meta", "git checkout"].join(" && "));
56
57
  } catch (error) {
57
58
  if (error instanceof Error)
58
59
  throw error?.stderr.includes("Repository not found") && (console.info(
@@ -62,7 +63,7 @@ const home = (0, import_os.homedir)(), tamaguiDir = import_path.default.join(hom
62
63
  ), (0, import_opener.default)("https://tamagui.dev/takeout"), process.exit(0)), error;
63
64
  }
64
65
  const meta = JSON.parse(
65
- await (0, import_promises.readFile)(import_path.default.join(tamaguiDir, repoName, "meta", "data.json")).then(
66
+ await (0, import_promises.readFile)(import_node_path.default.join(tamaguiDir, repoName, "meta", "data.json")).then(
66
67
  (r) => r.toString()
67
68
  )
68
69
  );
@@ -79,15 +80,15 @@ const home = (0, import_os.homedir)(), tamaguiDir = import_path.default.join(hom
79
80
  title: type === "font" ? `${slug}: ${data.weights.length} weights, ${data.styles.length} styles, ${data.subsets.length} subsets (https://fonts.google.com/specimen/${(0, import_change_case.pascalCase)(slug)})` : `${data.name}: ${data.total} icons, ${data.license.title} license (${data.author.url})`,
80
81
  value: slug
81
82
  }))
82
- }), packageName = `${type}-${result.packageName}`, packageDir = import_path.default.join(tempDir, "packages", packageName);
83
- process.chdir(tempDir), (0, import_child_process.execSync)(
83
+ }), packageName = `${type}-${result.packageName}`, packageDir = import_node_path.default.join(tempDir, "packages", packageName);
84
+ process.chdir(tempDir), (0, import_node_child_process.execSync)(
84
85
  [`git sparse-checkout set --no-cone packages/${packageName}`, "git checkout"].join(
85
86
  " && "
86
87
  )
87
88
  );
88
- const finalDir = import_path.default.join(packagesPath, packageName);
89
- await (0, import_fs_extra.ensureDir)(packagesPath), await (0, import_fs_extra.copy)(packageDir, finalDir), console.info(), console.info(import_chalk.default.green(`Created the package under ${finalDir}`)), console.info();
90
- const readmePath = import_path.default.join(finalDir, "README.md");
91
- (0, import_fs.existsSync)(readmePath) && console.info(import_marked.marked.parse((0, import_fs_extra.readFileSync)(readmePath).toString()));
89
+ const finalDir = import_node_path.default.join(packagesPath, packageName);
90
+ await ensureDir(packagesPath), await copy(packageDir, finalDir), console.info(), console.info(import_chalk.default.green(`Created the package under ${finalDir}`)), console.info();
91
+ const readmePath = import_node_path.default.join(finalDir, "README.md");
92
+ (0, import_node_fs.existsSync)(readmePath) && console.info(import_marked.marked.parse(readFileSync(readmePath).toString()));
92
93
  };
93
94
  //# sourceMappingURL=add.js.map
package/dist/add.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/add.ts"],
4
- "mappings": "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",
5
- "names": ["TerminalRenderer", "path", "chalk", "open", "prompts"]
4
+ "mappings": "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",
5
+ "names": ["FSExtra", "TerminalRenderer", "path", "chalk", "open", "prompts"]
6
6
  }
package/dist/add.mjs ADDED
@@ -0,0 +1,64 @@
1
+ import { execSync } from "node:child_process";
2
+ import { existsSync, rmSync } from "node:fs";
3
+ import { readFile } from "node:fs/promises";
4
+ import { homedir } from "node:os";
5
+ import path from "node:path";
6
+ import chalk from "chalk";
7
+ import { pascalCase } from "change-case";
8
+ import FSExtra from "fs-extra";
9
+ import { marked } from "marked";
10
+ import TerminalRenderer from "marked-terminal";
11
+ import open from "opener";
12
+ import prompts from "prompts";
13
+ const {
14
+ copy,
15
+ ensureDir,
16
+ readFileSync
17
+ } = FSExtra;
18
+ marked.setOptions({
19
+ headerIds: !1,
20
+ mangle: !1,
21
+ renderer: new TerminalRenderer()
22
+ });
23
+ const home = homedir(),
24
+ tamaguiDir = path.join(home, ".tamagui"),
25
+ generatedPackageTypes = ["font", "icon"],
26
+ installGeneratedPackage = async (type, packagesPath) => {
27
+ if (packagesPath = packagesPath || path.join(process.cwd(), "packages"), !generatedPackageTypes.includes(type)) throw new Error(`${type ? `Type "${type}" is Not supported.` : "No type provided."} Supported types: ${generatedPackageTypes.join(", ")}`);
28
+ const repoName = type === "font" ? "tamagui-google-fonts" : "tamagui-iconify";
29
+ console.info(`Setting up ${chalk.blueBright(tamaguiDir)}...`), await ensureDir(tamaguiDir);
30
+ const tempDir = path.join(tamaguiDir, repoName);
31
+ existsSync(tempDir) && rmSync(tempDir, {
32
+ recursive: !0
33
+ });
34
+ try {
35
+ process.chdir(tamaguiDir);
36
+ try {
37
+ console.info("Attempting to clone with SSH"), execSync(`git clone -n --depth=1 --branch generated --filter=tree:0 git@github.com:tamagui/${repoName}.git`);
38
+ } catch {
39
+ console.info("SSH failed - Attempting to c lone with HTTPS"), execSync(`git clone -n --depth=1 --branch generated --filter=tree:0 https://github.com/tamagui/${repoName}`);
40
+ }
41
+ process.chdir(tempDir), execSync(["git sparse-checkout set --no-cone meta", "git checkout"].join(" && "));
42
+ } catch (error) {
43
+ if (error instanceof Error) throw error?.stderr.includes("Repository not found") && (console.info(chalk.yellow(`You don't have access to Tamagui ${type === "font" ? "fonts" : "icons"}. Check \u{1F961} Tamagui Takeout (https://tamagui.dev/takeout) for more info.`)), open("https://tamagui.dev/takeout"), process.exit(0)), error;
44
+ }
45
+ const meta = JSON.parse(await readFile(path.join(tamaguiDir, repoName, "meta", "data.json")).then(r => r.toString()));
46
+ console.info(chalk.gray("Use \u21E7/\u21E9 to navigate. Use tab to cycle the result. Use Page Up/Page Down (on Mac: fn + \u21E7 / \u21E9) to change page. Hit enter to select the highlighted item below the prompt."));
47
+ const result = await prompts({
48
+ name: "packageName",
49
+ type: "autocomplete",
50
+ message: type === "icon" ? "Pick an icon pack:" : type === "font" ? "Pick a font:" : "Pick one:",
51
+ choices: Object.entries(meta).map(([slug, data]) => ({
52
+ title: type === "font" ? `${slug}: ${data.weights.length} weights, ${data.styles.length} styles, ${data.subsets.length} subsets (https://fonts.google.com/specimen/${pascalCase(slug)})` : `${data.name}: ${data.total} icons, ${data.license.title} license (${data.author.url})`,
53
+ value: slug
54
+ }))
55
+ }),
56
+ packageName = `${type}-${result.packageName}`,
57
+ packageDir = path.join(tempDir, "packages", packageName);
58
+ process.chdir(tempDir), execSync([`git sparse-checkout set --no-cone packages/${packageName}`, "git checkout"].join(" && "));
59
+ const finalDir = path.join(packagesPath, packageName);
60
+ await ensureDir(packagesPath), await copy(packageDir, finalDir), console.info(), console.info(chalk.green(`Created the package under ${finalDir}`)), console.info();
61
+ const readmePath = path.join(finalDir, "README.md");
62
+ existsSync(readmePath) && console.info(marked.parse(readFileSync(readmePath).toString()));
63
+ };
64
+ export { generatedPackageTypes, installGeneratedPackage };
@@ -27,7 +27,7 @@ __export(add_exports, {
27
27
  installGeneratedPackage: () => installGeneratedPackage
28
28
  });
29
29
  module.exports = __toCommonJS(add_exports);
30
- var import_child_process = require("child_process"), import_fs = require("fs"), import_promises = require("fs/promises"), import_os = require("os"), import_path = __toESM(require("path")), import_chalk = __toESM(require("chalk")), import_change_case = require("change-case"), import_fs_extra = require("fs-extra"), import_marked = require("marked"), import_marked_terminal = __toESM(require("marked-terminal")), import_opener = __toESM(require("opener")), import_prompts = __toESM(require("prompts"));
30
+ var import_node_child_process = require("node:child_process"), import_node_fs = require("node:fs"), import_promises = require("node:fs/promises"), import_node_os = require("node:os"), import_node_path = __toESM(require("node:path")), import_chalk = __toESM(require("chalk")), import_change_case = require("change-case"), import_fs_extra = __toESM(require("fs-extra")), import_marked = require("marked"), import_marked_terminal = __toESM(require("marked-terminal")), import_opener = __toESM(require("opener")), import_prompts = __toESM(require("prompts"));
31
31
  function _array_like_to_array(arr, len) {
32
32
  (len == null || len > arr.length) && (len = arr.length);
33
33
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
@@ -182,12 +182,13 @@ function _ts_generator(thisArg, body) {
182
182
  };
183
183
  }
184
184
  }
185
+ var copy = import_fs_extra.default.copy, ensureDir = import_fs_extra.default.ensureDir, readFileSync = import_fs_extra.default.readFileSync;
185
186
  import_marked.marked.setOptions({
186
187
  headerIds: !1,
187
188
  mangle: !1,
188
189
  renderer: new import_marked_terminal.default()
189
190
  });
190
- var home = (0, import_os.homedir)(), tamaguiDir = import_path.default.join(home, ".tamagui"), generatedPackageTypes = [
191
+ var home = (0, import_node_os.homedir)(), tamaguiDir = import_node_path.default.join(home, ".tamagui"), generatedPackageTypes = [
191
192
  "font",
192
193
  "icon"
193
194
  ], installGeneratedPackage = function() {
@@ -196,24 +197,24 @@ var home = (0, import_os.homedir)(), tamaguiDir = import_path.default.join(home,
196
197
  return _ts_generator(this, function(_state) {
197
198
  switch (_state.label) {
198
199
  case 0:
199
- if (packagesPath = packagesPath || import_path.default.join(process.cwd(), "packages"), !generatedPackageTypes.includes(type))
200
+ if (packagesPath = packagesPath || import_node_path.default.join(process.cwd(), "packages"), !generatedPackageTypes.includes(type))
200
201
  throw new Error("".concat(type ? 'Type "'.concat(type, '" is Not supported.') : "No type provided.", " Supported types: ").concat(generatedPackageTypes.join(", ")));
201
202
  return repoName = type === "font" ? "tamagui-google-fonts" : "tamagui-iconify", console.info("Setting up ".concat(import_chalk.default.blueBright(tamaguiDir), "...")), [
202
203
  4,
203
- (0, import_fs_extra.ensureDir)(tamaguiDir)
204
+ ensureDir(tamaguiDir)
204
205
  ];
205
206
  case 1:
206
- _state.sent(), tempDir = import_path.default.join(tamaguiDir, repoName), (0, import_fs.existsSync)(tempDir) && (0, import_fs.rmSync)(tempDir, {
207
+ _state.sent(), tempDir = import_node_path.default.join(tamaguiDir, repoName), (0, import_node_fs.existsSync)(tempDir) && (0, import_node_fs.rmSync)(tempDir, {
207
208
  recursive: !0
208
209
  });
209
210
  try {
210
211
  process.chdir(tamaguiDir);
211
212
  try {
212
- console.info("Attempting to clone with SSH"), (0, import_child_process.execSync)("git clone -n --depth=1 --branch generated --filter=tree:0 git@github.com:tamagui/".concat(repoName, ".git"));
213
+ console.info("Attempting to clone with SSH"), (0, import_node_child_process.execSync)("git clone -n --depth=1 --branch generated --filter=tree:0 git@github.com:tamagui/".concat(repoName, ".git"));
213
214
  } catch {
214
- console.info("SSH failed - Attempting to c lone with HTTPS"), (0, import_child_process.execSync)("git clone -n --depth=1 --branch generated --filter=tree:0 https://github.com/tamagui/".concat(repoName));
215
+ console.info("SSH failed - Attempting to c lone with HTTPS"), (0, import_node_child_process.execSync)("git clone -n --depth=1 --branch generated --filter=tree:0 https://github.com/tamagui/".concat(repoName));
215
216
  }
216
- process.chdir(tempDir), (0, import_child_process.execSync)([
217
+ process.chdir(tempDir), (0, import_node_child_process.execSync)([
217
218
  "git sparse-checkout set --no-cone meta",
218
219
  "git checkout"
219
220
  ].join(" && "));
@@ -223,7 +224,7 @@ var home = (0, import_os.homedir)(), tamaguiDir = import_path.default.join(home,
223
224
  }
224
225
  return _ = JSON.parse, [
225
226
  4,
226
- (0, import_promises.readFile)(import_path.default.join(tamaguiDir, repoName, "meta", "data.json")).then(function(r) {
227
+ (0, import_promises.readFile)(import_node_path.default.join(tamaguiDir, repoName, "meta", "data.json")).then(function(r) {
227
228
  return r.toString();
228
229
  })
229
230
  ];
@@ -246,20 +247,20 @@ var home = (0, import_os.homedir)(), tamaguiDir = import_path.default.join(home,
246
247
  })
247
248
  ];
248
249
  case 3:
249
- return result = _state.sent(), packageName = "".concat(type, "-").concat(result.packageName), packageDir = import_path.default.join(tempDir, "packages", packageName), process.chdir(tempDir), (0, import_child_process.execSync)([
250
+ return result = _state.sent(), packageName = "".concat(type, "-").concat(result.packageName), packageDir = import_node_path.default.join(tempDir, "packages", packageName), process.chdir(tempDir), (0, import_node_child_process.execSync)([
250
251
  "git sparse-checkout set --no-cone packages/".concat(packageName),
251
252
  "git checkout"
252
- ].join(" && ")), finalDir = import_path.default.join(packagesPath, packageName), [
253
+ ].join(" && ")), finalDir = import_node_path.default.join(packagesPath, packageName), [
253
254
  4,
254
- (0, import_fs_extra.ensureDir)(packagesPath)
255
+ ensureDir(packagesPath)
255
256
  ];
256
257
  case 4:
257
258
  return _state.sent(), [
258
259
  4,
259
- (0, import_fs_extra.copy)(packageDir, finalDir)
260
+ copy(packageDir, finalDir)
260
261
  ];
261
262
  case 5:
262
- return _state.sent(), console.info(), console.info(import_chalk.default.green("Created the package under ".concat(finalDir))), console.info(), readmePath = import_path.default.join(finalDir, "README.md"), (0, import_fs.existsSync)(readmePath) && console.info(import_marked.marked.parse((0, import_fs_extra.readFileSync)(readmePath).toString())), [
263
+ return _state.sent(), console.info(), console.info(import_chalk.default.green("Created the package under ".concat(finalDir))), console.info(), readmePath = import_node_path.default.join(finalDir, "README.md"), (0, import_node_fs.existsSync)(readmePath) && console.info(import_marked.marked.parse(readFileSync(readmePath).toString())), [
263
264
  2
264
265
  ];
265
266
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/Users/n8/tamagui/packages/cli/src/add.ts"],
4
- "mappings": "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",
5
- "names": ["marked", "setOptions", "headerIds", "mangle", "renderer", "TerminalRenderer", "home", "homedir", "tamaguiDir", "path", "join", "generatedPackageTypes", "installGeneratedPackage", "type", "packagesPath", "repoName", "tempDir", "meta", "result", "packageName", "packageDir", "finalDir", "readmePath", "process", "cwd", "includes", "Error", "console", "info", "chalk", "blueBright", "ensureDir", "existsSync", "rmSync", "recursive", "chdir", "execSync", "error", "stderr", "yellow", "open", "exit", "JSON", "parse", "readFile", "then", "r", "toString", "gray", "prompts", "name", "message", "choices", "Object", "entries", "map", "slug", "data", "title", "weights", "length", "styles", "pascalCase", "subsets", "total", "license", "author", "url", "value", "copy", "green", "readFileSync"]
4
+ "mappings": "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",
5
+ "names": ["copy", "FSExtra", "ensureDir", "readFileSync", "marked", "setOptions", "headerIds", "mangle", "renderer", "TerminalRenderer", "home", "homedir", "tamaguiDir", "path", "join", "generatedPackageTypes", "installGeneratedPackage", "type", "packagesPath", "repoName", "tempDir", "meta", "result", "packageName", "packageDir", "finalDir", "readmePath", "process", "cwd", "includes", "Error", "console", "info", "chalk", "blueBright", "existsSync", "rmSync", "recursive", "chdir", "execSync", "error", "stderr", "yellow", "open", "exit", "JSON", "parse", "readFile", "then", "r", "toString", "gray", "prompts", "name", "message", "choices", "Object", "entries", "map", "slug", "data", "title", "weights", "length", "styles", "pascalCase", "subsets", "total", "license", "author", "url", "value", "green"]
6
6
  }
package/dist/build.js CHANGED
@@ -25,31 +25,46 @@ __export(build_exports, {
25
25
  build: () => build
26
26
  });
27
27
  module.exports = __toCommonJS(build_exports);
28
- var import_path = require("path"), import_static = require("@tamagui/static"), import_chokidar = __toESM(require("chokidar")), import_fs_extra = require("fs-extra");
28
+ var import_node_path = require("node:path"), import_static = require("@tamagui/static"), import_chokidar = __toESM(require("chokidar")), import_fs_extra = require("fs-extra"), import_micromatch = __toESM(require("micromatch"));
29
29
  const build = async (options) => {
30
- const entry = options.pkgJson.source;
31
- if (!entry)
32
- throw new Error('Must add "source" to package.json pointing to your source directory');
33
- const sourceDir = (0, import_path.dirname)(entry), promises = [], targets = ["web"];
34
- await new Promise((res) => {
35
- import_chokidar.default.watch(sourceDir, {
30
+ const sourceDir = options.dir ?? ".", promises = [], buildOptions = (0, import_static.loadTamaguiBuildConfigSync)(options.tamaguiOptions), platform = options.target ?? "web";
31
+ process.env.TAMAGUI_TARGET = platform;
32
+ const tamaguiOptions = {
33
+ ...buildOptions,
34
+ platform
35
+ };
36
+ await (0, import_static.loadTamagui)(tamaguiOptions), await new Promise((res) => {
37
+ import_chokidar.default.watch(`${sourceDir}/**/*.tsx`, {
36
38
  // persistent: true,
37
39
  }).on("add", (relativePath) => {
38
- const sourcePath = (0, import_path.resolve)(process.cwd(), relativePath);
39
- promises.push(
40
+ if (options.exclude && import_micromatch.default.contains(relativePath, options.exclude) || options.include && !import_micromatch.default.contains(relativePath, options.include))
41
+ return;
42
+ const sourcePath = (0, import_node_path.resolve)(process.cwd(), relativePath);
43
+ console.info(` [tamagui] optimizing ${sourcePath}`), promises.push(
40
44
  (async () => {
41
- await Promise.all(
42
- targets.map(async (target) => {
43
- process.env.TAMAGUI_TARGET = target, options.debug && (process.env.NODE_ENV ||= "development");
44
- const source = await (0, import_fs_extra.readFile)(sourcePath, "utf-8"), extractor = (0, import_static.createExtractor)(), out = await (0, import_static.extractToClassNames)({
45
- extractor,
46
- source,
47
- sourcePath,
48
- options: options.tamaguiOptions,
49
- shouldPrintDebug: options.debug || !1
50
- });
51
- })
52
- );
45
+ options.debug && (process.env.NODE_ENV ||= "development");
46
+ const source = await (0, import_fs_extra.readFile)(sourcePath, "utf-8");
47
+ if (platform === "web") {
48
+ const extractor = (0, import_static.createExtractor)({
49
+ platform
50
+ }), out2 = await (0, import_static.extractToClassNames)({
51
+ extractor,
52
+ source,
53
+ sourcePath,
54
+ options: buildOptions,
55
+ shouldPrintDebug: options.debug || !1
56
+ });
57
+ if (!out2)
58
+ return;
59
+ const cssName = "_" + (0, import_node_path.basename)(sourcePath, (0, import_node_path.extname)(sourcePath)), stylePath = (0, import_node_path.join)((0, import_node_path.dirname)(sourcePath), cssName + ".css"), code = `import "./${cssName}.css"
60
+ ${out2.js}`;
61
+ await Promise.all([
62
+ (0, import_fs_extra.writeFile)(sourcePath, code, "utf-8"),
63
+ (0, import_fs_extra.writeFile)(stylePath, out2.styles, "utf-8")
64
+ ]);
65
+ }
66
+ const out = (0, import_static.extractToNative)(sourcePath, source, tamaguiOptions);
67
+ await (0, import_fs_extra.writeFile)(sourcePath, out.code, "utf-8");
53
68
  })()
54
69
  );
55
70
  }).on("ready", () => {
package/dist/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;AAAA,kBAAiC,iBAEjC,gBAAqD,4BAErD,kBAAqB,8BACrB,kBAAyB;AAElB,MAAM,QAAQ,OAAO,YAAgC;AAG1D,QAAM,QAAQ,QAAQ,QAAQ;AAC9B,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,qEAAqE;AAEvF,QAAM,gBAAY,qBAAQ,KAAK,GACzB,WAA4B,CAAC,GAC7B,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;AAC5B,sBAAQ,IAAI,iBAAiB,QACzB,QAAQ,UACV,QAAQ,IAAI,aAAa;AAE3B,oBAAM,SAAS,UAAM,0BAAS,YAAY,OAAO,GAC3C,gBAAY,+BAAgB,GAC5B,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,GAED,MAAM,QAAQ,IAAI,QAAQ;AAC5B;",
5
- "names": ["chokidar"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0D,sBAC1D,gBAMO,4BAEP,kBAAqB,8BACrB,kBAAoC,qBACpC,oBAAuB;AAEhB,MAAM,QAAQ,OACnB,YAMG;AACH,QAAM,YAAY,QAAQ,OAAO,KAC3B,WAA4B,CAAC,GAE7B,mBAAe,0CAA2B,QAAQ,cAAc,GAChE,WAAW,QAAQ,UAAU;AACnC,UAAQ,IAAI,iBAAiB;AAE7B,QAAM,iBAAiB;AAAA,IACrB,GAAG;AAAA,IACH;AAAA,EACF;AAGA,YAAM,2BAAY,cAAc,GAEhC,MAAM,IAAI,QAAc,CAAC,QAAQ;AAC/B,oBAAAA,QAEG,MAAM,GAAG,SAAS,aAAa;AAAA;AAAA,IAEhC,CAAC,EACA,GAAG,OAAO,CAAC,iBAAiB;AAM3B,UALI,QAAQ,WACN,kBAAAC,QAAW,SAAS,cAAc,QAAQ,OAAO,KAInD,QAAQ,WACN,CAAC,kBAAAA,QAAW,SAAS,cAAc,QAAQ,OAAO;AACpD;AAIJ,YAAM,iBAAa,0BAAQ,QAAQ,IAAI,GAAG,YAAY;AACtD,cAAQ,KAAK,yBAAyB,UAAU,EAAE,GAElD,SAAS;AAAA,SACN,YAAY;AACX,UAAI,QAAQ,UACV,QAAQ,IAAI,aAAa;AAE3B,gBAAM,SAAS,UAAM,0BAAS,YAAY,OAAO;AAEjD,cAAI,aAAa,OAAO;AACtB,kBAAM,gBAAY,+BAAgB;AAAA,cAChC;AAAA,YACF,CAAC,GAEKC,OAAM,UAAM,mCAAoB;AAAA,cACpC;AAAA,cACA;AAAA,cACA;AAAA,cACA,SAAS;AAAA,cACT,kBAAkB,QAAQ,SAAS;AAAA,YACrC,CAAC;AAED,gBAAI,CAACA;AACH;AAGF,kBAAM,UAAU,UAAM,2BAAS,gBAAY,0BAAQ,UAAU,CAAC,GACxD,gBAAY,2BAAK,0BAAQ,UAAU,GAAG,UAAU,MAAM,GACtD,OAAO,aAAa,OAAO;AAAA,EAAUA,KAAI,EAAE;AAEjD,kBAAM,QAAQ,IAAI;AAAA,kBAChB,2BAAU,YAAY,MAAM,OAAO;AAAA,kBACnC,2BAAU,WAAWA,KAAI,QAAQ,OAAO;AAAA,YAC1C,CAAC;AAAA,UACH;AAGA,gBAAM,UAAM,+BAAgB,YAAY,QAAQ,cAAc;AAC9D,oBAAM,2BAAU,YAAY,IAAI,MAAM,OAAO;AAAA,QAC/C,GAAG;AAAA,MACL;AAAA,IACF,CAAC,EACA,GAAG,SAAS,MAAM;AACjB,UAAI;AAAA,IACN,CAAC;AAAA,EACL,CAAC,GAED,MAAM,QAAQ,IAAI,QAAQ;AAC5B;",
5
+ "names": ["chokidar", "MicroMatch", "out"]
6
6
  }
package/dist/build.mjs ADDED
@@ -0,0 +1,37 @@
1
+ import { resolve } from "node:path";
2
+ import { createExtractor, extractToClassNames, loadTamaguiBuildConfigSync } from "@tamagui/static";
3
+ import chokidar from "chokidar";
4
+ import { readFile } from "fs-extra";
5
+ import MicroMatch from "micromatch";
6
+ const build = async options => {
7
+ const sourceDir = options.dir ?? ".",
8
+ promises = [],
9
+ targets = ["web"],
10
+ buildOptions = loadTamaguiBuildConfigSync(options.tamaguiOptions);
11
+ await new Promise(res => {
12
+ chokidar.watch(sourceDir, {
13
+ // persistent: true,
14
+ }).on("add", relativePath => {
15
+ if (options.exclude && MicroMatch.contains(relativePath, options.exclude) || options.include && !MicroMatch.contains(relativePath, options.include)) return;
16
+ const sourcePath = resolve(process.cwd(), relativePath);
17
+ promises.push((async () => {
18
+ await Promise.all(targets.map(async target => {
19
+ process.env.TAMAGUI_TARGET = target, options.debug && (process.env.NODE_ENV ||= "development");
20
+ const source = await readFile(sourcePath, "utf-8"),
21
+ extractor = createExtractor(),
22
+ out = await extractToClassNames({
23
+ extractor,
24
+ source,
25
+ sourcePath,
26
+ options: buildOptions,
27
+ shouldPrintDebug: options.debug || !1
28
+ });
29
+ console.log("go", out);
30
+ }));
31
+ })());
32
+ }).on("ready", () => {
33
+ res();
34
+ });
35
+ }), await Promise.all(promises);
36
+ };
37
+ export { build };
@@ -26,7 +26,7 @@ __export(build_exports, {
26
26
  build: () => build
27
27
  });
28
28
  module.exports = __toCommonJS(build_exports);
29
- var import_path = require("path"), import_static = require("@tamagui/static"), import_chokidar = __toESM(require("chokidar")), import_fs_extra = require("fs-extra");
29
+ var import_node_path = require("node:path"), import_static = require("@tamagui/static"), import_chokidar = __toESM(require("chokidar")), import_fs_extra = require("fs-extra"), import_micromatch = __toESM(require("micromatch"));
30
30
  function asyncGeneratorStep(gen, resolve2, reject, _next, _throw, key, arg) {
31
31
  try {
32
32
  var info = gen[key](arg), value = info.value;
@@ -51,6 +51,40 @@ function _async_to_generator(fn) {
51
51
  });
52
52
  };
53
53
  }
54
+ function _define_property(obj, key, value) {
55
+ return key in obj ? Object.defineProperty(obj, key, {
56
+ value,
57
+ enumerable: !0,
58
+ configurable: !0,
59
+ writable: !0
60
+ }) : obj[key] = value, obj;
61
+ }
62
+ function _object_spread(target) {
63
+ for (var i = 1; i < arguments.length; i++) {
64
+ var source = arguments[i] != null ? arguments[i] : {}, ownKeys2 = Object.keys(source);
65
+ typeof Object.getOwnPropertySymbols == "function" && (ownKeys2 = ownKeys2.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
66
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
67
+ }))), ownKeys2.forEach(function(key) {
68
+ _define_property(target, key, source[key]);
69
+ });
70
+ }
71
+ return target;
72
+ }
73
+ function ownKeys(object, enumerableOnly) {
74
+ var keys = Object.keys(object);
75
+ if (Object.getOwnPropertySymbols) {
76
+ var symbols = Object.getOwnPropertySymbols(object);
77
+ enumerableOnly && (symbols = symbols.filter(function(sym) {
78
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
79
+ })), keys.push.apply(keys, symbols);
80
+ }
81
+ return keys;
82
+ }
83
+ function _object_spread_props(target, source) {
84
+ return source = source ?? {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
85
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
86
+ }), target;
87
+ }
54
88
  function _ts_generator(thisArg, body) {
55
89
  var f, y, t, g, _ = {
56
90
  label: 0,
@@ -139,76 +173,85 @@ function _ts_generator(thisArg, body) {
139
173
  }
140
174
  var build = function() {
141
175
  var _ref = _async_to_generator(function(options) {
142
- var entry, sourceDir, promises, targets;
176
+ var _options_dir, sourceDir, promises, buildOptions, _options_target, platform, tamaguiOptions;
143
177
  return _ts_generator(this, function(_state) {
144
178
  switch (_state.label) {
145
179
  case 0:
146
- if (entry = options.pkgJson.source, !entry)
147
- throw new Error('Must add "source" to package.json pointing to your source directory');
148
- return sourceDir = (0, import_path.dirname)(entry), promises = [], targets = [
149
- "web"
150
- ], [
180
+ return sourceDir = (_options_dir = options.dir) !== null && _options_dir !== void 0 ? _options_dir : ".", promises = [], buildOptions = (0, import_static.loadTamaguiBuildConfigSync)(options.tamaguiOptions), platform = (_options_target = options.target) !== null && _options_target !== void 0 ? _options_target : "web", process.env.TAMAGUI_TARGET = platform, tamaguiOptions = _object_spread_props(_object_spread({}, buildOptions), {
181
+ platform
182
+ }), [
183
+ 4,
184
+ (0, import_static.loadTamagui)(tamaguiOptions)
185
+ ];
186
+ case 1:
187
+ return _state.sent(), [
151
188
  4,
152
189
  new Promise(function(res) {
153
- import_chokidar.default.watch(sourceDir, {}).on("add", function(relativePath) {
154
- var sourcePath = (0, import_path.resolve)(process.cwd(), relativePath);
155
- promises.push(_async_to_generator(function() {
156
- return _ts_generator(this, function(_state2) {
157
- switch (_state2.label) {
158
- case 0:
159
- return [
160
- 4,
161
- Promise.all(targets.map(function() {
162
- var _ref2 = _async_to_generator(function(target) {
163
- var _process_env, source, extractor, out;
164
- return _ts_generator(this, function(_state3) {
165
- switch (_state3.label) {
166
- case 0:
167
- return process.env.TAMAGUI_TARGET = target, options.debug && ((_process_env = process.env).NODE_ENV || (_process_env.NODE_ENV = "development")), [
168
- 4,
169
- (0, import_fs_extra.readFile)(sourcePath, "utf-8")
170
- ];
171
- case 1:
172
- return source = _state3.sent(), extractor = (0, import_static.createExtractor)(), [
173
- 4,
174
- (0, import_static.extractToClassNames)({
175
- extractor,
176
- source,
177
- sourcePath,
178
- options: options.tamaguiOptions,
179
- shouldPrintDebug: options.debug || !1
180
- })
181
- ];
182
- case 2:
183
- return out = _state3.sent(), [
184
- 2
185
- ];
186
- }
187
- });
188
- });
189
- return function(target) {
190
- return _ref2.apply(this, arguments);
191
- };
192
- }()))
193
- ];
194
- case 1:
195
- return _state2.sent(), [
196
- 2
197
- ];
198
- }
199
- });
200
- })());
190
+ import_chokidar.default.watch("".concat(sourceDir, "/**/*.tsx"), {}).on("add", function(relativePath) {
191
+ if (!(options.exclude && import_micromatch.default.contains(relativePath, options.exclude)) && !(options.include && !import_micromatch.default.contains(relativePath, options.include))) {
192
+ var sourcePath = (0, import_node_path.resolve)(process.cwd(), relativePath);
193
+ console.info(" [tamagui] optimizing ".concat(sourcePath)), promises.push(_async_to_generator(function() {
194
+ var _process_env, source, extractor, out, cssName, stylePath, code, out1;
195
+ return _ts_generator(this, function(_state2) {
196
+ switch (_state2.label) {
197
+ case 0:
198
+ return options.debug && ((_process_env = process.env).NODE_ENV || (_process_env.NODE_ENV = "development")), [
199
+ 4,
200
+ (0, import_fs_extra.readFile)(sourcePath, "utf-8")
201
+ ];
202
+ case 1:
203
+ return source = _state2.sent(), platform !== "web" ? [
204
+ 3,
205
+ 4
206
+ ] : (extractor = (0, import_static.createExtractor)({
207
+ platform
208
+ }), [
209
+ 4,
210
+ (0, import_static.extractToClassNames)({
211
+ extractor,
212
+ source,
213
+ sourcePath,
214
+ options: buildOptions,
215
+ shouldPrintDebug: options.debug || !1
216
+ })
217
+ ]);
218
+ case 2:
219
+ return out = _state2.sent(), out ? (cssName = "_" + (0, import_node_path.basename)(sourcePath, (0, import_node_path.extname)(sourcePath)), stylePath = (0, import_node_path.join)((0, import_node_path.dirname)(sourcePath), cssName + ".css"), code = 'import "./'.concat(cssName, `.css"
220
+ `).concat(out.js), [
221
+ 4,
222
+ Promise.all([
223
+ (0, import_fs_extra.writeFile)(sourcePath, code, "utf-8"),
224
+ (0, import_fs_extra.writeFile)(stylePath, out.styles, "utf-8")
225
+ ])
226
+ ]) : [
227
+ 2
228
+ ];
229
+ case 3:
230
+ _state2.sent(), _state2.label = 4;
231
+ case 4:
232
+ return out1 = (0, import_static.extractToNative)(sourcePath, source, tamaguiOptions), [
233
+ 4,
234
+ (0, import_fs_extra.writeFile)(sourcePath, out1.code, "utf-8")
235
+ ];
236
+ case 5:
237
+ return _state2.sent(), [
238
+ 2
239
+ ];
240
+ }
241
+ });
242
+ })());
243
+ }
201
244
  }).on("ready", function() {
202
245
  res();
203
246
  });
204
247
  })
205
248
  ];
206
- case 1:
249
+ case 2:
207
250
  return _state.sent(), [
208
251
  4,
209
252
  Promise.all(promises)
210
253
  ];
211
- case 2:
254
+ case 3:
212
255
  return _state.sent(), [
213
256
  2
214
257
  ];