@tamagui/cli 1.141.5 → 1.143.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.
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf,
8
+ __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: !0
13
+ });
14
+ },
15
+ __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: !0
30
+ }) : target, mod)),
31
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: !0
33
+ }), mod);
34
+ var utils_exports = {};
35
+ __export(utils_exports, {
36
+ disposeAll: () => disposeAll,
37
+ ensure: () => ensure,
38
+ getOptions: () => getOptions,
39
+ loadTamagui: () => loadTamagui,
40
+ registerDispose: () => registerDispose
41
+ });
42
+ module.exports = __toCommonJS(utils_exports);
43
+ var import_static = require("@tamagui/static"),
44
+ import_chalk = __toESM(require("chalk")),
45
+ import_fs_extra = require("fs-extra"),
46
+ import_path = require("path");
47
+ async function getOptions() {
48
+ var {
49
+ root = process.cwd(),
50
+ tsconfigPath = "tsconfig.json",
51
+ tamaguiOptions,
52
+ host,
53
+ debug,
54
+ loadTamaguiOptions
55
+ } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},
56
+ dotDir = (0, import_path.join)(root, ".tamagui"),
57
+ pkgJson = {},
58
+ config = "";
59
+ try {
60
+ config = await getDefaultTamaguiConfigPath(), pkgJson = await (0, import_fs_extra.readJSON)((0, import_path.join)(root, "package.json"));
61
+ } catch {}
62
+ var filledOptions = {
63
+ platform: "native",
64
+ components: ["tamagui"],
65
+ config,
66
+ ...tamaguiOptions
67
+ },
68
+ finalOptions = loadTamaguiOptions ? (0, import_static.loadTamaguiBuildConfigSync)(filledOptions) : filledOptions;
69
+ return {
70
+ mode: process.env.NODE_ENV === "production" ? "production" : "development",
71
+ root,
72
+ host: host || "127.0.0.1",
73
+ pkgJson,
74
+ debug,
75
+ tsconfigPath,
76
+ tamaguiOptions: finalOptions,
77
+ paths: {
78
+ root,
79
+ dotDir,
80
+ conf: (0, import_path.join)(dotDir, "tamagui.config.json"),
81
+ types: (0, import_path.join)(dotDir, "types.json")
82
+ }
83
+ };
84
+ }
85
+ function ensure(condition, message) {
86
+ condition || (console.error(import_chalk.default.red.bold("Error:"), import_chalk.default.yellow(`${message}`)), process.exit(1));
87
+ }
88
+ var defaultPaths = ["tamagui.config.ts", (0, import_path.join)("src", "tamagui.config.ts")],
89
+ cachedPath = "";
90
+ async function getDefaultTamaguiConfigPath() {
91
+ if (cachedPath) return cachedPath;
92
+ var existingPaths = await Promise.all(defaultPaths.map(function (path) {
93
+ return (0, import_fs_extra.pathExists)(path);
94
+ })),
95
+ existing = existingPaths.findIndex(function (x) {
96
+ return !!x;
97
+ }),
98
+ found = defaultPaths[existing];
99
+ if (!found) throw new Error("No found tamagui.config.ts");
100
+ return cachedPath = found, found;
101
+ }
102
+ var loadTamagui = async function (opts) {
103
+ var _opts_config,
104
+ loaded = await (0, import_static.loadTamagui)({
105
+ components: ["tamagui"],
106
+ ...opts,
107
+ config: (_opts_config = opts.config) !== null && _opts_config !== void 0 ? _opts_config : await getDefaultTamaguiConfigPath()
108
+ });
109
+ return loaded;
110
+ },
111
+ disposers = /* @__PURE__ */new Set();
112
+ function registerDispose(cb) {
113
+ disposers.add(cb);
114
+ }
115
+ function disposeAll() {
116
+ disposers.forEach(function (cb) {
117
+ return cb();
118
+ });
119
+ }
120
+ //# sourceMappingURL=utils.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","utils_exports","__export","disposeAll","ensure","getOptions","loadTamagui","registerDispose","module","exports","import_static","require","import_chalk","__toESM","import_fs_extra","import_path","root","process","cwd","tsconfigPath","tamaguiOptions","host","debug","loadTamaguiOptions","arguments","length","dotDir","join","pkgJson","config","getDefaultTamaguiConfigPath","readJSON","filledOptions","platform","components","finalOptions","loadTamaguiBuildConfigSync","mode","env","NODE_ENV","paths","conf","types","condition","message","console","error","default","red","bold","yellow","exit","defaultPaths","cachedPath","existingPaths","Promise","all","map","path","pathExists","existing","findIndex","x","found","Error","opts","_opts_config","loaded","disposers","Set"],"sources":["../src/utils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/cli",
3
- "version": "1.141.5",
3
+ "version": "1.143.0",
4
4
  "sideEffects": false,
