21 lines
687 B
TypeScript
21 lines
687 B
TypeScript
import { dirname, join } from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import { definePlugin } from "@wrnexus/plugin";
|
|
export interface UploaderPluginOptions {
|
|
components?: boolean;
|
|
componentDir?: string;
|
|
}
|
|
const packageRoot = dirname(dirname(fileURLToPath(import.meta.url)));
|
|
export function uploaderComponentsDir(): string {
|
|
return join(packageRoot, "components");
|
|
}
|
|
export function uploaderPlugin(options: UploaderPluginOptions = {}) {
|
|
return definePlugin({
|
|
name: "@wrnexus/uploader",
|
|
version: "0.8.0",
|
|
componentDirs:
|
|
options.components === false ? [] : [options.componentDir ?? uploaderComponentsDir()],
|
|
});
|
|
}
|
|
export default uploaderPlugin;
|