mizchi / uniroll

Opinionated universal frontend bundler in browser
https://focused-raman-3ce115.netlify.com/
113 stars 5 forks source link

ERROR in ./node_modules/rollup-plugin-uniroll-svelte/dist/index.js 1038:691 #37

Closed harukitosa closed 3 years ago

harukitosa commented 3 years ago

When I downloaded and used uniroll-svelte-plugin locally, I got the following error message.

node -v v14.8.0
npm  -v 6.14.7
"uniroll-svelte": "2.6.1"
ERROR in ./node_modules/rollup-plugin-uniroll-svelte/dist/index.js 1038:691
Module parse failed: Unexpected token (1038:691)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
>    `[0];s.body.body.push(...k),r.push(s)}return{js:Tl(r,[]),css:a}}(a,t);return a.generate(o)}function Ru(e){const t={};return e.split(/\s+/).filter(Boolean).forEach((e=>{const n=e.indexOf("=");-1===n?t[e]=!0:t[e.slice(0,n)]="'\"".includes(e[n+1])?e.slice(n+2,-1):e.slice(n+1)})),t}async function Bu(e,t,n){const s=[];e.replace(t,((...e)=>(s.push(n(...e).then((t=>({offset:e[e.length-2],length:e[0].length,replacement:t})))),"")));let i="",r=0;for(const{offset:t,length:n,replacement:a}of await Promise.all(s))i+=e.slice(r,t)+a,r=t+n;return i+=e.slice(r),i}const Mu=({resolveIdFallback:t,importer:n,target:s})=>({script:async({content:i,attributes:r,filename:a})=>{const o=(c=i,h={fileName:a??"/$$.tsx",resolveIdFallback:t,importer:n,target:s},e.transpileModule(c,{fileName:h.fileName,compilerOptions:{...Vu,target:h.target},transformers:{before:[Uu(h.resolveIdFallback,h.importer),Ou]}}));var c,h;return{code:o.outputText,map:o.sourceMapText}}}),Vu={moduleResolution:e.ModuleResolutionKind.NodeJs,target:e.ScriptTarget.ES5,module:e.ModuleKind.ESNext,importsNotUsedAsValues:e.ImportsNotUsedAsValues.Error,types:["svelte"],isolatedModules:!0,sourceMap:!0,allowJs:!0,strict:!1,esModuleInterop:!0,skipLibCheck:!0,forceConsistentCasingInFileNames:!0,resolveJsonModule:!0};const Ou=t=>{const n=t=>e.isImportDeclaration(t)?e.factory.createImportDeclaration(t.decorators,t.modifiers,t.importClause,t.moduleSpecifier):t;return t=>e.visitNode(t,n)},Uu=(t,n)=>s=>{function i(r){if(e.isImportDeclaration(r)){if(r.importClause?.isTypeOnly)return e.factory.createEmptyStatement();const s=r.moduleSpecifier.getText(),i=s.slice(1,s.length-1),a=t(i,n)||i;return e.factory.updateImportDeclaration(r,r.decorators,r.modifiers,r.importClause,e.factory.createStringLiteral(a))}return e.visitEachChild(r,i,s)}return t=>e.factory.updateSourceFile(t,e.visitNodes(t.statements,i))},ju=({target:n=e.ScriptTarget.ES2019,resolveIdFallback:s=t,extraPreprocess:i=[],emitCss:r=!1,svelteOptions:a={}}={})=>({name:"uniroll-svelte",async transform(o,c){if(c.endsWith(".svelte")){const h=Mu({target:n,importer:c,resolveIdFallback:s??t}),{code:l}=await async function(e,t,n){const s=n&&n.filename||t.filename,i=[],r=Array.isArray(t)?t:[t],a=r.map((e=>e.markup)).filter(Boolean),o=r.map((e=>e.script)).filter(Boolean),c=r.map((e=>e.style)).filter(Boolean);for(const t of a){const n=await t({content:e,filename:s});n&&n.dependencies&&i.push(...n.dependencies),e=n?n.code:e}for(const t of o)e=await Bu(e,/<!--[^]*?-->|<script(\s[^]*?)?(?:>([^]*?)<\/script>|\/>)/gi,(async(e,n="",r="")=>{if(!n&&!r)return e;n=n||"";const a=await t({content:r,attributes:Ru(n),filename:s});return a&&a.dependencies&&i.push(...a.dependencies),a?`<script${n}>${a.code}<\/script>`:e}));for(const t of c)e=await Bu(e,/<!--[^]*?-->|<style(\s[^]*?)?(?:>([^]*?)<\/style>|\/>)/gi,(async(e,n="",r="")=>{if(!n&&!r)return e;const a=await t({content:r,attributes:Ru(n),filename:s});return a&&a.dependencies&&i.push(...a.dependencies),a?`<style${n}>${a.code}</style>`:e}));return{code:e,dependencies:[...new Set(i)],toString:()=>e}}(o,[h,...i],{filename:c}),p=qu(l,a);if(p.warnings.length>0&&this.warn(p.warnings.map((e=>e.message)).join("\n")),r&&p.css.code){const e=Math.random().toString(32).substring(2);this.emitFile({type:"asset",source:p.css.code,fileName:`uniroll-svelte-${e}.css`})}const u=e.transpileModule(p.js.code,{fileName:"$temp.tsx",compilerOptions:{target:n,module:e.ModuleKind.ESNext},transformers:{before:[Uu(s,c)]}});return{code:u.outputText,map:u.sourceMapText}}}});export{ju as svelte};

more error detail

    >       h={fileName:a??"/$$.tsx"
    >       if(r.importClause?.isTypeOnly)
    >       const h=Mu({target:n,importer:c,resolveIdFallback:s??t})