From 23131fa8ae084ea6379a14fccf7fef195d330c34 Mon Sep 17 00:00:00 2001 From: Owen Buckley Date: Mon, 2 Sep 2024 17:07:48 -0400 Subject: [PATCH] provide fully synced compilation to custom loader script and resource plugins --- packages/cli/src/lifecycles/compile.js | 4 ++-- packages/cli/src/loader.js | 17 +++++++---------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/packages/cli/src/lifecycles/compile.js b/packages/cli/src/lifecycles/compile.js index fb48336fe..68ce2d0dc 100644 --- a/packages/cli/src/lifecycles/compile.js +++ b/packages/cli/src/lifecycles/compile.js @@ -1,8 +1,8 @@ import { checkResourceExists } from '../lib/resource-utils.js'; import { generateGraph } from './graph.js'; import { initContext } from './context.js'; +import { readAndMergeConfig } from './config.js'; import fs from 'fs/promises'; -import { readAndMergeConfig as initConfig } from './config.js'; const generateCompilation = () => { return new Promise(async (resolve, reject) => { @@ -20,7 +20,7 @@ const generateCompilation = () => { }; console.info('Initializing project config'); - compilation.config = await initConfig(); + compilation.config = await readAndMergeConfig(); // determine whether to use default layout or user detected workspace console.info('Initializing project workspace contexts'); diff --git a/packages/cli/src/loader.js b/packages/cli/src/loader.js index 9a676ff2f..f7c2c968e 100644 --- a/packages/cli/src/loader.js +++ b/packages/cli/src/loader.js @@ -1,19 +1,16 @@ -import { readAndMergeConfig as initConfig } from './lifecycles/config.js'; +import { readAndMergeConfig } from './lifecycles/config.js'; +import { initContext } from './lifecycles/context.js'; import { mergeResponse } from './lib/resource-utils.js'; -const config = await initConfig(); +const config = await readAndMergeConfig(); +const context = await initContext({ config }); + const resourcePlugins = config.plugins .filter(plugin => plugin.type === 'resource') .filter(plugin => plugin.name !== 'plugin-node-modules:resource' && plugin.name !== 'plugin-user-workspace') .map(plugin => plugin.provider({ - context: { - outputDir: new URL(`file://${process.cwd()}/public`), - projectDirectory: new URL(`file://${process.cwd()}/`), - scratchDir: new URL(`file://${process.cwd()}/.greenwood/`) - }, - config: { - devServer: {} - }, + context, + config, graph: [] }));