45 lines
867 B
JavaScript
45 lines
867 B
JavaScript
// @ts-check
|
|
|
|
/**
|
|
* @typedef {{type: 'dependency', file: string} | {type: 'dir-dependency', dir: string, glob: string}} Dependency
|
|
*/
|
|
|
|
/**
|
|
*
|
|
* @param {import('../lib/content.js').ContentPath} contentPath
|
|
* @returns {Dependency[]}
|
|
*/
|
|
export default function parseDependency(contentPath) {
|
|
if (contentPath.ignore) {
|
|
return []
|
|
}
|
|
|
|
if (!contentPath.glob) {
|
|
return [
|
|
{
|
|
type: 'dependency',
|
|
file: contentPath.base,
|
|
},
|
|
]
|
|
}
|
|
|
|
if (process.env.ROLLUP_WATCH === 'true') {
|
|
// rollup-plugin-postcss does not support dir-dependency messages
|
|
// but directories can be watched in the same way as files
|
|
return [
|
|
{
|
|
type: 'dependency',
|
|
file: contentPath.base,
|
|
},
|
|
]
|
|
}
|
|
|
|
return [
|
|
{
|
|
type: 'dir-dependency',
|
|
dir: contentPath.base,
|
|
glob: contentPath.glob,
|
|
},
|
|
]
|
|
}
|