mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
4b9f3fc431
* Check for .json file extension before JSON parse. Was throwing when reading js files. * Fix cross platform regex * Revert back to the original content in read-page.js
25 lines
672 B
JavaScript
25 lines
672 B
JavaScript
export default class JsonPagesPlugin {
|
|
apply (compiler) {
|
|
compiler.plugin('after-compile', (compilation, callback) => {
|
|
const pages = Object
|
|
.keys(compilation.assets)
|
|
.filter((filename) => /^bundles[/\\]pages.*\.js$/.test(filename))
|
|
|
|
pages.forEach((pageName) => {
|
|
const page = compilation.assets[pageName]
|
|
delete compilation.assets[pageName]
|
|
|
|
const content = page.source()
|
|
const newContent = JSON.stringify({ component: content })
|
|
|
|
compilation.assets[`${pageName}on`] = {
|
|
source: () => newContent,
|
|
size: () => newContent.length
|
|
}
|
|
})
|
|
|
|
callback()
|
|
})
|
|
}
|
|
}
|