tamagui-loader 1.0.1-beta.70 → 1.0.1-beta.71
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/cjs/css.js +1 -1
- package/dist/cjs/css.js.map +2 -2
- package/dist/cjs/loader.js +12 -8
- package/dist/cjs/loader.js.map +2 -2
- package/dist/esm/css.js +1 -1
- package/dist/esm/css.js.map +2 -2
- package/dist/esm/loader.js +12 -8
- package/dist/esm/loader.js.map +2 -2
- package/dist/jsx/css.js +1 -1
- package/dist/jsx/loader.js +12 -8
- package/package.json +3 -3
- package/src/css.ts +1 -1
- package/src/loader.ts +18 -7
- package/types/css.d.ts +0 -0
- package/types/css.d.ts.map +0 -0
- package/types/index.d.ts +0 -0
- package/types/index.d.ts.map +0 -0
- package/types/loader.d.ts +3 -2
- package/types/loader.d.ts.map +1 -1
package/dist/cjs/css.js
CHANGED
|
@@ -54,7 +54,7 @@ function loader() {
|
|
|
54
54
|
} else if (options.cssData) {
|
|
55
55
|
out = Buffer.from(options.cssData, "base64").toString("utf-8");
|
|
56
56
|
}
|
|
57
|
-
if (
|
|
57
|
+
if (out) {
|
|
58
58
|
return this.callback(null, out || "");
|
|
59
59
|
}
|
|
60
60
|
this.callback({ message: `No CSS found`, name: "missing_css" });
|
package/dist/cjs/css.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/css.ts"],
|
|
4
|
-
"sourcesContent": ["import { ExtractedResponse, TamaguiOptions } from '@tamagui/static'\nimport { LoaderContext } from 'webpack'\n\nexport const extractedInfoByFile = new Map<string, ExtractedResponse>()\nexport const stylePathToFilePath = new Map<string, string>()\n\nexport default function loader(this: LoaderContext<any>) {\n this.async()\n const options: TamaguiOptions = { ...this.getOptions() }\n const sourcePath = `${this.resourcePath}`\n let out = ''\n if (options.cssPath) {\n // get in memory info\n const pathKey = stylePathToFilePath.get(sourcePath) ?? sourcePath\n const info = extractedInfoByFile.get(pathKey)\n // clear memory\n stylePathToFilePath.delete(sourcePath)\n extractedInfoByFile.delete(pathKey)\n const out = info?.styles\n return this.callback(null, out || '')\n } else if (options.cssData) {\n // get output CSS\n out = Buffer.from(options.cssData, 'base64').toString('utf-8')\n }\n if (
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,sBAAsB,oBAAI,IAA+B;AAC/D,MAAM,sBAAsB,oBAAI,IAAoB;AAE5C,kBAA0C;AACvD,OAAK,MAAM;AACX,QAAM,UAA0B,mBAAK,KAAK,WAAW;AACrD,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,UAAM,OAAM,6BAAM;AAClB,WAAO,KAAK,SAAS,MAAM,QAAO,EAAE;AAAA,EACtC,WAAW,QAAQ,SAAS;AAE1B,UAAM,OAAO,KAAK,QAAQ,SAAS,QAAQ,EAAE,SAAS,OAAO;AAAA,EAC/D;AACA,MAAI,
|
|
4
|
+
"sourcesContent": ["import { ExtractedResponse, TamaguiOptions } from '@tamagui/static'\nimport { LoaderContext } from 'webpack'\n\nexport const extractedInfoByFile = new Map<string, ExtractedResponse>()\nexport const stylePathToFilePath = new Map<string, string>()\n\nexport default function loader(this: LoaderContext<any>) {\n this.async()\n const options: TamaguiOptions = { ...this.getOptions() }\n const sourcePath = `${this.resourcePath}`\n let out = ''\n if (options.cssPath) {\n // get in memory info\n const pathKey = stylePathToFilePath.get(sourcePath) ?? sourcePath\n const info = extractedInfoByFile.get(pathKey)\n // clear memory\n stylePathToFilePath.delete(sourcePath)\n extractedInfoByFile.delete(pathKey)\n const out = info?.styles\n return this.callback(null, out || '')\n } else if (options.cssData) {\n // get output CSS\n out = Buffer.from(options.cssData, 'base64').toString('utf-8')\n }\n if (out) {\n // use original JS sourcemap\n return this.callback(null, out || '')\n }\n this.callback({ message: `No CSS found`, name: 'missing_css' })\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,sBAAsB,oBAAI,IAA+B;AAC/D,MAAM,sBAAsB,oBAAI,IAAoB;AAE5C,kBAA0C;AACvD,OAAK,MAAM;AACX,QAAM,UAA0B,mBAAK,KAAK,WAAW;AACrD,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,UAAM,OAAM,6BAAM;AAClB,WAAO,KAAK,SAAS,MAAM,QAAO,EAAE;AAAA,EACtC,WAAW,QAAQ,SAAS;AAE1B,UAAM,OAAO,KAAK,QAAQ,SAAS,QAAQ,EAAE,SAAS,OAAO;AAAA,EAC/D;AACA,MAAI,KAAK;AAEP,WAAO,KAAK,SAAS,MAAM,OAAO,EAAE;AAAA,EACtC;AACA,OAAK,SAAS,EAAE,SAAS,gBAAgB,MAAM,cAAc,CAAC;AAChE;AAvBwB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/loader.js
CHANGED
|
@@ -46,9 +46,10 @@ const extractor = (0, import_static.createExtractor)();
|
|
|
46
46
|
let index = 0;
|
|
47
47
|
let hasPatched = false;
|
|
48
48
|
process.env.TAMAGUI_TARGET = "web";
|
|
49
|
-
|
|
50
|
-
this.cacheable();
|
|
49
|
+
const loader = /* @__PURE__ */ __name(function loader2(sourceIn) {
|
|
50
|
+
this.cacheable(true);
|
|
51
51
|
this.async();
|
|
52
|
+
const source = sourceIn.toString();
|
|
52
53
|
if (!process.env.TAMAGUI_DISABLE_RNW_PATCH && !hasPatched) {
|
|
53
54
|
(0, import_static.patchReactNativeWeb)();
|
|
54
55
|
hasPatched = true;
|
|
@@ -67,19 +68,23 @@ function loader(source) {
|
|
|
67
68
|
}
|
|
68
69
|
const cssPath = threaded ? `${sourcePath}.module.css` : `${sourcePath}.${index++}.module.css`;
|
|
69
70
|
const extracted = (0, import_static.extractToClassNames)({
|
|
70
|
-
loader: this,
|
|
71
71
|
extractor,
|
|
72
|
-
cssLoaderPath: CSS_LOADER_PATH,
|
|
73
72
|
source,
|
|
74
|
-
threaded,
|
|
75
73
|
sourcePath,
|
|
76
|
-
cssPath,
|
|
77
74
|
options,
|
|
78
75
|
shouldPrintDebug
|
|
79
76
|
});
|
|
80
77
|
if (!extracted) {
|
|
81
78
|
return this.callback(null, source);
|
|
82
79
|
}
|
|
80
|
+
if (extracted.styles) {
|
|
81
|
+
const cssQuery = threaded ? `cssData=${Buffer.from(extracted.styles).toString("base64")}` : `cssPath=${cssPath}`;
|
|
82
|
+
const remReq = this.remainingRequest;
|
|
83
|
+
const importPath = `${cssPath}!=!${CSS_LOADER_PATH}?${cssQuery}!${remReq}`;
|
|
84
|
+
extracted.js = `${extracted.js}
|
|
85
|
+
|
|
86
|
+
require(${JSON.stringify(importPath)})`;
|
|
87
|
+
}
|
|
83
88
|
import_css.extractedInfoByFile.set(sourcePath, extracted);
|
|
84
89
|
if (!threaded) {
|
|
85
90
|
if (extracted.stylesPath) {
|
|
@@ -91,8 +96,7 @@ function loader(source) {
|
|
|
91
96
|
console.error("ERROR", err);
|
|
92
97
|
return this.callback(null, source);
|
|
93
98
|
}
|
|
94
|
-
}
|
|
95
|
-
__name(loader, "loader");
|
|
99
|
+
}, "loader");
|
|
96
100
|
// Annotate the CommonJS export names for ESM import in node:
|
|
97
101
|
0 && (module.exports = {
|
|
98
102
|
loader
|
package/dist/cjs/loader.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/loader.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n TamaguiOptions,\n createExtractor,\n extractToClassNames,\n patchReactNativeWeb,\n} from '@tamagui/static'\nimport { LoaderContext } from 'webpack'\n\nimport { extractedInfoByFile, stylePathToFilePath } from './css'\n\n// pass loader as path\nconst CSS_LOADER_PATH = require.resolve('./css')\n\nError.stackTraceLimit = Infinity\nconst extractor = createExtractor()\n\nlet index = 0\nlet hasPatched = false\n\nprocess.env.TAMAGUI_TARGET = 'web'\n\nexport
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKO;AAGP,iBAAyD;AAGzD,MAAM,kBAAkC;AAExC,MAAM,kBAAkB;AACxB,MAAM,YAAY,mCAAgB;AAElC,IAAI,QAAQ;AACZ,IAAI,aAAa;AAEjB,QAAQ,IAAI,iBAAiB;AAEtB,
|
|
4
|
+
"sourcesContent": ["import {\n TamaguiOptions,\n createExtractor,\n extractToClassNames,\n patchReactNativeWeb,\n} from '@tamagui/static'\nimport type { LoaderContext, RawLoaderDefinitionFunction } from 'webpack'\n\nimport { extractedInfoByFile, stylePathToFilePath } from './css'\n\n// pass loader as path\nconst CSS_LOADER_PATH = require.resolve('./css')\n\nError.stackTraceLimit = Infinity\nconst extractor = createExtractor()\n\nlet index = 0\nlet hasPatched = false\n\nprocess.env.TAMAGUI_TARGET = 'web'\n\nexport const loader: RawLoaderDefinitionFunction<TamaguiOptions> = function loader(this, sourceIn) {\n this.cacheable(true)\n this.async()\n const source = sourceIn.toString()\n\n if (!process.env.TAMAGUI_DISABLE_RNW_PATCH && !hasPatched) {\n patchReactNativeWeb()\n hasPatched = true\n }\n\n try {\n const threaded = this.emitFile === undefined\n const options: TamaguiOptions = { ...this.getOptions() }\n const sourcePath = `${this.resourcePath}`\n const startsWithComment = source[0] === '/' && source[1] === '/'\n\n let shouldPrintDebug: boolean | 'verbose' =\n (!!process.env.DEBUG &&\n (process.env.DEBUG_FILE ? sourcePath.includes(process.env.DEBUG_FILE) : true)) ||\n // supports esbuild style //! comments\n (startsWithComment && (source.startsWith('// debug') || source.startsWith('//! debug')))\n\n if (shouldPrintDebug && source.startsWith('// debug-verbose')) {\n shouldPrintDebug = 'verbose'\n }\n\n // check if should ignore\n if (\n startsWithComment &&\n (source.startsWith('// tamagui-ignore') || source.startsWith('//! tamagui-ignore'))\n ) {\n return this.callback(null, source)\n }\n\n const cssPath = threaded ? `${sourcePath}.module.css` : `${sourcePath}.${index++}.module.css`\n\n // cssLoaderPath: CSS_LOADER_PATH,\n // threaded,\n // cssPath,\n\n const extracted = extractToClassNames({\n extractor,\n source,\n sourcePath,\n options,\n shouldPrintDebug,\n })\n\n if (!extracted) {\n return this.callback(null, source)\n }\n\n // add import to css\n if (extracted.styles) {\n const cssQuery = threaded\n ? `cssData=${Buffer.from(extracted.styles).toString('base64')}`\n : `cssPath=${cssPath}`\n const remReq = this.remainingRequest\n const importPath = `${cssPath}!=!${CSS_LOADER_PATH}?${cssQuery}!${remReq}`\n extracted.js = `${extracted.js}\\n\\nrequire(${JSON.stringify(importPath)})`\n }\n\n extractedInfoByFile.set(sourcePath, extracted)\n\n if (!threaded) {\n if (extracted.stylesPath) {\n stylePathToFilePath.set(extracted.stylesPath, sourcePath)\n }\n }\n\n this.callback(null, extracted.js, extracted.map)\n } catch (err) {\n console.error('ERROR', err)\n return this.callback(null, source)\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKO;AAGP,iBAAyD;AAGzD,MAAM,kBAAkC;AAExC,MAAM,kBAAkB;AACxB,MAAM,YAAY,mCAAgB;AAElC,IAAI,QAAQ;AACZ,IAAI,aAAa;AAEjB,QAAQ,IAAI,iBAAiB;AAEtB,MAAM,SAAsD,wCAAsB,UAAU;AACjG,OAAK,UAAU,IAAI;AACnB,OAAK,MAAM;AACX,QAAM,SAAS,SAAS,SAAS;AAEjC,MAAI,CAAC,QAAQ,IAAI,6BAA6B,CAAC,YAAY;AACzD,2CAAoB;AACpB,iBAAa;AAAA,EACf;AAEA,MAAI;AACF,UAAM,WAAW,KAAK,aAAa;AACnC,UAAM,UAA0B,mBAAK,KAAK,WAAW;AACrD,UAAM,aAAa,GAAG,KAAK;AAC3B,UAAM,oBAAoB,OAAO,OAAO,OAAO,OAAO,OAAO;AAE7D,QAAI,mBACD,CAAC,CAAC,QAAQ,IAAI,SACZ,SAAQ,IAAI,aAAa,WAAW,SAAS,QAAQ,IAAI,UAAU,IAAI,SAEzE,qBAAsB,QAAO,WAAW,UAAU,KAAK,OAAO,WAAW,WAAW;AAEvF,QAAI,oBAAoB,OAAO,WAAW,kBAAkB,GAAG;AAC7D,yBAAmB;AAAA,IACrB;AAGA,QACE,qBACC,QAAO,WAAW,mBAAmB,KAAK,OAAO,WAAW,oBAAoB,IACjF;AACA,aAAO,KAAK,SAAS,MAAM,MAAM;AAAA,IACnC;AAEA,UAAM,UAAU,WAAW,GAAG,0BAA0B,GAAG,cAAc;AAMzE,UAAM,YAAY,uCAAoB;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,QAAI,CAAC,WAAW;AACd,aAAO,KAAK,SAAS,MAAM,MAAM;AAAA,IACnC;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,mCAAoB,IAAI,YAAY,SAAS;AAE7C,QAAI,CAAC,UAAU;AACb,UAAI,UAAU,YAAY;AACxB,uCAAoB,IAAI,UAAU,YAAY,UAAU;AAAA,MAC1D;AAAA,IACF;AAEA,SAAK,SAAS,MAAM,UAAU,IAAI,UAAU,GAAG;AAAA,EACjD,SAAS,KAAP;AACA,YAAQ,MAAM,SAAS,GAAG;AAC1B,WAAO,KAAK,SAAS,MAAM,MAAM;AAAA,EACnC;AACF,GA3EmE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/css.js
CHANGED
|
@@ -18,7 +18,7 @@ function loader() {
|
|
|
18
18
|
} else if (options.cssData) {
|
|
19
19
|
out = Buffer.from(options.cssData, "base64").toString("utf-8");
|
|
20
20
|
}
|
|
21
|
-
if (
|
|
21
|
+
if (out) {
|
|
22
22
|
return this.callback(null, out || "");
|
|
23
23
|
}
|
|
24
24
|
this.callback({ message: `No CSS found`, name: "missing_css" });
|
package/dist/esm/css.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/css.ts"],
|
|
4
|
-
"sourcesContent": ["import { ExtractedResponse, TamaguiOptions } from '@tamagui/static'\nimport { LoaderContext } from 'webpack'\n\nexport const extractedInfoByFile = new Map<string, ExtractedResponse>()\nexport const stylePathToFilePath = new Map<string, string>()\n\nexport default function loader(this: LoaderContext<any>) {\n this.async()\n const options: TamaguiOptions = { ...this.getOptions() }\n const sourcePath = `${this.resourcePath}`\n let out = ''\n if (options.cssPath) {\n // get in memory info\n const pathKey = stylePathToFilePath.get(sourcePath) ?? sourcePath\n const info = extractedInfoByFile.get(pathKey)\n // clear memory\n stylePathToFilePath.delete(sourcePath)\n extractedInfoByFile.delete(pathKey)\n const out = info?.styles\n return this.callback(null, out || '')\n } else if (options.cssData) {\n // get output CSS\n out = Buffer.from(options.cssData, 'base64').toString('utf-8')\n }\n if (
|
|
5
|
-
"mappings": ";;AAGO,MAAM,sBAAsB,oBAAI,IAA+B;AAC/D,MAAM,sBAAsB,oBAAI,IAAoB;AAE5C,kBAA0C;AANzD;AAOE,OAAK,MAAM;AACX,QAAM,UAA0B,EAAE,GAAG,KAAK,WAAW,EAAE;AACvD,QAAM,aAAa,GAAG,KAAK;AAC3B,MAAI,MAAM;AACV,MAAI,QAAQ,SAAS;AAEnB,UAAM,UAAU,0BAAoB,IAAI,UAAU,MAAlC,YAAuC;AACvD,UAAM,OAAO,oBAAoB,IAAI,OAAO;AAE5C,wBAAoB,OAAO,UAAU;AACrC,wBAAoB,OAAO,OAAO;AAClC,UAAM,OAAM,6BAAM;AAClB,WAAO,KAAK,SAAS,MAAM,QAAO,EAAE;AAAA,EACtC,WAAW,QAAQ,SAAS;AAE1B,UAAM,OAAO,KAAK,QAAQ,SAAS,QAAQ,EAAE,SAAS,OAAO;AAAA,EAC/D;AACA,MAAI,
|
|
4
|
+
"sourcesContent": ["import { ExtractedResponse, TamaguiOptions } from '@tamagui/static'\nimport { LoaderContext } from 'webpack'\n\nexport const extractedInfoByFile = new Map<string, ExtractedResponse>()\nexport const stylePathToFilePath = new Map<string, string>()\n\nexport default function loader(this: LoaderContext<any>) {\n this.async()\n const options: TamaguiOptions = { ...this.getOptions() }\n const sourcePath = `${this.resourcePath}`\n let out = ''\n if (options.cssPath) {\n // get in memory info\n const pathKey = stylePathToFilePath.get(sourcePath) ?? sourcePath\n const info = extractedInfoByFile.get(pathKey)\n // clear memory\n stylePathToFilePath.delete(sourcePath)\n extractedInfoByFile.delete(pathKey)\n const out = info?.styles\n return this.callback(null, out || '')\n } else if (options.cssData) {\n // get output CSS\n out = Buffer.from(options.cssData, 'base64').toString('utf-8')\n }\n if (out) {\n // use original JS sourcemap\n return this.callback(null, out || '')\n }\n this.callback({ message: `No CSS found`, name: 'missing_css' })\n}\n"],
|
|
5
|
+
"mappings": ";;AAGO,MAAM,sBAAsB,oBAAI,IAA+B;AAC/D,MAAM,sBAAsB,oBAAI,IAAoB;AAE5C,kBAA0C;AANzD;AAOE,OAAK,MAAM;AACX,QAAM,UAA0B,EAAE,GAAG,KAAK,WAAW,EAAE;AACvD,QAAM,aAAa,GAAG,KAAK;AAC3B,MAAI,MAAM;AACV,MAAI,QAAQ,SAAS;AAEnB,UAAM,UAAU,0BAAoB,IAAI,UAAU,MAAlC,YAAuC;AACvD,UAAM,OAAO,oBAAoB,IAAI,OAAO;AAE5C,wBAAoB,OAAO,UAAU;AACrC,wBAAoB,OAAO,OAAO;AAClC,UAAM,OAAM,6BAAM;AAClB,WAAO,KAAK,SAAS,MAAM,QAAO,EAAE;AAAA,EACtC,WAAW,QAAQ,SAAS;AAE1B,UAAM,OAAO,KAAK,QAAQ,SAAS,QAAQ,EAAE,SAAS,OAAO;AAAA,EAC/D;AACA,MAAI,KAAK;AAEP,WAAO,KAAK,SAAS,MAAM,OAAO,EAAE;AAAA,EACtC;AACA,OAAK,SAAS,EAAE,SAAS,gBAAgB,MAAM,cAAc,CAAC;AAChE;AAvBwB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/loader.js
CHANGED
|
@@ -12,9 +12,10 @@ const extractor = createExtractor();
|
|
|
12
12
|
let index = 0;
|
|
13
13
|
let hasPatched = false;
|
|
14
14
|
process.env.TAMAGUI_TARGET = "web";
|
|
15
|
-
|
|
16
|
-
this.cacheable();
|
|
15
|
+
const loader = /* @__PURE__ */ __name(function loader2(sourceIn) {
|
|
16
|
+
this.cacheable(true);
|
|
17
17
|
this.async();
|
|
18
|
+
const source = sourceIn.toString();
|
|
18
19
|
if (!process.env.TAMAGUI_DISABLE_RNW_PATCH && !hasPatched) {
|
|
19
20
|
patchReactNativeWeb();
|
|
20
21
|
hasPatched = true;
|
|
@@ -33,19 +34,23 @@ function loader(source) {
|
|
|
33
34
|
}
|
|
34
35
|
const cssPath = threaded ? `${sourcePath}.module.css` : `${sourcePath}.${index++}.module.css`;
|
|
35
36
|
const extracted = extractToClassNames({
|
|
36
|
-
loader: this,
|
|
37
37
|
extractor,
|
|
38
|
-
cssLoaderPath: CSS_LOADER_PATH,
|
|
39
38
|
source,
|
|
40
|
-
threaded,
|
|
41
39
|
sourcePath,
|
|
42
|
-
cssPath,
|
|
43
40
|
options,
|
|
44
41
|
shouldPrintDebug
|
|
45
42
|
});
|
|
46
43
|
if (!extracted) {
|
|
47
44
|
return this.callback(null, source);
|
|
48
45
|
}
|
|
46
|
+
if (extracted.styles) {
|
|
47
|
+
const cssQuery = threaded ? `cssData=${Buffer.from(extracted.styles).toString("base64")}` : `cssPath=${cssPath}`;
|
|
48
|
+
const remReq = this.remainingRequest;
|
|
49
|
+
const importPath = `${cssPath}!=!${CSS_LOADER_PATH}?${cssQuery}!${remReq}`;
|
|
50
|
+
extracted.js = `${extracted.js}
|
|
51
|
+
|
|
52
|
+
require(${JSON.stringify(importPath)})`;
|
|
53
|
+
}
|
|
49
54
|
extractedInfoByFile.set(sourcePath, extracted);
|
|
50
55
|
if (!threaded) {
|
|
51
56
|
if (extracted.stylesPath) {
|
|
@@ -57,8 +62,7 @@ function loader(source) {
|
|
|
57
62
|
console.error("ERROR", err);
|
|
58
63
|
return this.callback(null, source);
|
|
59
64
|
}
|
|
60
|
-
}
|
|
61
|
-
__name(loader, "loader");
|
|
65
|
+
}, "loader");
|
|
62
66
|
export {
|
|
63
67
|
loader
|
|
64
68
|
};
|
package/dist/esm/loader.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/loader.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n TamaguiOptions,\n createExtractor,\n extractToClassNames,\n patchReactNativeWeb,\n} from '@tamagui/static'\nimport { LoaderContext } from 'webpack'\n\nimport { extractedInfoByFile, stylePathToFilePath } from './css'\n\n// pass loader as path\nconst CSS_LOADER_PATH = require.resolve('./css')\n\nError.stackTraceLimit = Infinity\nconst extractor = createExtractor()\n\nlet index = 0\nlet hasPatched = false\n\nprocess.env.TAMAGUI_TARGET = 'web'\n\nexport
|
|
5
|
-
"mappings": ";;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;AAGA,MAAM,kBAAkC;AAExC,MAAM,kBAAkB;AACxB,MAAM,YAAY,gBAAgB;AAElC,IAAI,QAAQ;AACZ,IAAI,aAAa;AAEjB,QAAQ,IAAI,iBAAiB;AAEtB,
|
|
4
|
+
"sourcesContent": ["import {\n TamaguiOptions,\n createExtractor,\n extractToClassNames,\n patchReactNativeWeb,\n} from '@tamagui/static'\nimport type { LoaderContext, RawLoaderDefinitionFunction } from 'webpack'\n\nimport { extractedInfoByFile, stylePathToFilePath } from './css'\n\n// pass loader as path\nconst CSS_LOADER_PATH = require.resolve('./css')\n\nError.stackTraceLimit = Infinity\nconst extractor = createExtractor()\n\nlet index = 0\nlet hasPatched = false\n\nprocess.env.TAMAGUI_TARGET = 'web'\n\nexport const loader: RawLoaderDefinitionFunction<TamaguiOptions> = function loader(this, sourceIn) {\n this.cacheable(true)\n this.async()\n const source = sourceIn.toString()\n\n if (!process.env.TAMAGUI_DISABLE_RNW_PATCH && !hasPatched) {\n patchReactNativeWeb()\n hasPatched = true\n }\n\n try {\n const threaded = this.emitFile === undefined\n const options: TamaguiOptions = { ...this.getOptions() }\n const sourcePath = `${this.resourcePath}`\n const startsWithComment = source[0] === '/' && source[1] === '/'\n\n let shouldPrintDebug: boolean | 'verbose' =\n (!!process.env.DEBUG &&\n (process.env.DEBUG_FILE ? sourcePath.includes(process.env.DEBUG_FILE) : true)) ||\n // supports esbuild style //! comments\n (startsWithComment && (source.startsWith('// debug') || source.startsWith('//! debug')))\n\n if (shouldPrintDebug && source.startsWith('// debug-verbose')) {\n shouldPrintDebug = 'verbose'\n }\n\n // check if should ignore\n if (\n startsWithComment &&\n (source.startsWith('// tamagui-ignore') || source.startsWith('//! tamagui-ignore'))\n ) {\n return this.callback(null, source)\n }\n\n const cssPath = threaded ? `${sourcePath}.module.css` : `${sourcePath}.${index++}.module.css`\n\n // cssLoaderPath: CSS_LOADER_PATH,\n // threaded,\n // cssPath,\n\n const extracted = extractToClassNames({\n extractor,\n source,\n sourcePath,\n options,\n shouldPrintDebug,\n })\n\n if (!extracted) {\n return this.callback(null, source)\n }\n\n // add import to css\n if (extracted.styles) {\n const cssQuery = threaded\n ? `cssData=${Buffer.from(extracted.styles).toString('base64')}`\n : `cssPath=${cssPath}`\n const remReq = this.remainingRequest\n const importPath = `${cssPath}!=!${CSS_LOADER_PATH}?${cssQuery}!${remReq}`\n extracted.js = `${extracted.js}\\n\\nrequire(${JSON.stringify(importPath)})`\n }\n\n extractedInfoByFile.set(sourcePath, extracted)\n\n if (!threaded) {\n if (extracted.stylesPath) {\n stylePathToFilePath.set(extracted.stylesPath, sourcePath)\n }\n }\n\n this.callback(null, extracted.js, extracted.map)\n } catch (err) {\n console.error('ERROR', err)\n return this.callback(null, source)\n }\n}\n"],
|
|
5
|
+
"mappings": ";;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;AAGA,MAAM,kBAAkC;AAExC,MAAM,kBAAkB;AACxB,MAAM,YAAY,gBAAgB;AAElC,IAAI,QAAQ;AACZ,IAAI,aAAa;AAEjB,QAAQ,IAAI,iBAAiB;AAEtB,MAAM,SAAsD,wCAAsB,UAAU;AACjG,OAAK,UAAU,IAAI;AACnB,OAAK,MAAM;AACX,QAAM,SAAS,SAAS,SAAS;AAEjC,MAAI,CAAC,QAAQ,IAAI,6BAA6B,CAAC,YAAY;AACzD,wBAAoB;AACpB,iBAAa;AAAA,EACf;AAEA,MAAI;AACF,UAAM,WAAW,KAAK,aAAa;AACnC,UAAM,UAA0B,EAAE,GAAG,KAAK,WAAW,EAAE;AACvD,UAAM,aAAa,GAAG,KAAK;AAC3B,UAAM,oBAAoB,OAAO,OAAO,OAAO,OAAO,OAAO;AAE7D,QAAI,mBACD,CAAC,CAAC,QAAQ,IAAI,SACZ,SAAQ,IAAI,aAAa,WAAW,SAAS,QAAQ,IAAI,UAAU,IAAI,SAEzE,qBAAsB,QAAO,WAAW,UAAU,KAAK,OAAO,WAAW,WAAW;AAEvF,QAAI,oBAAoB,OAAO,WAAW,kBAAkB,GAAG;AAC7D,yBAAmB;AAAA,IACrB;AAGA,QACE,qBACC,QAAO,WAAW,mBAAmB,KAAK,OAAO,WAAW,oBAAoB,IACjF;AACA,aAAO,KAAK,SAAS,MAAM,MAAM;AAAA,IACnC;AAEA,UAAM,UAAU,WAAW,GAAG,0BAA0B,GAAG,cAAc;AAMzE,UAAM,YAAY,oBAAoB;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,QAAI,CAAC,WAAW;AACd,aAAO,KAAK,SAAS,MAAM,MAAM;AAAA,IACnC;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,SAAK,SAAS,MAAM,UAAU,IAAI,UAAU,GAAG;AAAA,EACjD,SAAS,KAAP;AACA,YAAQ,MAAM,SAAS,GAAG;AAC1B,WAAO,KAAK,SAAS,MAAM,MAAM;AAAA,EACnC;AACF,GA3EmE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/jsx/css.js
CHANGED
|
@@ -18,7 +18,7 @@ function loader() {
|
|
|
18
18
|
} else if (options.cssData) {
|
|
19
19
|
out = Buffer.from(options.cssData, "base64").toString("utf-8");
|
|
20
20
|
}
|
|
21
|
-
if (
|
|
21
|
+
if (out) {
|
|
22
22
|
return this.callback(null, out || "");
|
|
23
23
|
}
|
|
24
24
|
this.callback({ message: `No CSS found`, name: "missing_css" });
|
package/dist/jsx/loader.js
CHANGED
|
@@ -12,9 +12,10 @@ const extractor = createExtractor();
|
|
|
12
12
|
let index = 0;
|
|
13
13
|
let hasPatched = false;
|
|
14
14
|
process.env.TAMAGUI_TARGET = "web";
|
|
15
|
-
|
|
16
|
-
this.cacheable();
|
|
15
|
+
const loader = /* @__PURE__ */ __name(function loader2(sourceIn) {
|
|
16
|
+
this.cacheable(true);
|
|
17
17
|
this.async();
|
|
18
|
+
const source = sourceIn.toString();
|
|
18
19
|
if (!process.env.TAMAGUI_DISABLE_RNW_PATCH && !hasPatched) {
|
|
19
20
|
patchReactNativeWeb();
|
|
20
21
|
hasPatched = true;
|
|
@@ -33,19 +34,23 @@ function loader(source) {
|
|
|
33
34
|
}
|
|
34
35
|
const cssPath = threaded ? `${sourcePath}.module.css` : `${sourcePath}.${index++}.module.css`;
|
|
35
36
|
const extracted = extractToClassNames({
|
|
36
|
-
loader: this,
|
|
37
37
|
extractor,
|
|
38
|
-
cssLoaderPath: CSS_LOADER_PATH,
|
|
39
38
|
source,
|
|
40
|
-
threaded,
|
|
41
39
|
sourcePath,
|
|
42
|
-
cssPath,
|
|
43
40
|
options,
|
|
44
41
|
shouldPrintDebug
|
|
45
42
|
});
|
|
46
43
|
if (!extracted) {
|
|
47
44
|
return this.callback(null, source);
|
|
48
45
|
}
|
|
46
|
+
if (extracted.styles) {
|
|
47
|
+
const cssQuery = threaded ? `cssData=${Buffer.from(extracted.styles).toString("base64")}` : `cssPath=${cssPath}`;
|
|
48
|
+
const remReq = this.remainingRequest;
|
|
49
|
+
const importPath = `${cssPath}!=!${CSS_LOADER_PATH}?${cssQuery}!${remReq}`;
|
|
50
|
+
extracted.js = `${extracted.js}
|
|
51
|
+
|
|
52
|
+
require(${JSON.stringify(importPath)})`;
|
|
53
|
+
}
|
|
49
54
|
extractedInfoByFile.set(sourcePath, extracted);
|
|
50
55
|
if (!threaded) {
|
|
51
56
|
if (extracted.stylesPath) {
|
|
@@ -57,8 +62,7 @@ function loader(source) {
|
|
|
57
62
|
console.error("ERROR", err);
|
|
58
63
|
return this.callback(null, source);
|
|
59
64
|
}
|
|
60
|
-
}
|
|
61
|
-
__name(loader, "loader");
|
|
65
|
+
}, "loader");
|
|
62
66
|
export {
|
|
63
67
|
loader
|
|
64
68
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tamagui-loader",
|
|
3
|
-
"version": "1.0.1-beta.
|
|
3
|
+
"version": "1.0.1-beta.71",
|
|
4
4
|
"types": "./types/index.d.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"clean:build": "tamagui-build clean:build"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@tamagui/static": "^1.0.1-beta.
|
|
20
|
+
"@tamagui/static": "^1.0.1-beta.71",
|
|
21
21
|
"fs-extra": "^9.1.0",
|
|
22
22
|
"lodash": "^4.17.21"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@tamagui/build": "^1.0.1-beta.
|
|
25
|
+
"@tamagui/build": "^1.0.1-beta.71"
|
|
26
26
|
},
|
|
27
27
|
"publishConfig": {
|
|
28
28
|
"access": "public"
|
package/src/css.ts
CHANGED
|
@@ -22,7 +22,7 @@ export default function loader(this: LoaderContext<any>) {
|
|
|
22
22
|
// get output CSS
|
|
23
23
|
out = Buffer.from(options.cssData, 'base64').toString('utf-8')
|
|
24
24
|
}
|
|
25
|
-
if (
|
|
25
|
+
if (out) {
|
|
26
26
|
// use original JS sourcemap
|
|
27
27
|
return this.callback(null, out || '')
|
|
28
28
|
}
|
package/src/loader.ts
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
extractToClassNames,
|
|
5
5
|
patchReactNativeWeb,
|
|
6
6
|
} from '@tamagui/static'
|
|
7
|
-
import { LoaderContext } from 'webpack'
|
|
7
|
+
import type { LoaderContext, RawLoaderDefinitionFunction } from 'webpack'
|
|
8
8
|
|
|
9
9
|
import { extractedInfoByFile, stylePathToFilePath } from './css'
|
|
10
10
|
|
|
@@ -19,9 +19,10 @@ let hasPatched = false
|
|
|
19
19
|
|
|
20
20
|
process.env.TAMAGUI_TARGET = 'web'
|
|
21
21
|
|
|
22
|
-
export
|
|
23
|
-
this.cacheable()
|
|
22
|
+
export const loader: RawLoaderDefinitionFunction<TamaguiOptions> = function loader(this, sourceIn) {
|
|
23
|
+
this.cacheable(true)
|
|
24
24
|
this.async()
|
|
25
|
+
const source = sourceIn.toString()
|
|
25
26
|
|
|
26
27
|
if (!process.env.TAMAGUI_DISABLE_RNW_PATCH && !hasPatched) {
|
|
27
28
|
patchReactNativeWeb()
|
|
@@ -54,14 +55,14 @@ export function loader(this: LoaderContext<any>, source: string) {
|
|
|
54
55
|
|
|
55
56
|
const cssPath = threaded ? `${sourcePath}.module.css` : `${sourcePath}.${index++}.module.css`
|
|
56
57
|
|
|
58
|
+
// cssLoaderPath: CSS_LOADER_PATH,
|
|
59
|
+
// threaded,
|
|
60
|
+
// cssPath,
|
|
61
|
+
|
|
57
62
|
const extracted = extractToClassNames({
|
|
58
|
-
loader: this,
|
|
59
63
|
extractor,
|
|
60
|
-
cssLoaderPath: CSS_LOADER_PATH,
|
|
61
64
|
source,
|
|
62
|
-
threaded,
|
|
63
65
|
sourcePath,
|
|
64
|
-
cssPath,
|
|
65
66
|
options,
|
|
66
67
|
shouldPrintDebug,
|
|
67
68
|
})
|
|
@@ -70,6 +71,16 @@ export function loader(this: LoaderContext<any>, source: string) {
|
|
|
70
71
|
return this.callback(null, source)
|
|
71
72
|
}
|
|
72
73
|
|
|
74
|
+
// add import to css
|
|
75
|
+
if (extracted.styles) {
|
|
76
|
+
const cssQuery = threaded
|
|
77
|
+
? `cssData=${Buffer.from(extracted.styles).toString('base64')}`
|
|
78
|
+
: `cssPath=${cssPath}`
|
|
79
|
+
const remReq = this.remainingRequest
|
|
80
|
+
const importPath = `${cssPath}!=!${CSS_LOADER_PATH}?${cssQuery}!${remReq}`
|
|
81
|
+
extracted.js = `${extracted.js}\n\nrequire(${JSON.stringify(importPath)})`
|
|
82
|
+
}
|
|
83
|
+
|
|
73
84
|
extractedInfoByFile.set(sourcePath, extracted)
|
|
74
85
|
|
|
75
86
|
if (!threaded) {
|
package/types/css.d.ts
CHANGED
|
File without changes
|
package/types/css.d.ts.map
CHANGED
|
File without changes
|
package/types/index.d.ts
CHANGED
|
File without changes
|
package/types/index.d.ts.map
CHANGED
|
File without changes
|
package/types/loader.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { TamaguiOptions } from '@tamagui/static';
|
|
2
|
+
import type { RawLoaderDefinitionFunction } from 'webpack';
|
|
3
|
+
export declare const loader: RawLoaderDefinitionFunction<TamaguiOptions>;
|
|
3
4
|
//# sourceMappingURL=loader.d.ts.map
|
package/types/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAIf,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAiB,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAezE,eAAO,MAAM,MAAM,EAAE,2BAA2B,CAAC,cAAc,CA2E9D,CAAA"}
|