Skip to content

Commit

Permalink
fix: 🐛 transformer imported dependencies being overwritten
Browse files Browse the repository at this point in the history
  • Loading branch information
kaisermann committed Jun 28, 2019
1 parent a994591 commit 423c17a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 16 deletions.
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 18 additions & 15 deletions src/autoProcess.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ const TEMPLATE_PATTERN = new RegExp(
`<template([\\s\\S]*?)>([\\s\\S]*?)<\\/template>`,
)

const concat = (...arrs) =>
arrs.reduce((acc, a) => (a && a.length ? acc.concat(a) : acc), [])

module.exports = ({ onBefore, aliases, preserve = [], ...rest } = {}) => {
const optionsCache = {}
const transformers = rest.transformers || rest
Expand Down Expand Up @@ -78,7 +81,7 @@ module.exports = ({ onBefore, aliases, preserve = [], ...rest } = {}) => {
throwUnsupportedError(alias, filename)
}

const transformedContent = await runTransformer(
const transformed = await runTransformer(
lang,
getTransformerOptions(lang, alias),
{
Expand All @@ -88,8 +91,8 @@ module.exports = ({ onBefore, aliases, preserve = [], ...rest } = {}) => {
)

return {
...transformedContent,
dependencies,
...transformed,
dependencies: concat(dependencies, transformed.dependencies),
}
}

Expand Down Expand Up @@ -156,26 +159,26 @@ module.exports = ({ onBefore, aliases, preserve = [], ...rest } = {}) => {
})

if (transformers.postcss) {
const result = await runTransformer('postcss', transformers.postcss, {
content: code,
map,
filename,
})

code = result.code
map = result.map
dependencies = dependencies.concat(result.dependencies)
const transformed = await runTransformer(
'postcss',
transformers.postcss,
{ content: code, map, filename },
)

code = transformed.code
map = transformed.map
dependencies = concat(dependencies, transformed.dependencies)
}

if (attributes.global) {
const result = await runTransformer('globalStyle', null, {
const transformed = await runTransformer('globalStyle', null, {
content: code,
map,
filename,
})

code = result.code
map = result.map
code = transformed.code
map = transformed.map
}

return { code, map, dependencies }
Expand Down

0 comments on commit 423c17a

Please sign in to comment.