mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
337fb6a9aa
* Use without .js for the filename. * Modify the chunk filename to add .js via webpack * Add import chunk's hash to the filename via webpack. * Remove buildId from dynamic import urls. * Make sure next-export work with dynamic imports
23 lines
609 B
JavaScript
23 lines
609 B
JavaScript
import { join } from 'path'
|
|
import { readdirSync, existsSync } from 'fs'
|
|
|
|
export const IS_BUNDLED_PAGE = /^bundles[/\\]pages.*\.(js|jsx)$/
|
|
export const MATCH_ROUTE_NAME = /^bundles[/\\]pages[/\\](.*)\.(js|jsx)$/
|
|
|
|
export function getAvailableChunks (dir, dist) {
|
|
const chunksDir = join(dir, dist, 'chunks')
|
|
if (!existsSync(chunksDir)) return {}
|
|
|
|
const chunksMap = {}
|
|
const chunkFiles = readdirSync(chunksDir)
|
|
|
|
chunkFiles.forEach(filename => {
|
|
if (/\.js$/.test(filename)) {
|
|
const chunkName = filename.replace(/-.*/, '')
|
|
chunksMap[chunkName] = filename
|
|
}
|
|
})
|
|
|
|
return chunksMap
|
|
}
|