Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
'css',
'styles',
index
)}'`
if (style.module || descriptor.styles[index].scoped) {
return { ...style, code: '', map: undefined }
}
})
.filter(Boolean)
}
// Why?
input.script.code = input.script.code.replace(/^\s+/gm, '')
const result = assemble(compiler, filename, beforeAssemble(input), opts)
descriptor.customBlocks.forEach((block, index) => {
if (!isAllowed(block.type)) return
const lang =
typeof block.attrs.lang === 'string'
? block.attrs.lang
: defaultLang[block.type] || block.type
const id = createVuePartRequest(filename, lang, block.type, index)
result.code +=
'\n' +
`export * from '${id}'\n` +
`import __custom_block_${index}__ from '${id}'\n` +
`__custom_block_${index}__(__vue_component__)`
})
dT(
return async (req, res, next) => {
// TODO caching
if (req.path.endsWith('.vue')) {
const { filepath, source } = await read(req)
const descriptorResult = compiler.compileToDescriptor(filepath, source)
const assembledResult = vueCompiler.assemble(compiler, filepath, descriptorResult)
res.setHeader('Content-Type', 'application/javascript')
res.end(assembledResult.code)
} else if (req.path.endsWith('.js')) {
const { filepath, source } = await read(req)
// transform import statements
const transformed = transformModuleImports(source)
res.setHeader('Content-Type', 'application/javascript')
res.end(transformed)
} else if (req.path.startsWith('/__modules/')) {
const pkg = req.path.replace(/^\/__modules\//, '')
const source = await loadPkg(pkg)
res.setHeader('Content-Type', 'application/javascript')
res.end(source)
} else {
next()
}
async function bundleSFC (req) {
const { filepath, source, updateTime } = await readSource(req)
const descriptorResult = compiler.compileToDescriptor(filepath, source)
const assembledResult = vueCompiler.assemble(compiler, filepath, {
...descriptorResult,
script: injectSourceMapToScript(descriptorResult.script),
styles: injectSourceMapsToStyles(descriptorResult.styles)
})
return { ...assembledResult, updateTime }
}