tamagui-loader 1.74.3 → 1.74.4

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,101 @@
1
+ import { loadTamagui, watchTamaguiConfig } from "@tamagui/static";
2
+ class TamaguiPlugin {
3
+ constructor(options = {
4
+ platform: "web",
5
+ components: ["@tamagui/core"]
6
+ }) {
7
+ this.options = options;
8
+ this.pluginName = "TamaguiPlugin";
9
+ }
10
+ apply(compiler) {
11
+ compiler.watchMode && !this.options.disableWatchConfig && watchTamaguiConfig(this.options).then((watcher) => {
12
+ process.once("exit", () => {
13
+ watcher.dispose();
14
+ });
15
+ }), compiler.hooks.beforeCompile.tapAsync(this.pluginName, async (_, done) => {
16
+ await loadTamagui(this.options), done();
17
+ }), compiler.hooks.normalModuleFactory.tap(this.pluginName, (nmf) => {
18
+ nmf.hooks.createModule.tap(
19
+ this.pluginName,
20
+ // @ts-expect-error CreateData is typed as 'object'...
21
+ (createData) => {
22
+ createData.matchResource?.endsWith(".tamagui.css") && (createData.settings.sideEffects = !0);
23
+ }
24
+ );
25
+ }), compiler.options.resolve.extensions = [
26
+ .../* @__PURE__ */ new Set([
27
+ ".web.tsx",
28
+ ".web.ts",
29
+ ".web.js",
30
+ ".ts",
31
+ ".tsx",
32
+ ".js",
33
+ ...compiler.options.resolve.extensions || []
34
+ ])
35
+ ];
36
+ const mainFields = compiler.options.resolve.mainFields;
37
+ if (mainFields && (compiler.options.resolve.mainFields = Array.isArray(mainFields) ? mainFields : [mainFields], this.options.disableModuleJSXEntry || mainFields.unshift("module:jsx")), !compiler.options.module)
38
+ return;
39
+ const { jsLoader } = this.options, existing = compiler.options.module.rules, rules = existing.find((x) => typeof x == "object" && "oneOf" in x ? x : null)?.oneOf ?? existing, nextJsRules = rules.findIndex(
40
+ (x) => x?.use && x.use.loader === "next-swc-loader" && x.issuerLayer !== "api"
41
+ ), esbuildLoader = {
42
+ loader: require.resolve("esbuild-loader"),
43
+ options: {
44
+ target: "es2021",
45
+ keepNames: !0,
46
+ loader: "tsx",
47
+ tsconfigRaw: {
48
+ module: this.options.isServer ? "commonjs" : "esnext",
49
+ isolatedModules: !0,
50
+ resolveJsonModule: !0
51
+ }
52
+ }
53
+ };
54
+ if (!this.options.disable) {
55
+ const tamaguiLoader = {
56
+ loader: require.resolve("tamagui-loader"),
57
+ options: {
58
+ ...this.options,
59
+ _disableLoadTamagui: !0
60
+ }
61
+ };
62
+ if (nextJsRules === -1)
63
+ existing.push({
64
+ // looks like its in jsx dir (could be better but windows path sep)
65
+ test: /jsx.*\.m?[jt]sx?$/,
66
+ exclude: this.options.exclude,
67
+ resolve: {
68
+ fullySpecified: !1
69
+ },
70
+ use: [esbuildLoader]
71
+ }), existing.push({
72
+ test: this.options.test ?? /\.m?[jt]sx?$/,
73
+ exclude: this.options.exclude,
74
+ resolve: {
75
+ fullySpecified: !1
76
+ },
77
+ use: [tamaguiLoader]
78
+ });
79
+ else if (!this.options.disableEsbuildLoader) {
80
+ const startIndex = nextJsRules ? nextJsRules + 1 : 0, existingLoader = nextJsRules ? rules[startIndex] : void 0;
81
+ rules.splice(startIndex, 0, {
82
+ test: this.options.test ?? /\.m?[jt]sx?$/,
83
+ exclude: this.options.exclude,
84
+ resolve: {
85
+ fullySpecified: !1
86
+ },
87
+ use: [
88
+ ...jsLoader ? [jsLoader] : [],
89
+ ...existingLoader && nextJsRules ? [].concat(existingLoader.use) : [],
90
+ ...jsLoader || existingLoader ? [] : [esbuildLoader],
91
+ tamaguiLoader
92
+ ]
93
+ });
94
+ }
95
+ }
96
+ }
97
+ }
98
+ export {
99
+ TamaguiPlugin
100
+ };
101
+ //# sourceMappingURL=TamaguiPlugin.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/TamaguiPlugin.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,12 @@
1
+ function loader() {
2
+ this.async();
3
+ const options = { ...this.getOptions() };
4
+ let out = Buffer.from(options.cssData, "base64").toString("utf-8");
5
+ if (out)
6
+ return this.callback(null, out || "");
7
+ this.callback({ message: "No CSS found", name: "missing_css" });
8
+ }
9
+ export {
10
+ loader as default
11
+ };
12
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/css.ts"],
4
+ "mappings": "AAGe,SAAR,SAA6D;AAClE,OAAK,MAAM;AACX,QAAM,UAAU,EAAE,GAAG,KAAK,WAAW,EAAE;AACvC,MAAI,MAAM,OAAO,KAAK,QAAQ,SAAS,QAAQ,EAAE,SAAS,OAAO;AACjE,MAAI;AAEF,WAAO,KAAK,SAAS,MAAM,OAAO,EAAE;AAEtC,OAAK,SAAS,EAAE,SAAS,gBAAgB,MAAM,cAAc,CAAC;AAChE;",
5
+ "names": []
6
+ }
@@ -0,0 +1,10 @@
1
+ export * from "./TamaguiPlugin";
2
+ export * from "./shouldExclude";
3
+ process.env.TAMAGUI_TARGET = "native";
4
+ process.env.IS_STATIC = "is_static";
5
+ process.env.TAMAGUI_IS_SERVER = "true";
6
+ var src_default = require("./loader").loader;
7
+ export {
8
+ src_default as default
9
+ };
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": "AAMA,cAAc;AAId,cAAc;AARd,QAAQ,IAAI,iBAAiB;AAC7B,QAAQ,IAAI,YAAY;AACxB,QAAQ,IAAI,oBAAoB;AAIhC,IAAO,cAAQ,QAAQ,UAAU,EAAE;",
5
+ "names": []
6
+ }
@@ -0,0 +1,59 @@
1
+ import {
2
+ createExtractor,
3
+ extractToClassNames,
4
+ getPragmaOptions
5
+ } from "@tamagui/static";
6
+ Error.stackTraceLimit = 1 / 0;
7
+ const CSS_LOADER_PATH = require.resolve("./css");
8
+ Error.stackTraceLimit = 1 / 0;
9
+ const extractor = createExtractor();
10
+ let index = 0;
11
+ process.env.TAMAGUI_TARGET = "web";
12
+ const loader = async function(sourceIn) {
13
+ this.cacheable(!0);
14
+ const callback = this.async(), source = sourceIn.toString();
15
+ try {
16
+ const options = {
17
+ // @ts-ignore
18
+ platform: "web",
19
+ ...this.getOptions()
20
+ }, sourcePath = `${this.resourcePath}`, { shouldDisable, shouldPrintDebug } = getPragmaOptions({
21
+ source,
22
+ path: sourcePath
23
+ });
24
+ if (shouldPrintDebug === "verbose" && (console.warn(`
25
+
26
+ --- Incoming source ---
27
+
28
+ `), console.warn(source)), shouldDisable)
29
+ return shouldPrintDebug && console.log("Disabling on file via pragma"), callback(null, source);
30
+ const cssPath = `${sourcePath}.${index++}.tamagui.css`, extracted = await extractToClassNames({
31
+ extractor,
32
+ source,
33
+ sourcePath,
34
+ options,
35
+ shouldPrintDebug
36
+ });
37
+ if (!extracted)
38
+ return callback(null, source);
39
+ if (extracted.styles) {
40
+ const cssQuery = `cssData=${Buffer.from(extracted.styles).toString("base64")}`, remReq = this.remainingRequest, importPath = `${cssPath}!=!${CSS_LOADER_PATH}?${cssQuery}!${remReq}`;
41
+ extracted.js = `${extracted.js}
42
+
43
+ require(${JSON.stringify(importPath)})`;
44
+ }
45
+ callback(null, extracted.js, extracted.map);
46
+ } catch (err) {
47
+ const message = err instanceof Error ? `${err.message}
48
+ ${err.stack}` : String(err);
49
+ console.error(`Tamagui Webpack Loader Error:
50
+ `, ` ${message}
51
+ `), message.includes("Cannot create proxy") && console.log(
52
+ "This is usually due to components not loading at build-time. Check for logs just below the line above:"
53
+ ), callback(null, source);
54
+ }
55
+ };
56
+ export {
57
+ loader
58
+ };
59
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/loader.ts"],
4
+ "mappings": "AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,MAAM,kBAAkB;AAGxB,MAAM,kBAAkB,gBAAgB,OAAO;AAE/C,MAAM,kBAAkB;AACxB,MAAM,YAAY,gBAAgB;AAElC,IAAI,QAAQ;AAEZ,QAAQ,IAAI,iBAAiB;AAEtB,MAAM,SAAS,eAEpB,UACA;AACA,OAAK,UAAU,EAAI;AACnB,QAAM,WAAW,KAAK,MAAM,GACtB,SAAS,SAAS,SAAS;AAEjC,MAAI;AACF,UAAM,UAA0B;AAAA;AAAA,MAE9B,UAAU;AAAA,MACV,GAAG,KAAK,WAAW;AAAA,IACrB,GACM,aAAa,GAAG,KAAK,YAAY,IAEjC,EAAE,eAAe,iBAAiB,IAAI,iBAAiB;AAAA,MAC3D;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAOD,QALI,qBAAqB,cACvB,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA,CAAmC,GAChD,QAAQ,KAAK,MAAM,IAGjB;AACF,aAAI,oBAEF,QAAQ,IAAI,8BAA8B,GAErC,SAAS,MAAM,MAAM;AAG9B,UAAM,UAAU,GAAG,UAAU,IAAI,OAAO,gBAElC,YAAY,MAAM,oBAAoB;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,QAAI,CAAC;AACH,aAAO,SAAS,MAAM,MAAM;AAI9B,QAAI,UAAU,QAAQ;AACpB,YAAM,WAAW,WAAW,OAAO,KAAK,UAAU,MAAM,EAAE,SAAS,QAAQ,CAAC,IACtE,SAAS,KAAK,kBACd,aAAa,GAAG,OAAO,MAAM,eAAe,IAAI,QAAQ,IAAI,MAAM;AACxE,gBAAU,KAAK,GAAG,UAAU,EAAE;AAAA;AAAA,UAAe,KAAK,UAAU,UAAU,CAAC;AAAA,IACzE;AAEA,aAAS,MAAM,UAAU,IAAI,UAAU,GAAG;AAAA,EAC5C,SAAS,KAAK;AACZ,UAAM,UAAU,eAAe,QAAQ,GAAG,IAAI,OAAO;AAAA,EAAK,IAAI,KAAK,KAAK,OAAO,GAAG;AAElF,YAAQ,MAAM;AAAA,GAAmC,KAAK,OAAO;AAAA,CAAI,GAE7D,QAAQ,SAAS,qBAAqB,KAExC,QAAQ;AAAA,MACN;AAAA,IACF,GAGF,SAAS,MAAM,MAAM;AAAA,EACvB;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,9 @@
1
+ import path from "path";
2
+ const shouldExclude = (filePath, projectRoot) => !(projectRoot && filePath.includes(projectRoot) && filePath.endsWith("sx") || isTamaguiDistJSX(filePath));
3
+ function isTamaguiDistJSX(filePath) {
4
+ return filePath.includes("/dist/jsx/".replace(/\//g, path.sep));
5
+ }
6
+ export {
7
+ shouldExclude
8
+ };
9
+ //# sourceMappingURL=shouldExclude.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shouldExclude.ts"],
4
+ "mappings": "AAAA,OAAO,UAAU;AAIV,MAAM,gBAAgB,CAAC,UAAkB,gBAE3C,iBAAe,SAAS,SAAS,WAAW,KAAK,SAAS,SAAS,IAAI,KACxE,iBAAiB,QAAQ;AAO7B,SAAS,iBAAiB,UAAkB;AAC1C,SAAO,SAAS,SAAS,aAAa,QAAQ,OAAO,KAAK,GAAG,CAAC;AAChE;",
5
+ "names": []
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tamagui-loader",
3
- "version": "1.74.3",
3
+ "version": "1.74.4",
4
4
  "types": "./types/index.d.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -18,15 +18,15 @@
18
18
  "clean:build": "tamagui-build clean:build"
19
19
  },
20
20
  "dependencies": {
21
- "@tamagui/cli-color": "1.74.3",
22
- "@tamagui/static": "1.74.3",
21
+ "@tamagui/cli-color": "1.74.4",
22
+ "@tamagui/static": "1.74.4",
23
23
  "esbuild-loader": "^3.0.1",
24
24
  "fs-extra": "^11.1.0",
25
25
  "loader-utils": "^3.2.1",
26
26
  "lodash": "^4.17.21"
27
27
  },
28
28
  "devDependencies": {
29
- "@tamagui/build": "1.74.3",
29
+ "@tamagui/build": "1.74.4",
30
30
  "prettyjson": "^1.2.5",
31
31
  "webpack": "^5.88.2"
32
32
  },