Skip to content

Commit 8ab7c60

Browse files
refactor(rstack): simplify plugin lifecycle code
1 parent 3825894 commit 8ab7c60

3 files changed

Lines changed: 17 additions & 15 deletions

File tree

‎packages/rstack/src/config.ts‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ export const loadRstackConfig = async ({
254254
active: true,
255255
};
256256

257-
const loaded = await getConfigSessionStorage().run(session, async () => {
257+
const loadedConfig = await getConfigSessionStorage().run(session, async () => {
258258
try {
259259
const { filePath, dependencies } = await loadConfig({
260260
loader: 'native',
@@ -277,14 +277,14 @@ export const loadRstackConfig = async ({
277277
state.invocation.configFilePath = filePath;
278278
}
279279

280-
const loaded = {
280+
const result = {
281281
configs: session.configs,
282282
plugins: session.plugins,
283283
filePath,
284284
dependencies,
285285
};
286-
loadedConfigDirectories.set(loaded, resolve(cwd ?? process.cwd()));
287-
return loaded;
286+
loadedConfigDirectories.set(result, resolve(cwd ?? process.cwd()));
287+
return result;
288288
} finally {
289289
session.active = false;
290290
session.configs = {};
@@ -293,6 +293,6 @@ export const loadRstackConfig = async ({
293293
}
294294
});
295295

296-
await getRstackPluginRuntime(loaded);
297-
return loaded;
296+
await getRstackPluginRuntime(loadedConfig);
297+
return loadedConfig;
298298
};

‎packages/rstack/tests/config/plugin-modifiers/factory-order-rstack.config.ts‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { define } from 'rstack';
22

33
let setupComplete = false;
44

5-
const assertSetupComplete = (): Record<string, never> => {
5+
const createConfig = () => {
66
if (!setupComplete) {
77
throw new Error('plugin setup must run before config factories');
88
}
@@ -18,9 +18,9 @@ define.plugins([
1818
},
1919
]);
2020

21-
define.app(assertSetupComplete);
22-
define.lib(assertSetupComplete);
23-
define.doc(async () => assertSetupComplete());
24-
define.test(assertSetupComplete);
25-
define.lint(async () => [assertSetupComplete()]);
26-
define.fmt(assertSetupComplete);
21+
define.app(createConfig);
22+
define.lib(createConfig);
23+
define.doc(async () => createConfig());
24+
define.test(createConfig);
25+
define.lint(async () => [createConfig()]);
26+
define.fmt(createConfig);

‎packages/rstack/tests/config/plugin-modifiers/fmt.test.ts‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,20 @@ test('applies fmt modifiers after resolving the native config definition', () =>
88
'rstack.config.ts',
99
`import { define } from 'rstack';
1010
11+
let setupComplete = false;
12+
1113
define.plugins([
1214
{
1315
name: 'fmt-modifier',
1416
setup({ modifyConfig }) {
15-
globalThis.__fmtPluginSetupComplete = true;
17+
setupComplete = true;
1618
modifyConfig('fmt', async (config) => ({ ...config, singleQuote: true }));
1719
},
1820
},
1921
]);
2022
2123
define.fmt(() => {
22-
if (!globalThis.__fmtPluginSetupComplete) {
24+
if (!setupComplete) {
2325
throw new Error('plugin setup must run before config factories');
2426
}
2527
return {};

0 commit comments

Comments
 (0)