tamagui-loader 1.5.9 → 1.5.10
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/plugin.js +1 -1
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/esm/plugin.js +1 -1
- package/dist/esm/plugin.js.map +1 -1
- package/dist/esm/plugin.mjs +1 -1
- package/dist/esm/plugin.mjs.map +1 -1
- package/package.json +4 -4
- package/src/plugin.ts +1 -1
- package/types/css.d.ts.map +1 -0
- package/types/index.d.ts.map +1 -0
- package/types/loader.d.ts.map +1 -0
- package/types/plugin.d.ts.map +1 -0
package/dist/cjs/plugin.js
CHANGED
|
@@ -80,7 +80,7 @@ class TamaguiPlugin {
|
|
|
80
80
|
const startIndex = nextJsRules ? nextJsRules + 1 : 0;
|
|
81
81
|
const existingLoader = nextJsRules ? rules[startIndex] : void 0;
|
|
82
82
|
rules.splice(startIndex, 0, {
|
|
83
|
-
test: this.options.test ?? /\.m?
|
|
83
|
+
test: this.options.test ?? /\.m?[jt]sx?$/,
|
|
84
84
|
exclude: this.options.exclude,
|
|
85
85
|
resolve: {
|
|
86
86
|
fullySpecified: false
|
package/dist/cjs/plugin.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugin.ts"],
|
|
4
|
-
"sourcesContent": ["import type { TamaguiOptions } from '@tamagui/static'\nimport type { Compiler, RuleSetRule } from 'webpack'\n\ntype PluginOptions = TamaguiOptions & {\n commonjs?: boolean\n exclude?: RuleSetRule['exclude']\n test?: RuleSetRule['test']\n jsLoader?: any\n}\n\nexport class TamaguiPlugin {\n pluginName = 'TamaguiPlugin'\n\n constructor(\n public options: PluginOptions = {\n components: ['@tamagui/core'],\n }\n ) {}\n\n apply(compiler: Compiler) {\n // mark as side effect\n compiler.hooks.normalModuleFactory.tap(this.pluginName, (nmf) => {\n nmf.hooks.createModule.tap(\n this.pluginName,\n // @ts-expect-error CreateData is typed as 'object'...\n (createData: { matchResource?: string; settings: { sideEffects?: boolean } }) => {\n if (createData.matchResource?.endsWith('.tamagui.css')) {\n createData.settings.sideEffects = true\n }\n }\n )\n })\n\n compiler.options.resolve.extensions = [\n ...new Set([\n '.web.tsx',\n '.web.ts',\n '.web.js',\n '.ts',\n '.tsx',\n '.js',\n ...(compiler.options.resolve.extensions || []),\n ]),\n ]\n\n // look for compiled js with jsx intact as specified by module:jsx\n const mainFields = compiler.options.resolve.mainFields\n if (mainFields) {\n compiler.options.resolve.mainFields = Array.isArray(mainFields)\n ? mainFields\n : [mainFields]\n mainFields.unshift('module:jsx')\n }\n\n if (!compiler.options.module) {\n return\n }\n\n const { jsLoader } = this.options\n\n const existing = compiler.options.module.rules as any[]\n\n const rules =\n (existing.find((x) => (typeof x === 'object' && 'oneOf' in x ? x : null))\n ?.oneOf as any[]) ?? existing\n\n const nextJsRules = rules.findIndex(\n (x) => x?.use && x.use.loader === 'next-swc-loader' && x.issuerLayer !== 'api'\n )\n\n const startIndex = nextJsRules ? nextJsRules + 1 : 0\n const existingLoader = nextJsRules ? rules[startIndex] : undefined\n\n rules.splice(startIndex, 0, {\n test: this.options.test ?? /\\.m?
|
|
4
|
+
"sourcesContent": ["import type { TamaguiOptions } from '@tamagui/static'\nimport type { Compiler, RuleSetRule } from 'webpack'\n\ntype PluginOptions = TamaguiOptions & {\n commonjs?: boolean\n exclude?: RuleSetRule['exclude']\n test?: RuleSetRule['test']\n jsLoader?: any\n}\n\nexport class TamaguiPlugin {\n pluginName = 'TamaguiPlugin'\n\n constructor(\n public options: PluginOptions = {\n components: ['@tamagui/core'],\n }\n ) {}\n\n apply(compiler: Compiler) {\n // mark as side effect\n compiler.hooks.normalModuleFactory.tap(this.pluginName, (nmf) => {\n nmf.hooks.createModule.tap(\n this.pluginName,\n // @ts-expect-error CreateData is typed as 'object'...\n (createData: { matchResource?: string; settings: { sideEffects?: boolean } }) => {\n if (createData.matchResource?.endsWith('.tamagui.css')) {\n createData.settings.sideEffects = true\n }\n }\n )\n })\n\n compiler.options.resolve.extensions = [\n ...new Set([\n '.web.tsx',\n '.web.ts',\n '.web.js',\n '.ts',\n '.tsx',\n '.js',\n ...(compiler.options.resolve.extensions || []),\n ]),\n ]\n\n // look for compiled js with jsx intact as specified by module:jsx\n const mainFields = compiler.options.resolve.mainFields\n if (mainFields) {\n compiler.options.resolve.mainFields = Array.isArray(mainFields)\n ? mainFields\n : [mainFields]\n mainFields.unshift('module:jsx')\n }\n\n if (!compiler.options.module) {\n return\n }\n\n const { jsLoader } = this.options\n\n const existing = compiler.options.module.rules as any[]\n\n const rules =\n (existing.find((x) => (typeof x === 'object' && 'oneOf' in x ? x : null))\n ?.oneOf as any[]) ?? existing\n\n const nextJsRules = rules.findIndex(\n (x) => x?.use && x.use.loader === 'next-swc-loader' && x.issuerLayer !== 'api'\n )\n\n const startIndex = nextJsRules ? nextJsRules + 1 : 0\n const existingLoader = nextJsRules ? rules[startIndex] : undefined\n\n rules.splice(startIndex, 0, {\n test: this.options.test ?? /\\.m?[jt]sx?$/,\n exclude: this.options.exclude,\n resolve: {\n fullySpecified: false,\n },\n use: [\n ...(jsLoader ? [jsLoader] : []),\n ...(existingLoader && nextJsRules ? [].concat(existingLoader.use) : []),\n ...(!(jsLoader || existingLoader)\n ? [\n {\n loader: require.resolve('esbuild-loader'),\n options: {\n target: 'es2021',\n keepNames: true,\n loader: {\n '.tsx': 'tsx',\n '.png': 'copy',\n '.jpg': 'copy',\n '.gif': 'copy',\n },\n\n tsconfigRaw: {\n module: this.options.commonjs ? 'commonjs' : 'esnext',\n isolatedModules: true,\n jsx: 'preserve',\n resolveJsonModule: true,\n },\n },\n },\n ]\n : []),\n {\n loader: require.resolve('tamagui-loader'),\n options: {\n ...this.options,\n },\n },\n ],\n })\n }\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,MAAM,cAAc;AAAA,EAGzB,YACS,UAAyB;AAAA,IAC9B,YAAY,CAAC,eAAe;AAAA,EAC9B,GACA;AAHO;AAHT,sBAAa;AAAA,EAMV;AAAA,EAEH,MAAM,UAAoB;AAnB5B;AAqBI,aAAS,MAAM,oBAAoB,IAAI,KAAK,YAAY,CAAC,QAAQ;AAC/D,UAAI,MAAM,aAAa;AAAA,QACrB,KAAK;AAAA;AAAA,QAEL,CAAC,eAAgF;AAzBzF,cAAAA;AA0BU,eAAIA,MAAA,WAAW,kBAAX,gBAAAA,IAA0B,SAAS,iBAAiB;AACtD,uBAAW,SAAS,cAAc;AAAA,UACpC;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAED,aAAS,QAAQ,QAAQ,aAAa;AAAA,MACpC,GAAG,oBAAI,IAAI;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAI,SAAS,QAAQ,QAAQ,cAAc,CAAC;AAAA,MAC9C,CAAC;AAAA,IACH;AAGA,UAAM,aAAa,SAAS,QAAQ,QAAQ;AAC5C,QAAI,YAAY;AACd,eAAS,QAAQ,QAAQ,aAAa,MAAM,QAAQ,UAAU,IAC1D,aACA,CAAC,UAAU;AACf,iBAAW,QAAQ,YAAY;AAAA,IACjC;AAEA,QAAI,CAAC,SAAS,QAAQ,QAAQ;AAC5B;AAAA,IACF;AAEA,UAAM,EAAE,SAAS,IAAI,KAAK;AAE1B,UAAM,WAAW,SAAS,QAAQ,OAAO;AAEzC,UAAM,UACH,cAAS,KAAK,CAAC,MAAO,OAAO,MAAM,YAAY,WAAW,IAAI,IAAI,IAAK,MAAvE,mBACG,UAAmB;AAEzB,UAAM,cAAc,MAAM;AAAA,MACxB,CAAC,OAAM,uBAAG,QAAO,EAAE,IAAI,WAAW,qBAAqB,EAAE,gBAAgB;AAAA,IAC3E;AAEA,UAAM,aAAa,cAAc,cAAc,IAAI;AACnD,UAAM,iBAAiB,cAAc,MAAM,UAAU,IAAI;AAEzD,UAAM,OAAO,YAAY,GAAG;AAAA,MAC1B,MAAM,KAAK,QAAQ,QAAQ;AAAA,MAC3B,SAAS,KAAK,QAAQ;AAAA,MACtB,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,MACA,KAAK;AAAA,QACH,GAAI,WAAW,CAAC,QAAQ,IAAI,CAAC;AAAA,QAC7B,GAAI,kBAAkB,cAAc,CAAC,EAAE,OAAO,eAAe,GAAG,IAAI,CAAC;AAAA,QACrE,GAAI,EAAE,YAAY,kBACd;AAAA,UACE;AAAA,YACE,QAAQ,gBAAgB,gBAAgB;AAAA,YACxC,SAAS;AAAA,cACP,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,QAAQ;AAAA,gBACN,QAAQ;AAAA,gBACR,QAAQ;AAAA,gBACR,QAAQ;AAAA,gBACR,QAAQ;AAAA,cACV;AAAA,cAEA,aAAa;AAAA,gBACX,QAAQ,KAAK,QAAQ,WAAW,aAAa;AAAA,gBAC7C,iBAAiB;AAAA,gBACjB,KAAK;AAAA,gBACL,mBAAmB;AAAA,cACrB;AAAA,YACF;AAAA,UACF;AAAA,QACF,IACA,CAAC;AAAA,QACL;AAAA,UACE,QAAQ,gBAAgB,gBAAgB;AAAA,UACxC,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": ["_a"]
|
|
7
7
|
}
|
package/dist/esm/plugin.js
CHANGED
|
@@ -47,7 +47,7 @@ class TamaguiPlugin {
|
|
|
47
47
|
const startIndex = nextJsRules ? nextJsRules + 1 : 0;
|
|
48
48
|
const existingLoader = nextJsRules ? rules[startIndex] : void 0;
|
|
49
49
|
rules.splice(startIndex, 0, {
|
|
50
|
-
test: this.options.test ?? /\.m?
|
|
50
|
+
test: this.options.test ?? /\.m?[jt]sx?$/,
|
|
51
51
|
exclude: this.options.exclude,
|
|
52
52
|
resolve: {
|
|
53
53
|
fullySpecified: false
|
package/dist/esm/plugin.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugin.ts"],
|
|
4
|
-
"sourcesContent": ["import type { TamaguiOptions } from '@tamagui/static'\nimport type { Compiler, RuleSetRule } from 'webpack'\n\ntype PluginOptions = TamaguiOptions & {\n commonjs?: boolean\n exclude?: RuleSetRule['exclude']\n test?: RuleSetRule['test']\n jsLoader?: any\n}\n\nexport class TamaguiPlugin {\n pluginName = 'TamaguiPlugin'\n\n constructor(\n public options: PluginOptions = {\n components: ['@tamagui/core'],\n }\n ) {}\n\n apply(compiler: Compiler) {\n // mark as side effect\n compiler.hooks.normalModuleFactory.tap(this.pluginName, (nmf) => {\n nmf.hooks.createModule.tap(\n this.pluginName,\n // @ts-expect-error CreateData is typed as 'object'...\n (createData: { matchResource?: string; settings: { sideEffects?: boolean } }) => {\n if (createData.matchResource?.endsWith('.tamagui.css')) {\n createData.settings.sideEffects = true\n }\n }\n )\n })\n\n compiler.options.resolve.extensions = [\n ...new Set([\n '.web.tsx',\n '.web.ts',\n '.web.js',\n '.ts',\n '.tsx',\n '.js',\n ...(compiler.options.resolve.extensions || []),\n ]),\n ]\n\n // look for compiled js with jsx intact as specified by module:jsx\n const mainFields = compiler.options.resolve.mainFields\n if (mainFields) {\n compiler.options.resolve.mainFields = Array.isArray(mainFields)\n ? mainFields\n : [mainFields]\n mainFields.unshift('module:jsx')\n }\n\n if (!compiler.options.module) {\n return\n }\n\n const { jsLoader } = this.options\n\n const existing = compiler.options.module.rules as any[]\n\n const rules =\n (existing.find((x) => (typeof x === 'object' && 'oneOf' in x ? x : null))\n ?.oneOf as any[]) ?? existing\n\n const nextJsRules = rules.findIndex(\n (x) => x?.use && x.use.loader === 'next-swc-loader' && x.issuerLayer !== 'api'\n )\n\n const startIndex = nextJsRules ? nextJsRules + 1 : 0\n const existingLoader = nextJsRules ? rules[startIndex] : undefined\n\n rules.splice(startIndex, 0, {\n test: this.options.test ?? /\\.m?
|
|
4
|
+
"sourcesContent": ["import type { TamaguiOptions } from '@tamagui/static'\nimport type { Compiler, RuleSetRule } from 'webpack'\n\ntype PluginOptions = TamaguiOptions & {\n commonjs?: boolean\n exclude?: RuleSetRule['exclude']\n test?: RuleSetRule['test']\n jsLoader?: any\n}\n\nexport class TamaguiPlugin {\n pluginName = 'TamaguiPlugin'\n\n constructor(\n public options: PluginOptions = {\n components: ['@tamagui/core'],\n }\n ) {}\n\n apply(compiler: Compiler) {\n // mark as side effect\n compiler.hooks.normalModuleFactory.tap(this.pluginName, (nmf) => {\n nmf.hooks.createModule.tap(\n this.pluginName,\n // @ts-expect-error CreateData is typed as 'object'...\n (createData: { matchResource?: string; settings: { sideEffects?: boolean } }) => {\n if (createData.matchResource?.endsWith('.tamagui.css')) {\n createData.settings.sideEffects = true\n }\n }\n )\n })\n\n compiler.options.resolve.extensions = [\n ...new Set([\n '.web.tsx',\n '.web.ts',\n '.web.js',\n '.ts',\n '.tsx',\n '.js',\n ...(compiler.options.resolve.extensions || []),\n ]),\n ]\n\n // look for compiled js with jsx intact as specified by module:jsx\n const mainFields = compiler.options.resolve.mainFields\n if (mainFields) {\n compiler.options.resolve.mainFields = Array.isArray(mainFields)\n ? mainFields\n : [mainFields]\n mainFields.unshift('module:jsx')\n }\n\n if (!compiler.options.module) {\n return\n }\n\n const { jsLoader } = this.options\n\n const existing = compiler.options.module.rules as any[]\n\n const rules =\n (existing.find((x) => (typeof x === 'object' && 'oneOf' in x ? x : null))\n ?.oneOf as any[]) ?? existing\n\n const nextJsRules = rules.findIndex(\n (x) => x?.use && x.use.loader === 'next-swc-loader' && x.issuerLayer !== 'api'\n )\n\n const startIndex = nextJsRules ? nextJsRules + 1 : 0\n const existingLoader = nextJsRules ? rules[startIndex] : undefined\n\n rules.splice(startIndex, 0, {\n test: this.options.test ?? /\\.m?[jt]sx?$/,\n exclude: this.options.exclude,\n resolve: {\n fullySpecified: false,\n },\n use: [\n ...(jsLoader ? [jsLoader] : []),\n ...(existingLoader && nextJsRules ? [].concat(existingLoader.use) : []),\n ...(!(jsLoader || existingLoader)\n ? [\n {\n loader: require.resolve('esbuild-loader'),\n options: {\n target: 'es2021',\n keepNames: true,\n loader: {\n '.tsx': 'tsx',\n '.png': 'copy',\n '.jpg': 'copy',\n '.gif': 'copy',\n },\n\n tsconfigRaw: {\n module: this.options.commonjs ? 'commonjs' : 'esnext',\n isolatedModules: true,\n jsx: 'preserve',\n resolveJsonModule: true,\n },\n },\n },\n ]\n : []),\n {\n loader: require.resolve('tamagui-loader'),\n options: {\n ...this.options,\n },\n },\n ],\n })\n }\n}\n"],
|
|
5
5
|
"mappings": "AAUO,MAAM,cAAc;AAAA,EAGzB,YACS,UAAyB;AAAA,IAC9B,YAAY,CAAC,eAAe;AAAA,EAC9B,GACA;AAHO;AAHT,sBAAa;AAAA,EAMV;AAAA,EAEH,MAAM,UAAoB;AAnB5B;AAqBI,aAAS,MAAM,oBAAoB,IAAI,KAAK,YAAY,CAAC,QAAQ;AAC/D,UAAI,MAAM,aAAa;AAAA,QACrB,KAAK;AAAA;AAAA,QAEL,CAAC,eAAgF;AAzBzF,cAAAA;AA0BU,eAAIA,MAAA,WAAW,kBAAX,gBAAAA,IAA0B,SAAS,iBAAiB;AACtD,uBAAW,SAAS,cAAc;AAAA,UACpC;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAED,aAAS,QAAQ,QAAQ,aAAa;AAAA,MACpC,GAAG,oBAAI,IAAI;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAI,SAAS,QAAQ,QAAQ,cAAc,CAAC;AAAA,MAC9C,CAAC;AAAA,IACH;AAGA,UAAM,aAAa,SAAS,QAAQ,QAAQ;AAC5C,QAAI,YAAY;AACd,eAAS,QAAQ,QAAQ,aAAa,MAAM,QAAQ,UAAU,IAC1D,aACA,CAAC,UAAU;AACf,iBAAW,QAAQ,YAAY;AAAA,IACjC;AAEA,QAAI,CAAC,SAAS,QAAQ,QAAQ;AAC5B;AAAA,IACF;AAEA,UAAM,EAAE,SAAS,IAAI,KAAK;AAE1B,UAAM,WAAW,SAAS,QAAQ,OAAO;AAEzC,UAAM,UACH,cAAS,KAAK,CAAC,MAAO,OAAO,MAAM,YAAY,WAAW,IAAI,IAAI,IAAK,MAAvE,mBACG,UAAmB;AAEzB,UAAM,cAAc,MAAM;AAAA,MACxB,CAAC,OAAM,uBAAG,QAAO,EAAE,IAAI,WAAW,qBAAqB,EAAE,gBAAgB;AAAA,IAC3E;AAEA,UAAM,aAAa,cAAc,cAAc,IAAI;AACnD,UAAM,iBAAiB,cAAc,MAAM,UAAU,IAAI;AAEzD,UAAM,OAAO,YAAY,GAAG;AAAA,MAC1B,MAAM,KAAK,QAAQ,QAAQ;AAAA,MAC3B,SAAS,KAAK,QAAQ;AAAA,MACtB,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,MACA,KAAK;AAAA,QACH,GAAI,WAAW,CAAC,QAAQ,IAAI,CAAC;AAAA,QAC7B,GAAI,kBAAkB,cAAc,CAAC,EAAE,OAAO,eAAe,GAAG,IAAI,CAAC;AAAA,QACrE,GAAI,EAAE,YAAY,kBACd;AAAA,UACE;AAAA,YACE,QAAQ,gBAAgB,gBAAgB;AAAA,YACxC,SAAS;AAAA,cACP,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,QAAQ;AAAA,gBACN,QAAQ;AAAA,gBACR,QAAQ;AAAA,gBACR,QAAQ;AAAA,gBACR,QAAQ;AAAA,cACV;AAAA,cAEA,aAAa;AAAA,gBACX,QAAQ,KAAK,QAAQ,WAAW,aAAa;AAAA,gBAC7C,iBAAiB;AAAA,gBACjB,KAAK;AAAA,gBACL,mBAAmB;AAAA,cACrB;AAAA,YACF;AAAA,UACF;AAAA,QACF,IACA,CAAC;AAAA,QACL;AAAA,UACE,QAAQ,gBAAgB,gBAAgB;AAAA,UACxC,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": ["_a"]
|
|
7
7
|
}
|
package/dist/esm/plugin.mjs
CHANGED
|
@@ -47,7 +47,7 @@ class TamaguiPlugin {
|
|
|
47
47
|
const startIndex = nextJsRules ? nextJsRules + 1 : 0;
|
|
48
48
|
const existingLoader = nextJsRules ? rules[startIndex] : void 0;
|
|
49
49
|
rules.splice(startIndex, 0, {
|
|
50
|
-
test: this.options.test ?? /\.m?
|
|
50
|
+
test: this.options.test ?? /\.m?[jt]sx?$/,
|
|
51
51
|
exclude: this.options.exclude,
|
|
52
52
|
resolve: {
|
|
53
53
|
fullySpecified: false
|
package/dist/esm/plugin.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugin.ts"],
|
|
4
|
-
"sourcesContent": ["import type { TamaguiOptions } from '@tamagui/static'\nimport type { Compiler, RuleSetRule } from 'webpack'\n\ntype PluginOptions = TamaguiOptions & {\n commonjs?: boolean\n exclude?: RuleSetRule['exclude']\n test?: RuleSetRule['test']\n jsLoader?: any\n}\n\nexport class TamaguiPlugin {\n pluginName = 'TamaguiPlugin'\n\n constructor(\n public options: PluginOptions = {\n components: ['@tamagui/core'],\n }\n ) {}\n\n apply(compiler: Compiler) {\n // mark as side effect\n compiler.hooks.normalModuleFactory.tap(this.pluginName, (nmf) => {\n nmf.hooks.createModule.tap(\n this.pluginName,\n // @ts-expect-error CreateData is typed as 'object'...\n (createData: { matchResource?: string; settings: { sideEffects?: boolean } }) => {\n if (createData.matchResource?.endsWith('.tamagui.css')) {\n createData.settings.sideEffects = true\n }\n }\n )\n })\n\n compiler.options.resolve.extensions = [\n ...new Set([\n '.web.tsx',\n '.web.ts',\n '.web.js',\n '.ts',\n '.tsx',\n '.js',\n ...(compiler.options.resolve.extensions || []),\n ]),\n ]\n\n // look for compiled js with jsx intact as specified by module:jsx\n const mainFields = compiler.options.resolve.mainFields\n if (mainFields) {\n compiler.options.resolve.mainFields = Array.isArray(mainFields)\n ? mainFields\n : [mainFields]\n mainFields.unshift('module:jsx')\n }\n\n if (!compiler.options.module) {\n return\n }\n\n const { jsLoader } = this.options\n\n const existing = compiler.options.module.rules as any[]\n\n const rules =\n (existing.find((x) => (typeof x === 'object' && 'oneOf' in x ? x : null))\n ?.oneOf as any[]) ?? existing\n\n const nextJsRules = rules.findIndex(\n (x) => x?.use && x.use.loader === 'next-swc-loader' && x.issuerLayer !== 'api'\n )\n\n const startIndex = nextJsRules ? nextJsRules + 1 : 0\n const existingLoader = nextJsRules ? rules[startIndex] : undefined\n\n rules.splice(startIndex, 0, {\n test: this.options.test ?? /\\.m?
|
|
4
|
+
"sourcesContent": ["import type { TamaguiOptions } from '@tamagui/static'\nimport type { Compiler, RuleSetRule } from 'webpack'\n\ntype PluginOptions = TamaguiOptions & {\n commonjs?: boolean\n exclude?: RuleSetRule['exclude']\n test?: RuleSetRule['test']\n jsLoader?: any\n}\n\nexport class TamaguiPlugin {\n pluginName = 'TamaguiPlugin'\n\n constructor(\n public options: PluginOptions = {\n components: ['@tamagui/core'],\n }\n ) {}\n\n apply(compiler: Compiler) {\n // mark as side effect\n compiler.hooks.normalModuleFactory.tap(this.pluginName, (nmf) => {\n nmf.hooks.createModule.tap(\n this.pluginName,\n // @ts-expect-error CreateData is typed as 'object'...\n (createData: { matchResource?: string; settings: { sideEffects?: boolean } }) => {\n if (createData.matchResource?.endsWith('.tamagui.css')) {\n createData.settings.sideEffects = true\n }\n }\n )\n })\n\n compiler.options.resolve.extensions = [\n ...new Set([\n '.web.tsx',\n '.web.ts',\n '.web.js',\n '.ts',\n '.tsx',\n '.js',\n ...(compiler.options.resolve.extensions || []),\n ]),\n ]\n\n // look for compiled js with jsx intact as specified by module:jsx\n const mainFields = compiler.options.resolve.mainFields\n if (mainFields) {\n compiler.options.resolve.mainFields = Array.isArray(mainFields)\n ? mainFields\n : [mainFields]\n mainFields.unshift('module:jsx')\n }\n\n if (!compiler.options.module) {\n return\n }\n\n const { jsLoader } = this.options\n\n const existing = compiler.options.module.rules as any[]\n\n const rules =\n (existing.find((x) => (typeof x === 'object' && 'oneOf' in x ? x : null))\n ?.oneOf as any[]) ?? existing\n\n const nextJsRules = rules.findIndex(\n (x) => x?.use && x.use.loader === 'next-swc-loader' && x.issuerLayer !== 'api'\n )\n\n const startIndex = nextJsRules ? nextJsRules + 1 : 0\n const existingLoader = nextJsRules ? rules[startIndex] : undefined\n\n rules.splice(startIndex, 0, {\n test: this.options.test ?? /\\.m?[jt]sx?$/,\n exclude: this.options.exclude,\n resolve: {\n fullySpecified: false,\n },\n use: [\n ...(jsLoader ? [jsLoader] : []),\n ...(existingLoader && nextJsRules ? [].concat(existingLoader.use) : []),\n ...(!(jsLoader || existingLoader)\n ? [\n {\n loader: require.resolve('esbuild-loader'),\n options: {\n target: 'es2021',\n keepNames: true,\n loader: {\n '.tsx': 'tsx',\n '.png': 'copy',\n '.jpg': 'copy',\n '.gif': 'copy',\n },\n\n tsconfigRaw: {\n module: this.options.commonjs ? 'commonjs' : 'esnext',\n isolatedModules: true,\n jsx: 'preserve',\n resolveJsonModule: true,\n },\n },\n },\n ]\n : []),\n {\n loader: require.resolve('tamagui-loader'),\n options: {\n ...this.options,\n },\n },\n ],\n })\n }\n}\n"],
|
|
5
5
|
"mappings": "AAUO,MAAM,cAAc;AAAA,EAGzB,YACS,UAAyB;AAAA,IAC9B,YAAY,CAAC,eAAe;AAAA,EAC9B,GACA;AAHO;AAHT,sBAAa;AAAA,EAMV;AAAA,EAEH,MAAM,UAAoB;AAnB5B;AAqBI,aAAS,MAAM,oBAAoB,IAAI,KAAK,YAAY,CAAC,QAAQ;AAC/D,UAAI,MAAM,aAAa;AAAA,QACrB,KAAK;AAAA;AAAA,QAEL,CAAC,eAAgF;AAzBzF,cAAAA;AA0BU,eAAIA,MAAA,WAAW,kBAAX,gBAAAA,IAA0B,SAAS,iBAAiB;AACtD,uBAAW,SAAS,cAAc;AAAA,UACpC;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAED,aAAS,QAAQ,QAAQ,aAAa;AAAA,MACpC,GAAG,oBAAI,IAAI;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAI,SAAS,QAAQ,QAAQ,cAAc,CAAC;AAAA,MAC9C,CAAC;AAAA,IACH;AAGA,UAAM,aAAa,SAAS,QAAQ,QAAQ;AAC5C,QAAI,YAAY;AACd,eAAS,QAAQ,QAAQ,aAAa,MAAM,QAAQ,UAAU,IAC1D,aACA,CAAC,UAAU;AACf,iBAAW,QAAQ,YAAY;AAAA,IACjC;AAEA,QAAI,CAAC,SAAS,QAAQ,QAAQ;AAC5B;AAAA,IACF;AAEA,UAAM,EAAE,SAAS,IAAI,KAAK;AAE1B,UAAM,WAAW,SAAS,QAAQ,OAAO;AAEzC,UAAM,UACH,cAAS,KAAK,CAAC,MAAO,OAAO,MAAM,YAAY,WAAW,IAAI,IAAI,IAAK,MAAvE,mBACG,UAAmB;AAEzB,UAAM,cAAc,MAAM;AAAA,MACxB,CAAC,OAAM,uBAAG,QAAO,EAAE,IAAI,WAAW,qBAAqB,EAAE,gBAAgB;AAAA,IAC3E;AAEA,UAAM,aAAa,cAAc,cAAc,IAAI;AACnD,UAAM,iBAAiB,cAAc,MAAM,UAAU,IAAI;AAEzD,UAAM,OAAO,YAAY,GAAG;AAAA,MAC1B,MAAM,KAAK,QAAQ,QAAQ;AAAA,MAC3B,SAAS,KAAK,QAAQ;AAAA,MACtB,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,MACA,KAAK;AAAA,QACH,GAAI,WAAW,CAAC,QAAQ,IAAI,CAAC;AAAA,QAC7B,GAAI,kBAAkB,cAAc,CAAC,EAAE,OAAO,eAAe,GAAG,IAAI,CAAC;AAAA,QACrE,GAAI,EAAE,YAAY,kBACd;AAAA,UACE;AAAA,YACE,QAAQ,gBAAgB,gBAAgB;AAAA,YACxC,SAAS;AAAA,cACP,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,QAAQ;AAAA,gBACN,QAAQ;AAAA,gBACR,QAAQ;AAAA,gBACR,QAAQ;AAAA,gBACR,QAAQ;AAAA,cACV;AAAA,cAEA,aAAa;AAAA,gBACX,QAAQ,KAAK,QAAQ,WAAW,aAAa;AAAA,gBAC7C,iBAAiB;AAAA,gBACjB,KAAK;AAAA,gBACL,mBAAmB;AAAA,cACrB;AAAA,YACF;AAAA,UACF;AAAA,QACF,IACA,CAAC;AAAA,QACL;AAAA,UACE,QAAQ,gBAAgB,gBAAgB;AAAA,UACxC,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": ["_a"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tamagui-loader",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.10",
|
|
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.5.
|
|
22
|
-
"@tamagui/static": "^1.5.
|
|
21
|
+
"@tamagui/cli-color": "^1.5.10",
|
|
22
|
+
"@tamagui/static": "^1.5.10",
|
|
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.5.
|
|
28
|
+
"@tamagui/build": "^1.5.10",
|
|
29
29
|
"webpack": "^5.74.0"
|
|
30
30
|
},
|
|
31
31
|
"publishConfig": {
|
package/src/plugin.ts
CHANGED
|
@@ -72,7 +72,7 @@ export class TamaguiPlugin {
|
|
|
72
72
|
const existingLoader = nextJsRules ? rules[startIndex] : undefined
|
|
73
73
|
|
|
74
74
|
rules.splice(startIndex, 0, {
|
|
75
|
-
test: this.options.test ?? /\.m?
|
|
75
|
+
test: this.options.test ?? /\.m?[jt]sx?$/,
|
|
76
76
|
exclude: this.options.exclude,
|
|
77
77
|
resolve: {
|
|
78
78
|
fullySpecified: false,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../src/css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,eAAO,MAAM,mBAAmB,gCAAuC,CAAA;AACvE,eAAO,MAAM,mBAAmB,qBAA4B,CAAA;AAE5D,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,cAAc,CAAC,QAyBjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,UAAU,CAAA;;AAExB,wBAAyC;AAIzC,eAAO,MAAM,aAAa,aAAc,MAAM,eAAe,MAAM,YAQlE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";AACA,OAAO,EACL,cAAc,EAIf,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAgB5C,eAAO,MAAM,MAAM,SACX,cAAc,cAAc,CAAC,YACzB,MAAM,GAAG,MAAM,kBA0E1B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEpD,KAAK,aAAa,GAAG,cAAc,GAAG;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAA;CACf,CAAA;AAED,qBAAa,aAAa;IAIf,OAAO,EAAE,aAAa;IAH/B,UAAU,SAAkB;gBAGnB,OAAO,GAAE,aAEf;IAGH,KAAK,CAAC,QAAQ,EAAE,QAAQ;CAgGzB"}
|