Skip to content

Commit 203622e

Browse files
committed
Add TypeScript typings for core & webpack
1 parent 30af728 commit 203622e

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

packages/core/index.d.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Type definitions for @webpack-blocks/core 1.0.0
2+
// Project: webpack-blocks
3+
// Definitions by: Stephan Schneider <https://github.com/zcei>
4+
5+
import { Configuration as WebpackConfig, Condition, Rule, Plugin } from 'webpack'
6+
7+
export function createConfig(configSetter: WebpackBlock[]): object
8+
export function group(configSetters: WebpackBlock[]): WebpackBlock
9+
export function env(envName: string, configSetters: WebpackBlock[]): WebpackBlock
10+
export function match(test: Condition | Condition[], configSetters: Function[]): Function
11+
12+
13+
export interface WebpackBlock {
14+
(context: Object, util: WebpackBlockUtils): WebpackBlockUpdater
15+
}
16+
17+
export interface WebpackBlockUpdater {
18+
(previousConfig: WebpackConfig): WebpackConfig
19+
}
20+
21+
/*~ You can declare types that are available via importing the module */
22+
export interface WebpackBlockUtils {
23+
merge: (configSnippet: WebpackConfig) => WebpackBlockUpdater
24+
addLoader: (loader: Rule) => WebpackBlockUpdater
25+
addPlugin: (plugin: Plugin) => WebpackBlockUpdater
26+
}

packages/webpack/index.d.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Type definitions for @webpack-blocks/webpack 1.0.0
2+
// Project: webpack-blocks
3+
// Definitions by: Stephan Schneider <https://github.com/zcei>
4+
5+
import {
6+
createConfig,
7+
group,
8+
env,
9+
match,
10+
WebpackBlock,
11+
WebpackBlockUpdater
12+
} from '@webpack-blocks/core'
13+
import { Configuration, Plugin, Entry, Options, Resolve, Output } from 'webpack'
14+
export { createConfig, group, env, match }
15+
16+
export function addPlugins(plugins: Plugin[]): WebpackBlock
17+
export function customConfig(configSnippet: Configuration): WebpackBlockUpdater
18+
export function defineConstants(constants: { [key: string]: any }): WebpackBlock
19+
export function setEnv(envs: string[] | { [key: string]: any }): WebpackBlock
20+
// TODO: support EntryFunc
21+
export function entryPoint(entry: string | string[] | Entry): WebpackBlock
22+
export function performance(perfBudgetOptions: Options.Performance): WebpackBlock
23+
export function resolve(config: Resolve): WebpackBlock
24+
export function setContext(path: string): WebpackBlock
25+
export function setDevTool(devtool: Options.Devtool): WebpackBlock
26+
export function setOutput(output: string | Output): WebpackBlock
27+
export function sourceMaps(devtool?: Options.Devtool): WebpackBlock

0 commit comments

Comments
 (0)