mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-07 08:17:05 +00:00
Merge pull request #30103 from pd4d10/patch-2
add string-replace-webpack-plugin types
This commit is contained in:
+48
@@ -0,0 +1,48 @@
|
||||
// Type definitions for string-replace-webpack-plugin 0.1
|
||||
// Project: https://github.com/jamesandersen/string-replace-webpack-plugin
|
||||
// Definitions by: Rongjian Zhang <https://github.com/pd4d10>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.3
|
||||
|
||||
import { Plugin, RuleSetUse } from "webpack";
|
||||
|
||||
export = StringReplacePlugin;
|
||||
|
||||
declare class StringReplacePlugin extends Plugin {
|
||||
static replace(
|
||||
options: StringReplacePlugin.Options,
|
||||
/**
|
||||
* loaders to follow the replacement
|
||||
*/
|
||||
nextLoaders?: string
|
||||
): RuleSetUse;
|
||||
static replace(
|
||||
/**
|
||||
* loaders to apply prior to the replacement
|
||||
*/
|
||||
prevLoaders: string,
|
||||
options: StringReplacePlugin.Options,
|
||||
/**
|
||||
* loaders to follow the replacement
|
||||
*/
|
||||
nextLoaders?: string
|
||||
): RuleSetUse;
|
||||
}
|
||||
|
||||
declare namespace StringReplacePlugin {
|
||||
interface Options {
|
||||
replacements: ReplacementItem[];
|
||||
}
|
||||
|
||||
interface ReplacementItem {
|
||||
/**
|
||||
* a regex to match against the file contents
|
||||
*/
|
||||
pattern: RegExp;
|
||||
/**
|
||||
* an ECMAScript string replacement function
|
||||
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter
|
||||
*/
|
||||
replacement: (substring: string, ...args: any[]) => string;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import StringReplacePlugin = require('string-replace-webpack-plugin');
|
||||
|
||||
StringReplacePlugin.replace('babel-loader', {
|
||||
replacements: [
|
||||
{
|
||||
// Taken from:
|
||||
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter
|
||||
pattern: /([^\d]*)(\d*)([^\w]*)/,
|
||||
replacement: (match, p1, p2, p3, offset, string) => {
|
||||
// p1 is nondigits, p2 digits, and p3 non-alphanumerics
|
||||
return [p1, p2, p3].join(' - ');
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
new StringReplacePlugin();
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": ["es6"],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": ["../"],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": ["index.d.ts", "string-replace-webpack-plugin-tests.ts"]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user