Skip to content

Commit

Permalink
fix: extensionAlias should be a map (#15)
Browse files Browse the repository at this point in the history
  • Loading branch information
chenjiahan authored Sep 23, 2024
1 parent 8656bae commit 0fc9154
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 8 deletions.
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -553,11 +553,10 @@ config.resolve.extensions
#### Config resolve extensionAlias

```js
config.resolve.extensionAlias : ChainedSet
config.resolve.extensionAlias : ChainedMap

config.resolve.extensionAlias
.add(value)
.prepend(value)
.set(key, value)
.clear()
```

Expand Down
3 changes: 1 addition & 2 deletions src/Resolve.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ const ChainedMap = require('./ChainedMap');
const ChainedSet = require('./ChainedSet');
const Plugin = require('./Plugin');

const childMaps = ['alias', 'fallback', 'byDependency'];
const childMaps = ['alias', 'fallback', 'byDependency', 'extensionAlias'];
const childSets = [
'aliasFields',
'conditionNames',
'descriptionFiles',
'extensions',
'extensionAlias',
'mainFields',
'mainFiles',
'exportsFields',
Expand Down
7 changes: 5 additions & 2 deletions test/Resolve.js
Original file line number Diff line number Diff line change
Expand Up @@ -210,10 +210,13 @@ test('tsConfig object', () => {

test('extensionAlias', () => {
const resolve = new Resolve();
const instance = resolve.extensionAlias.add('.ts').add('.js').end();
const instance = resolve.extensionAlias
.set('.a', '.b')
.set('.b', ['.c', '.d'])
.end();

expect(instance).toBe(resolve);
expect(resolve.toConfig()).toStrictEqual({
extensionAlias: ['.ts', '.js'],
extensionAlias: { '.a': '.b', '.b': ['.c', '.d'] },
});
});
2 changes: 1 addition & 1 deletion types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ declare namespace Config {
RspackResolve['descriptionFiles'][number]
>;
extensions: TypedChainedSet<this, RspackResolve['extensions'][number]>;
extensionAlias: TypedChainedSet<this, RspackResolve['extensionAlias'][number]>;
extensionAlias: TypedChainedMap<this, RspackResolve['extensionAlias']>;
mainFields: TypedChainedSet<this, RspackResolve['mainFields'][number]>;
mainFiles: TypedChainedSet<this, RspackResolve['mainFiles'][number]>;
exportsFields: TypedChainedSet<
Expand Down
3 changes: 3 additions & 0 deletions types/test/rspack-chain-tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,9 @@ config
.end()
.extensions.add('.js')
.end()
.extensionAlias.set('a', 'b')
.set('b', ['c'])
.end()
.mainFields.add('browser')
.end()
.mainFiles.add('index.js')
Expand Down

0 comments on commit 0fc9154

Please sign in to comment.