vite-plugin-mettle 0.0.1 → 0.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/index.ts"],"sourcesContent":["import * as babel from '@babel/core';\nimport mettle from 'babel-preset-mettle';\nimport { createFilter } from 'vite';\nimport type { Plugin, FilterPattern } from 'vite';\n\nexport interface ExtensionOptions {\n typescript?: boolean;\n}\n\nexport interface Options {\n include?: FilterPattern;\n exclude?: FilterPattern;\n extensions?: (string | [string, ExtensionOptions])[];\n babel?:\n | babel.TransformOptions\n | ((source: string, id: string, ssr: boolean) => babel.TransformOptions)\n | ((source: string, id: string, ssr: boolean) => Promise<babel.TransformOptions>);\n}\n\nfunction getExtension(filename: string): string {\n const index = filename.lastIndexOf('.');\n return index < 0 ? '' : filename.substring(index).replace(/\\?.+$/, '');\n}\n\nexport default function mettlePlugin(options: Partial<Options> = {}): Plugin {\n const filter = createFilter(options.include, options.exclude);\n let projectRoot = process.cwd();\n\n return {\n name: 'mettle',\n enforce: 'pre',\n async transform(source, id) {\n const currentFileExtension = getExtension(id);\n const extensionsToWatch = options.extensions || [];\n const allExtensions = extensionsToWatch.map((extension) =>\n typeof extension === 'string' ? extension : extension[0]\n );\n\n if (\n !filter(id) ||\n !(/\\.[mc]?[tj]sx$/i.test(id) || allExtensions.includes(currentFileExtension))\n ) {\n return null;\n }\n\n id = id.replace(/\\?.+$/, '');\n\n const shouldBeProcessedWithTypescript =\n /\\.[mc]?tsx$/i.test(id) ||\n extensionsToWatch.some((extension) => {\n if (typeof extension === 'string') {\n return extension.includes('tsx');\n }\n\n const [extensionName, extensionOptions] = extension;\n if (extensionName !== currentFileExtension) return false;\n\n return extensionOptions.typescript;\n });\n const plugins: NonNullable<NonNullable<babel.TransformOptions['parserOpts']>['plugins']> = [\n 'jsx',\n ];\n\n if (shouldBeProcessedWithTypescript) {\n plugins.push('typescript');\n }\n\n const opts: babel.TransformOptions = {\n root: projectRoot,\n filename: id,\n sourceFileName: id,\n presets: [[mettle]],\n ast: false,\n sourceMaps: true,\n configFile: false,\n babelrc: false,\n parserOpts: {\n plugins,\n },\n };\n\n const { code, map } = await babel.transformAsync(source, opts);\n\n return { code, map };\n },\n };\n}\n"],"names":["getExtension","filename","index","lastIndexOf","substring","replace","mettlePlugin","options","filter","createFilter","include","exclude","projectRoot","process","cwd","name","enforce","transform","source","id","currentFileExtension","extensionsToWatch","extensions","allExtensions","map","extension","test","includes","shouldBeProcessedWithTypescript","some","extensionName","extensionOptions","typescript","plugins","push","opts","root","sourceFileName","presets","mettle","ast","sourceMaps","configFile","babelrc","parserOpts","code","babel","transformAsync"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,SAASA,YAAYA,CAACC,QAAgB,EAAU;AAC9C,EAAA,MAAMC,KAAK,GAAGD,QAAQ,CAACE,WAAW,CAAC,GAAG,CAAC;AACvC,EAAA,OAAOD,KAAK,GAAG,CAAC,GAAG,EAAE,GAAGD,QAAQ,CAACG,SAAS,CAACF,KAAK,CAAC,CAACG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AACxE;AAEe,SAASC,YAAYA,CAACC,OAAyB,GAAG,EAAE,EAAU;EAC3E,MAAMC,MAAM,GAAGC,iBAAY,CAACF,OAAO,CAACG,OAAO,EAAEH,OAAO,CAACI,OAAO,CAAC;AAC7D,EAAA,IAAIC,WAAW,GAAGC,OAAO,CAACC,GAAG,EAAE;EAE/B,OAAO;AACLC,IAAAA,IAAI,EAAE,QAAQ;AACdC,IAAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAMC,SAASA,CAACC,MAAM,EAAEC,EAAE,EAAE;AAC1B,MAAA,MAAMC,oBAAoB,GAAGpB,YAAY,CAACmB,EAAE,CAAC;AAC7C,MAAA,MAAME,iBAAiB,GAAGd,OAAO,CAACe,UAAU,IAAI,EAAE;AAClD,MAAA,MAAMC,aAAa,GAAGF,iBAAiB,CAACG,GAAG,CAAEC,SAAS,IACpD,OAAOA,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAAC,CAAC,CACzD,CAAC;MAED,IACE,CAACjB,MAAM,CAACW,EAAE,CAAC,IACX,EAAE,iBAAiB,CAACO,IAAI,CAACP,EAAE,CAAC,IAAII,aAAa,CAACI,QAAQ,CAACP,oBAAoB,CAAC,CAAC,EAC7E;AACA,QAAA,OAAO,IAAI;AACb;MAEAD,EAAE,GAAGA,EAAE,CAACd,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AAE5B,MAAA,MAAMuB,+BAA+B,GACnC,cAAc,CAACF,IAAI,CAACP,EAAE,CAAC,IACvBE,iBAAiB,CAACQ,IAAI,CAAEJ,SAAS,IAAK;AACpC,QAAA,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;AACjC,UAAA,OAAOA,SAAS,CAACE,QAAQ,CAAC,KAAK,CAAC;AAClC;AAEA,QAAA,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGN,SAAS;AACnD,QAAA,IAAIK,aAAa,KAAKV,oBAAoB,EAAE,OAAO,KAAK;QAExD,OAAOW,gBAAgB,CAACC,UAAU;AACpC,OAAC,CAAC;AACJ,MAAA,MAAMC,OAAkF,GAAG,CACzF,KAAK,CACN;AAED,MAAA,IAAIL,+BAA+B,EAAE;AACnCK,QAAAA,OAAO,CAACC,IAAI,CAAC,YAAY,CAAC;AAC5B;AAEA,MAAA,MAAMC,IAA4B,GAAG;AACnCC,QAAAA,IAAI,EAAExB,WAAW;AACjBX,QAAAA,QAAQ,EAAEkB,EAAE;AACZkB,QAAAA,cAAc,EAAElB,EAAE;AAClBmB,QAAAA,OAAO,EAAE,CAAC,CAACC,MAAM,CAAC,CAAC;AACnBC,QAAAA,GAAG,EAAE,KAAK;AACVC,QAAAA,UAAU,EAAE,IAAI;AAChBC,QAAAA,UAAU,EAAE,KAAK;AACjBC,QAAAA,OAAO,EAAE,KAAK;AACdC,QAAAA,UAAU,EAAE;AACVX,UAAAA;AACF;OACD;MAED,MAAM;QAAEY,IAAI;AAAErB,QAAAA;OAAK,GAAG,MAAMsB,gBAAK,CAACC,cAAc,CAAC7B,MAAM,EAAEiB,IAAI,CAAC;MAE9D,OAAO;QAAEU,IAAI;AAAErB,QAAAA;OAAK;AACtB;GACD;AACH;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/index.ts"],"sourcesContent":["import * as babel from '@babel/core';\nimport mettle from 'babel-preset-mettle';\nimport { createFilter } from 'vite';\nimport type { Plugin, FilterPattern } from 'vite';\n\nexport interface ExtensionOptions {\n typescript?: boolean;\n}\n\nexport interface Options {\n include?: FilterPattern;\n exclude?: FilterPattern;\n extensions?: (string | [string, ExtensionOptions])[];\n babel?:\n | babel.TransformOptions\n | ((source: string, id: string, ssr: boolean) => babel.TransformOptions)\n | ((source: string, id: string, ssr: boolean) => Promise<babel.TransformOptions>);\n}\n\nfunction getExtension(filename: string): string {\n const index = filename.lastIndexOf('.');\n return index < 0 ? '' : filename.substring(index).replace(/\\?.+$/, '');\n}\n\nexport default function mettlePlugin(options: Partial<Options> = {}): Plugin {\n const filter = createFilter(options.include, options.exclude);\n let projectRoot = process.cwd();\n\n return {\n name: 'mettle',\n enforce: 'pre',\n async transform(source, id) {\n const currentFileExtension = getExtension(id);\n const extensionsToWatch = options.extensions || [];\n const allExtensions = extensionsToWatch.map((extension) =>\n typeof extension === 'string' ? extension : extension[0]\n );\n\n if (\n !filter(id) ||\n !(/\\.[mc]?[tj]sx$/i.test(id) || allExtensions.includes(currentFileExtension))\n ) {\n return null;\n }\n\n id = id.replace(/\\?.+$/, '');\n\n const shouldBeProcessedWithTypescript =\n /\\.[mc]?tsx$/i.test(id) ||\n extensionsToWatch.some((extension) => {\n if (typeof extension === 'string') {\n return extension.includes('tsx');\n }\n\n const [extensionName, extensionOptions] = extension;\n if (extensionName !== currentFileExtension) return false;\n\n return extensionOptions.typescript;\n });\n const plugins: NonNullable<NonNullable<babel.TransformOptions['parserOpts']>['plugins']> = [\n 'jsx',\n ];\n\n if (shouldBeProcessedWithTypescript) {\n plugins.push('typescript');\n }\n\n const opts: babel.TransformOptions = {\n root: projectRoot,\n filename: id,\n sourceFileName: id,\n presets: [[mettle]],\n ast: false,\n sourceMaps: true,\n configFile: false,\n babelrc: false,\n parserOpts: {\n plugins,\n },\n };\n\n const { code, map } = await babel.transformAsync(source, opts);\n\n return { code, map };\n },\n };\n}\n"],"names":["getExtension","filename","index","lastIndexOf","substring","replace","mettlePlugin","options","filter","createFilter","include","exclude","projectRoot","process","cwd","name","enforce","transform","source","id","currentFileExtension","extensionsToWatch","extensions","allExtensions","map","extension","test","includes","shouldBeProcessedWithTypescript","some","extensionName","extensionOptions","typescript","plugins","push","opts","root","sourceFileName","presets","mettle","ast","sourceMaps","configFile","babelrc","parserOpts","code","babel","transformAsync"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,SAASA,YAAYA,CAACC,QAAgB,EAAU;AAC9C,EAAA,MAAMC,KAAK,GAAGD,QAAQ,CAACE,WAAW,CAAC,GAAG,CAAC;AACvC,EAAA,OAAOD,KAAK,GAAG,CAAC,GAAG,EAAE,GAAGD,QAAQ,CAACG,SAAS,CAACF,KAAK,CAAC,CAACG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AACxE;AAEe,SAASC,YAAYA,CAACC,OAAyB,GAAG,EAAE,EAAU;EAC3E,MAAMC,MAAM,GAAGC,iBAAY,CAACF,OAAO,CAACG,OAAO,EAAEH,OAAO,CAACI,OAAO,CAAC;AAC7D,EAAA,IAAIC,WAAW,GAAGC,OAAO,CAACC,GAAG,EAAE;EAE/B,OAAO;AACLC,IAAAA,IAAI,EAAE,QAAQ;AACdC,IAAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAMC,SAASA,CAACC,MAAM,EAAEC,EAAE,EAAE;AAC1B,MAAA,MAAMC,oBAAoB,GAAGpB,YAAY,CAACmB,EAAE,CAAC;AAC7C,MAAA,MAAME,iBAAiB,GAAGd,OAAO,CAACe,UAAU,IAAI,EAAE;AAClD,MAAA,MAAMC,aAAa,GAAGF,iBAAiB,CAACG,GAAG,CAAEC,SAAS,IACpD,OAAOA,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAAC,CAAC,CACzD,CAAC;MAED,IACE,CAACjB,MAAM,CAACW,EAAE,CAAC,IACX,EAAE,iBAAiB,CAACO,IAAI,CAACP,EAAE,CAAC,IAAII,aAAa,CAACI,QAAQ,CAACP,oBAAoB,CAAC,CAAC,EAC7E;AACA,QAAA,OAAO,IAAI;AACb,MAAA;MAEAD,EAAE,GAAGA,EAAE,CAACd,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AAE5B,MAAA,MAAMuB,+BAA+B,GACnC,cAAc,CAACF,IAAI,CAACP,EAAE,CAAC,IACvBE,iBAAiB,CAACQ,IAAI,CAAEJ,SAAS,IAAK;AACpC,QAAA,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;AACjC,UAAA,OAAOA,SAAS,CAACE,QAAQ,CAAC,KAAK,CAAC;AAClC,QAAA;AAEA,QAAA,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGN,SAAS;AACnD,QAAA,IAAIK,aAAa,KAAKV,oBAAoB,EAAE,OAAO,KAAK;QAExD,OAAOW,gBAAgB,CAACC,UAAU;AACpC,MAAA,CAAC,CAAC;AACJ,MAAA,MAAMC,OAAkF,GAAG,CACzF,KAAK,CACN;AAED,MAAA,IAAIL,+BAA+B,EAAE;AACnCK,QAAAA,OAAO,CAACC,IAAI,CAAC,YAAY,CAAC;AAC5B,MAAA;AAEA,MAAA,MAAMC,IAA4B,GAAG;AACnCC,QAAAA,IAAI,EAAExB,WAAW;AACjBX,QAAAA,QAAQ,EAAEkB,EAAE;AACZkB,QAAAA,cAAc,EAAElB,EAAE;AAClBmB,QAAAA,OAAO,EAAE,CAAC,CAACC,MAAM,CAAC,CAAC;AACnBC,QAAAA,GAAG,EAAE,KAAK;AACVC,QAAAA,UAAU,EAAE,IAAI;AAChBC,QAAAA,UAAU,EAAE,KAAK;AACjBC,QAAAA,OAAO,EAAE,KAAK;AACdC,QAAAA,UAAU,EAAE;AACVX,UAAAA;AACF;OACD;MAED,MAAM;QAAEY,IAAI;AAAErB,QAAAA;OAAK,GAAG,MAAMsB,gBAAK,CAACC,cAAc,CAAC7B,MAAM,EAAEiB,IAAI,CAAC;MAE9D,OAAO;QAAEU,IAAI;AAAErB,QAAAA;OAAK;AACtB,IAAA;GACD;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/index.ts"],"sourcesContent":["import * as babel from '@babel/core';\nimport mettle from 'babel-preset-mettle';\nimport { createFilter } from 'vite';\nimport type { Plugin, FilterPattern } from 'vite';\n\nexport interface ExtensionOptions {\n typescript?: boolean;\n}\n\nexport interface Options {\n include?: FilterPattern;\n exclude?: FilterPattern;\n extensions?: (string | [string, ExtensionOptions])[];\n babel?:\n | babel.TransformOptions\n | ((source: string, id: string, ssr: boolean) => babel.TransformOptions)\n | ((source: string, id: string, ssr: boolean) => Promise<babel.TransformOptions>);\n}\n\nfunction getExtension(filename: string): string {\n const index = filename.lastIndexOf('.');\n return index < 0 ? '' : filename.substring(index).replace(/\\?.+$/, '');\n}\n\nexport default function mettlePlugin(options: Partial<Options> = {}): Plugin {\n const filter = createFilter(options.include, options.exclude);\n let projectRoot = process.cwd();\n\n return {\n name: 'mettle',\n enforce: 'pre',\n async transform(source, id) {\n const currentFileExtension = getExtension(id);\n const extensionsToWatch = options.extensions || [];\n const allExtensions = extensionsToWatch.map((extension) =>\n typeof extension === 'string' ? extension : extension[0]\n );\n\n if (\n !filter(id) ||\n !(/\\.[mc]?[tj]sx$/i.test(id) || allExtensions.includes(currentFileExtension))\n ) {\n return null;\n }\n\n id = id.replace(/\\?.+$/, '');\n\n const shouldBeProcessedWithTypescript =\n /\\.[mc]?tsx$/i.test(id) ||\n extensionsToWatch.some((extension) => {\n if (typeof extension === 'string') {\n return extension.includes('tsx');\n }\n\n const [extensionName, extensionOptions] = extension;\n if (extensionName !== currentFileExtension) return false;\n\n return extensionOptions.typescript;\n });\n const plugins: NonNullable<NonNullable<babel.TransformOptions['parserOpts']>['plugins']> = [\n 'jsx',\n ];\n\n if (shouldBeProcessedWithTypescript) {\n plugins.push('typescript');\n }\n\n const opts: babel.TransformOptions = {\n root: projectRoot,\n filename: id,\n sourceFileName: id,\n presets: [[mettle]],\n ast: false,\n sourceMaps: true,\n configFile: false,\n babelrc: false,\n parserOpts: {\n plugins,\n },\n };\n\n const { code, map } = await babel.transformAsync(source, opts);\n\n return { code, map };\n },\n };\n}\n"],"names":["getExtension","filename","index","lastIndexOf","substring","replace","mettlePlugin","options","filter","createFilter","include","exclude","projectRoot","process","cwd","name","enforce","transform","source","id","currentFileExtension","extensionsToWatch","extensions","allExtensions","map","extension","test","includes","shouldBeProcessedWithTypescript","some","extensionName","extensionOptions","typescript","plugins","push","opts","root","sourceFileName","presets","mettle","ast","sourceMaps","configFile","babelrc","parserOpts","code","babel","transformAsync"],"mappings":";;;;AAmBA,SAASA,YAAYA,CAACC,QAAgB,EAAU;AAC9C,EAAA,MAAMC,KAAK,GAAGD,QAAQ,CAACE,WAAW,CAAC,GAAG,CAAC;AACvC,EAAA,OAAOD,KAAK,GAAG,CAAC,GAAG,EAAE,GAAGD,QAAQ,CAACG,SAAS,CAACF,KAAK,CAAC,CAACG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AACxE;AAEe,SAASC,YAAYA,CAACC,OAAyB,GAAG,EAAE,EAAU;EAC3E,MAAMC,MAAM,GAAGC,YAAY,CAACF,OAAO,CAACG,OAAO,EAAEH,OAAO,CAACI,OAAO,CAAC;AAC7D,EAAA,IAAIC,WAAW,GAAGC,OAAO,CAACC,GAAG,EAAE;EAE/B,OAAO;AACLC,IAAAA,IAAI,EAAE,QAAQ;AACdC,IAAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAMC,SAASA,CAACC,MAAM,EAAEC,EAAE,EAAE;AAC1B,MAAA,MAAMC,oBAAoB,GAAGpB,YAAY,CAACmB,EAAE,CAAC;AAC7C,MAAA,MAAME,iBAAiB,GAAGd,OAAO,CAACe,UAAU,IAAI,EAAE;AAClD,MAAA,MAAMC,aAAa,GAAGF,iBAAiB,CAACG,GAAG,CAAEC,SAAS,IACpD,OAAOA,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAAC,CAAC,CACzD,CAAC;MAED,IACE,CAACjB,MAAM,CAACW,EAAE,CAAC,IACX,EAAE,iBAAiB,CAACO,IAAI,CAACP,EAAE,CAAC,IAAII,aAAa,CAACI,QAAQ,CAACP,oBAAoB,CAAC,CAAC,EAC7E;AACA,QAAA,OAAO,IAAI;AACb;MAEAD,EAAE,GAAGA,EAAE,CAACd,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AAE5B,MAAA,MAAMuB,+BAA+B,GACnC,cAAc,CAACF,IAAI,CAACP,EAAE,CAAC,IACvBE,iBAAiB,CAACQ,IAAI,CAAEJ,SAAS,IAAK;AACpC,QAAA,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;AACjC,UAAA,OAAOA,SAAS,CAACE,QAAQ,CAAC,KAAK,CAAC;AAClC;AAEA,QAAA,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGN,SAAS;AACnD,QAAA,IAAIK,aAAa,KAAKV,oBAAoB,EAAE,OAAO,KAAK;QAExD,OAAOW,gBAAgB,CAACC,UAAU;AACpC,OAAC,CAAC;AACJ,MAAA,MAAMC,OAAkF,GAAG,CACzF,KAAK,CACN;AAED,MAAA,IAAIL,+BAA+B,EAAE;AACnCK,QAAAA,OAAO,CAACC,IAAI,CAAC,YAAY,CAAC;AAC5B;AAEA,MAAA,MAAMC,IAA4B,GAAG;AACnCC,QAAAA,IAAI,EAAExB,WAAW;AACjBX,QAAAA,QAAQ,EAAEkB,EAAE;AACZkB,QAAAA,cAAc,EAAElB,EAAE;AAClBmB,QAAAA,OAAO,EAAE,CAAC,CAACC,MAAM,CAAC,CAAC;AACnBC,QAAAA,GAAG,EAAE,KAAK;AACVC,QAAAA,UAAU,EAAE,IAAI;AAChBC,QAAAA,UAAU,EAAE,KAAK;AACjBC,QAAAA,OAAO,EAAE,KAAK;AACdC,QAAAA,UAAU,EAAE;AACVX,UAAAA;AACF;OACD;MAED,MAAM;QAAEY,IAAI;AAAErB,QAAAA;OAAK,GAAG,MAAMsB,KAAK,CAACC,cAAc,CAAC7B,MAAM,EAAEiB,IAAI,CAAC;MAE9D,OAAO;QAAEU,IAAI;AAAErB,QAAAA;OAAK;AACtB;GACD;AACH;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/index.ts"],"sourcesContent":["import * as babel from '@babel/core';\nimport mettle from 'babel-preset-mettle';\nimport { createFilter } from 'vite';\nimport type { Plugin, FilterPattern } from 'vite';\n\nexport interface ExtensionOptions {\n typescript?: boolean;\n}\n\nexport interface Options {\n include?: FilterPattern;\n exclude?: FilterPattern;\n extensions?: (string | [string, ExtensionOptions])[];\n babel?:\n | babel.TransformOptions\n | ((source: string, id: string, ssr: boolean) => babel.TransformOptions)\n | ((source: string, id: string, ssr: boolean) => Promise<babel.TransformOptions>);\n}\n\nfunction getExtension(filename: string): string {\n const index = filename.lastIndexOf('.');\n return index < 0 ? '' : filename.substring(index).replace(/\\?.+$/, '');\n}\n\nexport default function mettlePlugin(options: Partial<Options> = {}): Plugin {\n const filter = createFilter(options.include, options.exclude);\n let projectRoot = process.cwd();\n\n return {\n name: 'mettle',\n enforce: 'pre',\n async transform(source, id) {\n const currentFileExtension = getExtension(id);\n const extensionsToWatch = options.extensions || [];\n const allExtensions = extensionsToWatch.map((extension) =>\n typeof extension === 'string' ? extension : extension[0]\n );\n\n if (\n !filter(id) ||\n !(/\\.[mc]?[tj]sx$/i.test(id) || allExtensions.includes(currentFileExtension))\n ) {\n return null;\n }\n\n id = id.replace(/\\?.+$/, '');\n\n const shouldBeProcessedWithTypescript =\n /\\.[mc]?tsx$/i.test(id) ||\n extensionsToWatch.some((extension) => {\n if (typeof extension === 'string') {\n return extension.includes('tsx');\n }\n\n const [extensionName, extensionOptions] = extension;\n if (extensionName !== currentFileExtension) return false;\n\n return extensionOptions.typescript;\n });\n const plugins: NonNullable<NonNullable<babel.TransformOptions['parserOpts']>['plugins']> = [\n 'jsx',\n ];\n\n if (shouldBeProcessedWithTypescript) {\n plugins.push('typescript');\n }\n\n const opts: babel.TransformOptions = {\n root: projectRoot,\n filename: id,\n sourceFileName: id,\n presets: [[mettle]],\n ast: false,\n sourceMaps: true,\n configFile: false,\n babelrc: false,\n parserOpts: {\n plugins,\n },\n };\n\n const { code, map } = await babel.transformAsync(source, opts);\n\n return { code, map };\n },\n };\n}\n"],"names":["getExtension","filename","index","lastIndexOf","substring","replace","mettlePlugin","options","filter","createFilter","include","exclude","projectRoot","process","cwd","name","enforce","transform","source","id","currentFileExtension","extensionsToWatch","extensions","allExtensions","map","extension","test","includes","shouldBeProcessedWithTypescript","some","extensionName","extensionOptions","typescript","plugins","push","opts","root","sourceFileName","presets","mettle","ast","sourceMaps","configFile","babelrc","parserOpts","code","babel","transformAsync"],"mappings":";;;;AAmBA,SAASA,YAAYA,CAACC,QAAgB,EAAU;AAC9C,EAAA,MAAMC,KAAK,GAAGD,QAAQ,CAACE,WAAW,CAAC,GAAG,CAAC;AACvC,EAAA,OAAOD,KAAK,GAAG,CAAC,GAAG,EAAE,GAAGD,QAAQ,CAACG,SAAS,CAACF,KAAK,CAAC,CAACG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AACxE;AAEe,SAASC,YAAYA,CAACC,OAAyB,GAAG,EAAE,EAAU;EAC3E,MAAMC,MAAM,GAAGC,YAAY,CAACF,OAAO,CAACG,OAAO,EAAEH,OAAO,CAACI,OAAO,CAAC;AAC7D,EAAA,IAAIC,WAAW,GAAGC,OAAO,CAACC,GAAG,EAAE;EAE/B,OAAO;AACLC,IAAAA,IAAI,EAAE,QAAQ;AACdC,IAAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAMC,SAASA,CAACC,MAAM,EAAEC,EAAE,EAAE;AAC1B,MAAA,MAAMC,oBAAoB,GAAGpB,YAAY,CAACmB,EAAE,CAAC;AAC7C,MAAA,MAAME,iBAAiB,GAAGd,OAAO,CAACe,UAAU,IAAI,EAAE;AAClD,MAAA,MAAMC,aAAa,GAAGF,iBAAiB,CAACG,GAAG,CAAEC,SAAS,IACpD,OAAOA,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAAC,CAAC,CACzD,CAAC;MAED,IACE,CAACjB,MAAM,CAACW,EAAE,CAAC,IACX,EAAE,iBAAiB,CAACO,IAAI,CAACP,EAAE,CAAC,IAAII,aAAa,CAACI,QAAQ,CAACP,oBAAoB,CAAC,CAAC,EAC7E;AACA,QAAA,OAAO,IAAI;AACb,MAAA;MAEAD,EAAE,GAAGA,EAAE,CAACd,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AAE5B,MAAA,MAAMuB,+BAA+B,GACnC,cAAc,CAACF,IAAI,CAACP,EAAE,CAAC,IACvBE,iBAAiB,CAACQ,IAAI,CAAEJ,SAAS,IAAK;AACpC,QAAA,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;AACjC,UAAA,OAAOA,SAAS,CAACE,QAAQ,CAAC,KAAK,CAAC;AAClC,QAAA;AAEA,QAAA,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGN,SAAS;AACnD,QAAA,IAAIK,aAAa,KAAKV,oBAAoB,EAAE,OAAO,KAAK;QAExD,OAAOW,gBAAgB,CAACC,UAAU;AACpC,MAAA,CAAC,CAAC;AACJ,MAAA,MAAMC,OAAkF,GAAG,CACzF,KAAK,CACN;AAED,MAAA,IAAIL,+BAA+B,EAAE;AACnCK,QAAAA,OAAO,CAACC,IAAI,CAAC,YAAY,CAAC;AAC5B,MAAA;AAEA,MAAA,MAAMC,IAA4B,GAAG;AACnCC,QAAAA,IAAI,EAAExB,WAAW;AACjBX,QAAAA,QAAQ,EAAEkB,EAAE;AACZkB,QAAAA,cAAc,EAAElB,EAAE;AAClBmB,QAAAA,OAAO,EAAE,CAAC,CAACC,MAAM,CAAC,CAAC;AACnBC,QAAAA,GAAG,EAAE,KAAK;AACVC,QAAAA,UAAU,EAAE,IAAI;AAChBC,QAAAA,UAAU,EAAE,KAAK;AACjBC,QAAAA,OAAO,EAAE,KAAK;AACdC,QAAAA,UAAU,EAAE;AACVX,UAAAA;AACF;OACD;MAED,MAAM;QAAEY,IAAI;AAAErB,QAAAA;OAAK,GAAG,MAAMsB,KAAK,CAACC,cAAc,CAAC7B,MAAM,EAAEiB,IAAI,CAAC;MAE9D,OAAO;QAAEU,IAAI;AAAErB,QAAAA;OAAK;AACtB,IAAA;GACD;AACH;;;;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "vite-plugin-mettle",
3
3
  "description": "Mettle.js integration plugin for vite",
4
4
  "type": "module",
5
- "version": "0.0.1",
5
+ "version": "0.1.0",
6
6
  "main": "dist/cjs/index.cjs",
7
7
  "module": "dist/esm/index.mjs",
8
8
  "types": "dist/types/index.d.ts",
@@ -40,10 +40,9 @@
40
40
  "dependencies": {
41
41
  "@babel/core": "^7.23.3",
42
42
  "@types/babel__core": "^7.20.4",
43
- "babel-preset-mettle": "^0.0.1"
43
+ "babel-preset-mettle": "^0.1.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@babel/preset-env": "^7.23.3",
47
46
  "@babel/preset-typescript": "^7.23.3",
48
47
  "@rollup/plugin-babel": "^6.0.4",
49
48
  "@rollup/plugin-commonjs": "^25.0.7",