5
5
  "source": "src/index.ts",
6
6
  "types": "./types/index.d.ts",
@@ -21,14 +21,15 @@
21
21
  "build": "tamagui-build --skip-native",
22
22
  "watch": "yarn build --skip-native --watch",
23
23
  "clean": "tamagui-build clean",
24
- "clean:build": "tamagui-build clean:build"
24
+ "clean:build": "tamagui-build clean:build",
25
+ "test": "vitest run"
25
26
  },
26
27
  "dependencies": {
27
- "@tamagui/create-theme": "1.141.5",
28
- "@tamagui/generate-themes": "1.141.5",
29
- "@tamagui/static": "1.141.5",
30
- "@tamagui/types": "1.141.5",
31
- "@tamagui/vite-plugin": "1.141.5",
28
+ "@tamagui/create-theme": "1.143.0",
29
+ "@tamagui/generate-themes": "1.143.0",
30
+ "@tamagui/static": "1.143.0",
31
+ "@tamagui/types": "1.143.0",
32
+ "@tamagui/vite-plugin": "1.143.0",
32
33
  "arg": "^5.0.2",
33
34
  "chalk": "^4.1.2",
34
35
  "change-case": "^4.1.2",
@@ -47,8 +48,9 @@
47
48
  "url": "^0.11.0"
48
49
  },
49
50
  "devDependencies": {
50
- "@tamagui/build": "1.141.5",
51
+ "@tamagui/build": "1.143.0",
51
52
  "@types/chokidar": "^2.1.3",
52
- "@types/marked": "^5.0.0"
53
+ "@types/marked": "^5.0.0",
54
+ "vitest": "^4.0.4"
53
55
  }
54
56
  }
package/src/build.ts CHANGED
@@ -33,6 +33,23 @@ export type BuildResult = {
33
33
  trackedFiles: TrackedFile[]
34
34
  }
35
35
 
36
+ /**
37
+ * Inserts a CSS import statement into JS code, placing it after any
38
+ * 'use client' or 'use server' directives at the top of the file.
39
+ */
40
+ export function insertCssImport(jsContent: string, cssImport: string): string {
41
+ // Match 'use client' or 'use server' directives at the start of the file
42
+ // Only consume one optional semicolon and one optional newline to preserve formatting
43
+ const directiveMatch = jsContent.match(/^(['"])use (client|server)\1;?\n?/)
44
+ if (directiveMatch) {
45
+ // Directive found at start - insert CSS import after it
46
+ const directive = directiveMatch[0]
47
+ const rest = jsContent.slice(directive.length)
48
+ return `${directive}${cssImport}\n${rest}`
49
+ }
50
+ return `${cssImport}\n${jsContent}`
51
+ }
52
+
36
53
  export const build = async (
37
54
  options: CLIResolvedOptions & {
38
55
  target?: 'web' | 'native' | 'both'
@@ -213,7 +230,9 @@ export const build = async (
213
230
 
214
231
  const cssName = '_' + basename(sourcePath, extname(sourcePath))
215
232
  const stylePath = join(dirname(sourcePath), cssName + '.css')
216
- const code = `import "./${cssName}.css"\n${out.js}`
233
+ const cssImport = `import "./${cssName}.css"`
234
+ const jsContent = typeof out.js === 'string' ? out.js : out.js.toString('utf-8')
235
+ const code = insertCssImport(jsContent, cssImport)
217
236
 
218
237
  // Track original file before modifying
219
238
  await trackFile(sourcePath)
package/types/build.d.ts CHANGED
@@ -15,6 +15,11 @@ export type BuildResult = {
15
15
  stats: BuildStats;
16
16
  trackedFiles: TrackedFile[];
17
17
  };
18
+ /**
19
+ * Inserts a CSS import statement into JS code, placing it after any
20
+ * 'use client' or 'use server' directives at the top of the file.
21
+ */
22
+ export declare function insertCssImport(jsContent: string, cssImport: string): string;
18
23
  export declare const build: (options: CLIResolvedOptions & {
19
24
  target?: "web" | "native" | "both";
20
25
  dir?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,gBAAgB,CAAA;AASxE,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,UAAU,CAAA;IACjB,YAAY,EAAE,WAAW,EAAE,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,KAAK,GAChB,SAAS,kBAAkB,GAAG;IAC5B,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB,KACA,OAAO,CAAC,WAAW,CAmRrB,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,gBAAgB,CAAA;AASxE,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,UAAU,CAAA;IACjB,YAAY,EAAE,WAAW,EAAE,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED,eAAO,MAAM,KAAK,GAChB,SAAS,kBAAkB,GAAG;IAC5B,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB,KACA,OAAO,CAAC,WAAW,CAqRrB,CAAA"}