Skip to content

Commit e681a2a

Browse files
committed
fix: allow config file without exports
1 parent 3f5fb5d commit e681a2a

12 files changed

Lines changed: 45 additions & 68 deletions

File tree

examples/app-react/rstack.config.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,3 @@ define.app(async () => {
1010
define.test({
1111
setupFiles: ['./tests/rstest.setup.ts'],
1212
});
13-
14-
// TODO: remove
15-
export default {};

examples/app-vanilla/rstack.config.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,3 @@ define.test({
44
testEnvironment: 'happy-dom',
55
setupFiles: ['./tests/rstest.setup.ts'],
66
});
7-
8-
// TODO: remove
9-
export default {};

examples/lib-node/rstack.config.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,3 @@ import { define } from 'rstack';
33
define.lib({
44
lib: [{ syntax: ['node 20'], dts: true }],
55
});
6-
7-
// TODO: remove
8-
export default {};
Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { RsbuildConfigDefinition } from '@rsbuild/core';
1+
import { loadConfig, type RsbuildConfigDefinition } from '@rsbuild/core';
22
import type { ConfigParams as RslibConfigParams, RslibConfig } from '@rslib/core';
33
import type { RstestConfigExport } from '@rstest/core';
44
import type { Configuration as StagedConfig } from 'lint-staged';
@@ -68,3 +68,18 @@ export const define: Define = {
6868
test: (config) => setConfig('test', config),
6969
staged: (config) => setConfig('staged', config),
7070
};
71+
72+
export const loadRstackConfig = () => {
73+
return loadConfig({
74+
loader: 'native',
75+
exportName: false,
76+
configFileNames: [
77+
'rstack.config.ts',
78+
'rstack.config.js',
79+
'rstack.config.mts',
80+
'rstack.config.mjs',
81+
'rstack.config.cts',
82+
'rstack.config.cjs',
83+
],
84+
});
85+
};

packages/rstack/src/constants.ts

Lines changed: 0 additions & 8 deletions
This file was deleted.

packages/rstack/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
export { define } from './define.js';
1+
export { define } from './config.js';
22
export { runCLI } from './cli/index.js';

packages/rstack/src/rsbuildConfig.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { loadConfig, type RsbuildConfigDefinition, type ConfigParams } from '@rsbuild/core';
2-
import { getConfig, clearConfig } from './define.js';
3-
import { configFileNames } from './constants.js';
1+
import type { RsbuildConfigDefinition, ConfigParams } from '@rsbuild/core';
2+
import { getConfig, clearConfig, loadRstackConfig } from './config.js';
43

54
const resolveRsbuildConfig = async (params: ConfigParams) => {
65
const appConfig = getConfig('app');
@@ -14,11 +13,7 @@ const resolveRsbuildConfig = async (params: ConfigParams) => {
1413
};
1514

1615
const loadRsbuildConfig: RsbuildConfigDefinition = async (params) => {
17-
await loadConfig({
18-
loader: 'native',
19-
configFileNames,
20-
});
21-
16+
await loadRstackConfig();
2217
const appConfig = await resolveRsbuildConfig(params);
2318
clearConfig();
2419
return appConfig;

packages/rstack/src/rslibConfig.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
import { loadConfig } from '@rsbuild/core';
21
import type { ConfigParams, RslibConfig } from '@rslib/core';
3-
import type { RslibConfigDefinition } from './define.js';
4-
import { getConfig, clearConfig } from './define.js';
5-
import { configFileNames } from './constants.js';
2+
import type { RslibConfigDefinition } from './config.js';
3+
import { getConfig, clearConfig, loadRstackConfig } from './config.js';
64

75
const resolveRslibConfig = async (params: ConfigParams): Promise<RslibConfig> => {
86
const libConfig = getConfig('lib');
@@ -17,11 +15,7 @@ const resolveRslibConfig = async (params: ConfigParams): Promise<RslibConfig> =>
1715
};
1816

1917
const loadRslibConfig = (async (params: ConfigParams) => {
20-
await loadConfig({
21-
loader: 'native',
22-
configFileNames,
23-
});
24-
18+
await loadRstackConfig();
2519
const libConfig = await resolveRslibConfig(params);
2620
clearConfig();
2721
return libConfig;

packages/rstack/src/rstestConfig.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import { loadConfig, type ConfigParams } from '@rsbuild/core';
1+
import type { ConfigParams } from '@rsbuild/core';
22
import type { RstestConfig, RstestConfigExport } from '@rstest/core';
3-
import { getConfig, clearConfig } from './define.js';
4-
import { configFileNames } from './constants.js';
3+
import { getConfig, clearConfig, loadRstackConfig } from './config.js';
54

65
const extendsConfig = async (testConfig: RstestConfig, params: ConfigParams) => {
76
if ('extends' in testConfig) {
@@ -36,11 +35,7 @@ const resolveRstestConfig = async () => {
3635
};
3736

3837
const loadRstestConfig = (async (params: ConfigParams) => {
39-
await loadConfig({
40-
loader: 'native',
41-
configFileNames,
42-
});
43-
38+
await loadRstackConfig();
4439
const testConfig = await resolveRstestConfig();
4540
const finalConfig = extendsConfig(testConfig, params);
4641

packages/rstack/src/staged.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import { loadConfig } from '@rsbuild/core';
21
import lintStaged from 'lint-staged';
3-
import { configFileNames } from './constants.js';
4-
import { clearConfig, getConfig } from './define.js';
2+
import { clearConfig, getConfig, loadRstackConfig } from './config.js';
53

64
const stagedHelpMessage = `Rstack v${RSTACK_VERSION}
75
@@ -15,10 +13,7 @@ Options:
1513

1614
async function loadStagedConfig() {
1715
try {
18-
await loadConfig({
19-
loader: 'native',
20-
configFileNames,
21-
});
16+
await loadRstackConfig();
2217
return getConfig('staged');
2318
} finally {
2419
clearConfig();

0 commit comments

Comments
 (0)