2023-07-23 03:27:41 +03:00
|
|
|
import { StaticResources } from "../resources"
|
2023-07-24 04:20:43 +03:00
|
|
|
import { PluginTypes } from "./types"
|
2023-07-23 03:27:41 +03:00
|
|
|
import { FilePath, ServerSlug } from "../path"
|
2023-07-01 10:03:01 +03:00
|
|
|
|
2023-05-30 18:02:20 +03:00
|
|
|
export function getStaticResourcesFromPlugins(plugins: PluginTypes) {
|
|
|
|
const staticResources: StaticResources = {
|
|
|
|
css: [],
|
|
|
|
js: [],
|
|
|
|
}
|
|
|
|
|
2023-06-03 22:07:19 +03:00
|
|
|
for (const transformer of plugins.transformers) {
|
2023-06-17 23:08:06 +03:00
|
|
|
const res = transformer.externalResources ? transformer.externalResources() : {}
|
2023-05-30 18:02:20 +03:00
|
|
|
if (res?.js) {
|
2023-07-04 20:08:32 +03:00
|
|
|
staticResources.js.push(...res.js)
|
2023-05-30 18:02:20 +03:00
|
|
|
}
|
|
|
|
if (res?.css) {
|
2023-07-04 20:08:32 +03:00
|
|
|
staticResources.css.push(...res.css)
|
2023-05-30 18:02:20 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return staticResources
|
|
|
|
}
|
|
|
|
|
2023-07-23 03:27:41 +03:00
|
|
|
export * from "./transformers"
|
|
|
|
export * from "./filters"
|
|
|
|
export * from "./emitters"
|
2023-05-30 18:02:20 +03:00
|
|
|
|
2023-07-23 03:27:41 +03:00
|
|
|
declare module "vfile" {
|
2023-05-30 18:02:20 +03:00
|
|
|
// inserted in processors.ts
|
|
|
|
interface DataMap {
|
2023-07-13 10:19:35 +03:00
|
|
|
slug: ServerSlug
|
|
|
|
allSlugs: ServerSlug[]
|
|
|
|
filePath: FilePath
|
2023-05-30 18:02:20 +03:00
|
|
|
}
|
|
|
|
}
|