@tamagui/cli 1.141.5 → 1.142.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/build.cjs CHANGED
@@ -31,7 +31,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
31
31
  }), mod);
32
32
  var build_exports = {};
33
33
  __export(build_exports, {
34
- build: () => build
34
+ build: () => build,
35
+ insertCssImport: () => insertCssImport
35
36
  });
36
37
  module.exports = __toCommonJS(build_exports);
37
38
  var import_static = require("@tamagui/static"),
@@ -42,6 +43,17 @@ var import_static = require("@tamagui/static"),
42
43
  import_node_os = require("node:os"),
43
44
  import_node_child_process = require("node:child_process"),
44
45
  import_node_crypto = require("node:crypto");
46
+ function insertCssImport(jsContent, cssImport) {
47
+ const directiveMatch = jsContent.match(/^(['"])use (client|server)\1;?\n?/);
48
+ if (directiveMatch) {
49
+ const directive = directiveMatch[0],
50
+ rest = jsContent.slice(directive.length);
51
+ return `${directive}${cssImport}
52
+ ${rest}`;
53
+ }
54
+ return `${cssImport}
55
+ ${jsContent}`;
56
+ }
45
57
  const build = async options => {
46
58
  const sourceDir = options.dir ?? ".",
47
59
  promises = [],
@@ -129,8 +141,9 @@ const build = async options => {
129
141
  stats.filesProcessed++;
130
142
  const cssName = "_" + (0, import_node_path.basename)(sourcePath, (0, import_node_path.extname)(sourcePath)),
131
143
  stylePath = (0, import_node_path.join)((0, import_node_path.dirname)(sourcePath), cssName + ".css"),
132
- code = `import "./${cssName}.css"
133
- ${out.js}`;
144
+ cssImport = `import "./${cssName}.css"`,
145
+ jsContent = typeof out.js == "string" ? out.js : out.js.toString("utf-8"),
146
+ code = insertCssImport(jsContent, cssImport);
134
147
  await trackFile(sourcePath), await (0, import_fs_extra.writeFile)(sourcePath, code, "utf-8"), await recordMtime(sourcePath), await (0, import_fs_extra.writeFile)(stylePath, out.styles, "utf-8"), trackedFiles.push({
135
148
  path: stylePath,
136
149
  hardlinkPath: "",
package/dist/build.js CHANGED
@@ -22,10 +22,21 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
23
  var build_exports = {};
24
24
  __export(build_exports, {
25
- build: () => build
25
+ build: () => build,
26
+ insertCssImport: () => insertCssImport
26
27
  });
27
28
  module.exports = __toCommonJS(build_exports);
28
29
  var import_static = require("@tamagui/static"), import_chokidar = __toESM(require("chokidar")), import_fs_extra = require("fs-extra"), import_micromatch = __toESM(require("micromatch")), import_node_path = require("node:path"), import_node_os = require("node:os"), import_node_child_process = require("node:child_process"), import_node_crypto = require("node:crypto");
30
+ function insertCssImport(jsContent, cssImport) {
31
+ const directiveMatch = jsContent.match(/^(['"])use (client|server)\1;?\n?/);
32
+ if (directiveMatch) {
33
+ const directive = directiveMatch[0], rest = jsContent.slice(directive.length);
34
+ return `${directive}${cssImport}
35
+ ${rest}`;
36
+ }
37
+ return `${cssImport}
38
+ ${jsContent}`;
39
+ }
29
40
  const build = async (options) => {
30
41
  const sourceDir = options.dir ?? ".", promises = [], buildOptions = (0, import_static.loadTamaguiBuildConfigSync)(options.tamaguiOptions), targets = options.target === "both" || !options.target ? ["web", "native"] : [options.target], webTamaguiOptions = {
31
42
  ...buildOptions,
@@ -99,8 +110,7 @@ const build = async (options) => {
99
110
  });
100
111
  if (out) {
101
112
  stats.filesProcessed++;
102
- 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"
103
- ${out.js}`;
113
+ 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"), cssImport = `import "./${cssName}.css"`, jsContent = typeof out.js == "string" ? out.js : out.js.toString("utf-8"), code = insertCssImport(jsContent, cssImport);
104
114
  await trackFile(sourcePath), await (0, import_fs_extra.writeFile)(sourcePath, code, "utf-8"), await recordMtime(sourcePath), await (0, import_fs_extra.writeFile)(stylePath, out.styles, "utf-8"), trackedFiles.push({
105
115
  path: stylePath,
106
116
  hardlinkPath: "",
package/dist/build.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/build.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["chokidar", "MicroMatch"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/cli",
3
- "version": "1.141.5",
3
+ "version": "1.142.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.142.0",
29
+ "@tamagui/generate-themes": "1.142.0",
30
+ "@tamagui/static": "1.142.0",
31
+ "@tamagui/types": "1.142.0",
32
+ "@tamagui/vite-plugin": "1.142.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.142.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"}