tamagui-loader 1.74.3 → 1.74.5
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/esm/TamaguiPlugin.native.js +101 -0
- package/dist/esm/TamaguiPlugin.native.js.map +6 -0
- package/dist/esm/css.native.js +12 -0
- package/dist/esm/css.native.js.map +6 -0
- package/dist/esm/index.native.js +10 -0
- package/dist/esm/index.native.js.map +6 -0
- package/dist/esm/loader.native.js +59 -0
- package/dist/esm/loader.native.js.map +6 -0
- package/dist/esm/shouldExclude.native.js +9 -0
- package/dist/esm/shouldExclude.native.js.map +6 -0
- package/package.json +4 -4
|
@@ -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,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
|
+
"version": "1.74.5",
|
|
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.
|
|
22
|
-
"@tamagui/static": "1.74.
|
|
21
|
+
"@tamagui/cli-color": "1.74.5",
|
|
22
|
+
"@tamagui/static": "1.74.5",
|
|
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.
|
|
29
|
+
"@tamagui/build": "1.74.5",
|
|
30
30
|
"prettyjson": "^1.2.5",
|
|
31
31
|
"webpack": "^5.88.2"
|
|
32
32
|
},
|