tamagui-loader 1.26.0 → 1.27.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tamagui-loader",
3
- "version": "1.26.0",
3
+ "version": "1.27.0",
4
4
  "types": "./types/index.d.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -18,14 +18,14 @@
18
18
  "clean:build": "tamagui-build clean:build"
19
19
  },
20
20
  "dependencies": {
21
- "@tamagui/cli-color": "1.26.0",
22
- "@tamagui/static": "1.26.0",
21
+ "@tamagui/cli-color": "1.27.0",
22
+ "@tamagui/static": "1.27.0",
23
23
  "fs-extra": "^11.1.0",
24
24
  "loader-utils": "^3.2.1",
25
25
  "lodash": "^4.17.21"
26
26
  },
27
27
  "devDependencies": {
28
- "@tamagui/build": "1.26.0",
28
+ "@tamagui/build": "1.27.0",
29
29
  "prettyjson": "^1.2.5",
30
30
  "webpack": "^5.74.0"
31
31
  },
@@ -1,114 +0,0 @@
1
- import { watchTamaguiConfig } from "@tamagui/static";
2
- class TamaguiPlugin {
3
- constructor(options = {
4
- components: ["@tamagui/core"]
5
- }) {
6
- this.options = options;
7
- this.pluginName = "TamaguiPlugin";
8
- }
9
- apply(compiler) {
10
- var _a;
11
- if (this.options.enableStudio && !this.options.disableWatchConfig) {
12
- void watchTamaguiConfig(this.options).then((watcher) => {
13
- compiler.hooks.afterDone.tap(this.pluginName, () => {
14
- watcher.context.dispose();
15
- });
16
- });
17
- }
18
- compiler.hooks.normalModuleFactory.tap(this.pluginName, (nmf) => {
19
- nmf.hooks.createModule.tap(
20
- this.pluginName,
21
- // @ts-expect-error CreateData is typed as 'object'...
22
- (createData) => {
23
- var _a2;
24
- if ((_a2 = createData.matchResource) == null ? void 0 : _a2.endsWith(".tamagui.css")) {
25
- createData.settings.sideEffects = true;
26
- }
27
- }
28
- );
29
- });
30
- compiler.options.resolve.extensions = [
31
- .../* @__PURE__ */ new Set([
32
- ".web.tsx",
33
- ".web.ts",
34
- ".web.js",
35
- ".ts",
36
- ".tsx",
37
- ".js",
38
- ...compiler.options.resolve.extensions || []
39
- ])
40
- ];
41
- const mainFields = compiler.options.resolve.mainFields;
42
- if (mainFields) {
43
- compiler.options.resolve.mainFields = Array.isArray(mainFields) ? mainFields : [mainFields];
44
- if (!this.options.disableModuleJSXEntry)
45
- mainFields.unshift("module:jsx");
46
- }
47
- if (!compiler.options.module) {
48
- return;
49
- }
50
- const { jsLoader } = this.options;
51
- const existing = compiler.options.module.rules;
52
- const rules = ((_a = existing.find((x) => typeof x === "object" && "oneOf" in x ? x : null)) == null ? void 0 : _a.oneOf) ?? existing;
53
- const nextJsRules = rules.findIndex(
54
- (x) => (x == null ? void 0 : x.use) && x.use.loader === "next-swc-loader" && x.issuerLayer !== "api"
55
- );
56
- const esbuildLoader = {
57
- loader: require.resolve("esbuild-loader"),
58
- options: {
59
- target: "es2021",
60
- keepNames: true,
61
- loader: "tsx",
62
- tsconfigRaw: {
63
- module: this.options.isServer ? "commonjs" : "esnext",
64
- isolatedModules: true,
65
- resolveJsonModule: true
66
- }
67
- }
68
- };
69
- const tamaguiLoader = {
70
- loader: require.resolve("tamagui-loader"),
71
- options: {
72
- ...this.options
73
- }
74
- };
75
- if (nextJsRules === -1) {
76
- existing.push({
77
- test: /\/jsx\/.*\.m?[jt]sx?$/,
78
- exclude: this.options.exclude,
79
- resolve: {
80
- fullySpecified: false
81
- },
82
- use: [esbuildLoader]
83
- });
84
- existing.push({
85
- test: this.options.test ?? /\.m?[jt]sx?$/,
86
- exclude: this.options.exclude,
87
- resolve: {
88
- fullySpecified: false
89
- },
90
- use: [tamaguiLoader]
91
- });
92
- } else if (!this.options.disableEsbuildLoader) {
93
- const startIndex = nextJsRules ? nextJsRules + 1 : 0;
94
- const existingLoader = nextJsRules ? rules[startIndex] : void 0;
95
- rules.splice(startIndex, 0, {
96
- test: this.options.test ?? /\.m?[jt]sx?$/,
97
- exclude: this.options.exclude,
98
- resolve: {
99
- fullySpecified: false
100
- },
101
- use: [
102
- ...jsLoader ? [jsLoader] : [],
103
- ...existingLoader && nextJsRules ? [].concat(existingLoader.use) : [],
104
- ...!(jsLoader || existingLoader) ? [esbuildLoader] : [],
105
- tamaguiLoader
106
- ]
107
- });
108
- }
109
- }
110
- }
111
- export {
112
- TamaguiPlugin
113
- };
114
- //# sourceMappingURL=TamaguiPlugin.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/TamaguiPlugin.ts"],
4
- "mappings": "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",
5
- "names": ["_a"]
6
- }
package/dist/esm/css.mjs DELETED
@@ -1,28 +0,0 @@
1
- const extractedInfoByFile = /* @__PURE__ */ new Map();
2
- const stylePathToFilePath = /* @__PURE__ */ new Map();
3
- function loader() {
4
- this.async();
5
- const options = { ...this.getOptions() };
6
- const sourcePath = `${this.resourcePath}`;
7
- let out = "";
8
- if (options.cssPath) {
9
- const pathKey = stylePathToFilePath.get(sourcePath) ?? sourcePath;
10
- const info = extractedInfoByFile.get(pathKey);
11
- stylePathToFilePath.delete(sourcePath);
12
- extractedInfoByFile.delete(pathKey);
13
- const out2 = info == null ? void 0 : info.styles;
14
- return this.callback(null, out2 || "");
15
- } else if (options.cssData) {
16
- out = Buffer.from(options.cssData, "base64").toString("utf-8");
17
- }
18
- if (out) {
19
- return this.callback(null, out || "");
20
- }
21
- this.callback({ message: "No CSS found", name: "missing_css" });
22
- }
23
- export {
24
- loader as default,
25
- extractedInfoByFile,
26
- stylePathToFilePath
27
- };
28
- //# sourceMappingURL=css.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/css.ts"],
4
- "mappings": "AAGO,MAAM,sBAAsB,oBAAI,IAA+B;AAC/D,MAAM,sBAAsB,oBAAI,IAAoB;AAE5C,SAAR,SAA6D;AAClE,OAAK,MAAM;AACX,QAAM,UAAU,EAAE,GAAG,KAAK,WAAW,EAAE;AACvC,QAAM,aAAa,GAAG,KAAK;AAC3B,MAAI,MAAM;AACV,MAAI,QAAQ,SAAS;AAEnB,UAAM,UAAU,oBAAoB,IAAI,UAAU,KAAK;AACvD,UAAM,OAAO,oBAAoB,IAAI,OAAO;AAE5C,wBAAoB,OAAO,UAAU;AACrC,wBAAoB,OAAO,OAAO;AAClC,UAAMA,OAAM,6BAAM;AAClB,WAAO,KAAK,SAAS,MAAMA,QAAO,EAAE;AAAA,EACtC,WAAW,QAAQ,SAAS;AAE1B,UAAM,OAAO,KAAK,QAAQ,SAAS,QAAQ,EAAE,SAAS,OAAO;AAAA,EAC/D;AAEA,MAAI,KAAK;AAEP,WAAO,KAAK,SAAS,MAAM,OAAO,EAAE;AAAA,EACtC;AAEA,OAAK,SAAS,EAAE,SAAS,gBAAgB,MAAM,cAAc,CAAC;AAChE;",
5
- "names": ["out"]
6
- }
@@ -1,20 +0,0 @@
1
- import path from "path";
2
- process.env.TAMAGUI_TARGET = process.env.TAMAGUI_TARGET || "web";
3
- process.env.TAMAGUI_COMPILE_PROCESS = "1";
4
- process.env.IS_STATIC = "is_static";
5
- export * from "./TamaguiPlugin";
6
- var src_default = require("./loader").loader;
7
- const shouldExclude = (filePath, projectRoot) => {
8
- if (filePath.includes(projectRoot) && filePath.endsWith("sx") || isTamaguiDistJSX(filePath)) {
9
- return false;
10
- }
11
- return true;
12
- };
13
- function isTamaguiDistJSX(filePath) {
14
- return filePath.includes("/dist/jsx/".replace(/\//g, path.sep));
15
- }
16
- export {
17
- src_default as default,
18
- shouldExclude
19
- };
20
- //# sourceMappingURL=index.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,OAAO,UAAU;AAEjB,QAAQ,IAAI,iBAAiB,QAAQ,IAAI,kBAAkB;AAC3D,QAAQ,IAAI,0BAA0B;AACtC,QAAQ,IAAI,YAAY;AAExB,cAAc;AAEd,IAAO,cAAQ,QAAQ,UAAU,EAAE;AAI5B,MAAM,gBAAgB,CAAC,UAAkB,gBAAwB;AACtE,MACG,SAAS,SAAS,WAAW,KAAK,SAAS,SAAS,IAAI,KACzD,iBAAiB,QAAQ,GACzB;AACA,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,SAAS,iBAAiB,UAAkB;AAC1C,SAAO,SAAS,SAAS,aAAa,QAAQ,OAAO,KAAK,GAAG,CAAC;AAChE;",
5
- "names": []
6
- }
@@ -1,81 +0,0 @@
1
- import {
2
- createExtractor,
3
- extractToClassNames,
4
- getPragmaOptions
5
- } from "@tamagui/static";
6
- import { extractedInfoByFile, stylePathToFilePath } from "./css";
7
- Error.stackTraceLimit = Infinity;
8
- const CSS_LOADER_PATH = require.resolve("./css");
9
- Error.stackTraceLimit = Infinity;
10
- const extractor = createExtractor();
11
- let index = 0;
12
- process.env.TAMAGUI_TARGET = "web";
13
- const loader = async function loader2(sourceIn, info) {
14
- this.cacheable(true);
15
- const callback = this.async();
16
- const source = sourceIn.toString();
17
- try {
18
- const threaded = this.emitFile === void 0;
19
- const options = { ...this.getOptions() };
20
- const sourcePath = `${this.resourcePath}`;
21
- const { shouldDisable, shouldPrintDebug } = getPragmaOptions({
22
- source,
23
- path: sourcePath
24
- });
25
- if (shouldPrintDebug === "verbose") {
26
- console.warn(`
27
-
28
- --- Incoming source ---
29
-
30
- `);
31
- console.warn(source);
32
- }
33
- if (shouldDisable) {
34
- if (shouldPrintDebug) {
35
- console.log("Disabling on file via pragma");
36
- }
37
- return callback(null, source);
38
- }
39
- const cssPath = threaded ? `${sourcePath}.tamagui.css` : `${sourcePath}.${index++}.tamagui.css`;
40
- const extracted = await extractToClassNames({
41
- extractor,
42
- source,
43
- sourcePath,
44
- options,
45
- shouldPrintDebug
46
- });
47
- if (!extracted) {
48
- return callback(null, source);
49
- }
50
- if (extracted.styles) {
51
- const cssQuery = threaded ? `cssData=${Buffer.from(extracted.styles).toString("base64")}` : `cssPath=${cssPath}`;
52
- const remReq = this.remainingRequest;
53
- const importPath = `${cssPath}!=!${CSS_LOADER_PATH}?${cssQuery}!${remReq}`;
54
- extracted.js = `${extracted.js}
55
-
56
- require(${JSON.stringify(importPath)})`;
57
- }
58
- extractedInfoByFile.set(sourcePath, extracted);
59
- if (!threaded) {
60
- if (extracted.stylesPath) {
61
- stylePathToFilePath.set(extracted.stylesPath, sourcePath);
62
- }
63
- }
64
- callback(null, extracted.js, extracted.map);
65
- } catch (err) {
66
- const message = err instanceof Error ? `${err.message}
67
- ${err.stack}` : String(err);
68
- console.error("Tamagui Webpack Loader Error:\n", ` ${message}
69
- `);
70
- if (message.includes("Cannot create proxy")) {
71
- console.log(
72
- "This is usually due to components not loading at build-time. Check for logs just below the line above:"
73
- );
74
- }
75
- callback(null, source);
76
- }
77
- };
78
- export {
79
- loader
80
- };
81
- //# sourceMappingURL=loader.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/loader.ts"],
4
- "mappings": "AACA;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,qBAAqB,2BAA2B;AAEzD,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,eAAeA,QAEnC,UACA,MACA;AACA,OAAK,UAAU,IAAI;AACnB,QAAM,WAAW,KAAK,MAAM;AAC5B,QAAM,SAAS,SAAS,SAAS;AAEjC,MAAI;AACF,UAAM,WAAW,KAAK,aAAa;AACnC,UAAM,UAA0B,EAAE,GAAG,KAAK,WAAW,EAAE;AACvD,UAAM,aAAa,GAAG,KAAK;AAE3B,UAAM,EAAE,eAAe,iBAAiB,IAAI,iBAAiB;AAAA,MAC3D;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAED,QAAI,qBAAqB,WAAW;AAClC,cAAQ,KAAK;AAAA;AAAA;AAAA;AAAA,CAAmC;AAChD,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEA,QAAI,eAAe;AACjB,UAAI,kBAAkB;AAEpB,gBAAQ,IAAI,8BAA8B;AAAA,MAC5C;AACA,aAAO,SAAS,MAAM,MAAM;AAAA,IAC9B;AAEA,UAAM,UAAU,WACZ,GAAG,2BACH,GAAG,cAAc;AAErB,UAAM,YAAY,MAAM,oBAAoB;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,QAAI,CAAC,WAAW;AACd,aAAO,SAAS,MAAM,MAAM;AAAA,IAC9B;AAGA,QAAI,UAAU,QAAQ;AACpB,YAAM,WAAW,WACb,WAAW,OAAO,KAAK,UAAU,MAAM,EAAE,SAAS,QAAQ,MAC1D,WAAW;AACf,YAAM,SAAS,KAAK;AACpB,YAAM,aAAa,GAAG,aAAa,mBAAmB,YAAY;AAClE,gBAAU,KAAK,GAAG,UAAU;AAAA;AAAA,UAAiB,KAAK,UAAU,UAAU;AAAA,IACxE;AAEA,wBAAoB,IAAI,YAAY,SAAS;AAE7C,QAAI,CAAC,UAAU;AACb,UAAI,UAAU,YAAY;AACxB,4BAAoB,IAAI,UAAU,YAAY,UAAU;AAAA,MAC1D;AAAA,IACF;AAEA,aAAS,MAAM,UAAU,IAAI,UAAU,GAAG;AAAA,EAC5C,SAAS,KAAP;AACA,UAAM,UAAU,eAAe,QAAQ,GAAG,IAAI;AAAA,EAAY,IAAI,UAAU,OAAO,GAAG;AAElF,YAAQ,MAAM,mCAAmC,KAAK;AAAA,CAAW;AAEjE,QAAI,QAAQ,SAAS,qBAAqB,GAAG;AAE3C,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAEA,aAAS,MAAM,MAAM;AAAA,EACvB;AACF;",
5
- "names": ["loader"]
6
- }
package/types/plugin.d.ts DELETED
@@ -1,20 +0,0 @@
1
- import { TamaguiOptions } from '@tamagui/static';
2
- import type { Compiler, RuleSetRule } from 'webpack';
3
- type PluginOptions = TamaguiOptions & {
4
- isServer?: boolean;
5
- enableStudio?: boolean;
6
- exclude?: RuleSetRule['exclude'];
7
- test?: RuleSetRule['test'];
8
- jsLoader?: any;
9
- disableEsbuildLoader?: boolean;
10
- disableModuleJSXEntry?: boolean;
11
- disableWatchConfig?: boolean;
12
- };
13
- export declare class TamaguiPlugin {
14
- options: PluginOptions;
15
- pluginName: string;
16
- constructor(options?: PluginOptions);
17
- apply(compiler: Compiler): void;
18
- }
19
- export {};
20
- //# sourceMappingURL=plugin.d.ts.map