* web: Prep ESBuild plugin for publish. * prettier-config: Update deps. * eslint-config: Update deps. * docusaurus-config: Update deps. * docs: Update deps. * docs: Enable linter. * docs: Lint. * web/sfe: Clean up types. Prep for monorepo. * esbuild-plugin-live-reload: Update deps. * web: Tidy ESLint, script commands. * web: Fix logs. * web: Lint. * web: Split compile check from cached version.
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * @file Rollup configuration for the SFE package.
 | 
						|
 */
 | 
						|
import commonjs from "@rollup/plugin-commonjs";
 | 
						|
import resolve from "@rollup/plugin-node-resolve";
 | 
						|
import swc from "@rollup/plugin-swc";
 | 
						|
import { resolve as resolvePath } from "node:path";
 | 
						|
import copy from "rollup-plugin-copy";
 | 
						|
 | 
						|
export async function createConfig() {
 | 
						|
    // TODO: Move this to a synchronous import once the repo root has NPM Workspaces.
 | 
						|
    const { resolvePackage, MonoRepoRoot } = await import("@goauthentik/core/paths/node");
 | 
						|
 | 
						|
    const distDirectory = resolvePath(MonoRepoRoot, "web", "dist", "sfe");
 | 
						|
    const bootstrapDirectory = resolvePackage("bootstrap", import.meta);
 | 
						|
 | 
						|
    const config = {
 | 
						|
        input: "src/index.ts",
 | 
						|
        output: {
 | 
						|
            dir: distDirectory,
 | 
						|
            format: "cjs",
 | 
						|
        },
 | 
						|
        context: "window",
 | 
						|
        plugins: [
 | 
						|
            copy({
 | 
						|
                targets: [
 | 
						|
                    {
 | 
						|
                        src: resolvePath(bootstrapDirectory, "dist", "css", "bootstrap.min.css"),
 | 
						|
                        dest: distDirectory,
 | 
						|
                    },
 | 
						|
                ],
 | 
						|
            }),
 | 
						|
            resolve({ browser: true }),
 | 
						|
            commonjs(),
 | 
						|
            swc({
 | 
						|
                swc: {
 | 
						|
                    jsc: {
 | 
						|
                        loose: false,
 | 
						|
                        externalHelpers: false,
 | 
						|
                        // Requires v1.2.50 or upper and requires target to be es2016 or upper.
 | 
						|
                        keepClassNames: false,
 | 
						|
                    },
 | 
						|
                    minify: false,
 | 
						|
                    env: {
 | 
						|
                        targets: {
 | 
						|
                            edge: "17",
 | 
						|
                            ie: "11",
 | 
						|
                        },
 | 
						|
                        mode: "entry",
 | 
						|
                    },
 | 
						|
                },
 | 
						|
            }),
 | 
						|
        ],
 | 
						|
    };
 | 
						|
 | 
						|
    return config;
 | 
						|
}
 | 
						|
 | 
						|
console.log("Preparing SFE package...");
 | 
						|
 | 
						|
export default createConfig;
 |