Skip to content

Commit 184fe2f

Browse files
committed
chore(generate-loader,plugin): add typescript support
1 parent 47702cb commit 184fe2f

24 files changed

Lines changed: 124 additions & 52 deletions
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.js
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
examples
22
test
3+
types
34
templates/test
5+
*.ts
6+
tsconfig.json

packages/generate-loader/index.js

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

packages/generate-loader/index.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import LoaderGenerator from "@webpack-cli/generators/loader-generator";
2+
import * as yeoman from "yeoman-environment";
3+
4+
import { IYeoman } from "./types/Yeoman";
5+
6+
/**
7+
* Runs a yeoman generator to create a new webpack loader project
8+
* @returns {void}
9+
*/
10+
11+
export default function loaderCreator(): void {
12+
const env = yeoman.createEnv();
13+
const generatorName: string = "webpack-loader-generator";
14+
15+
env.registerStub(LoaderGenerator, generatorName);
16+
17+
env.run(generatorName);
18+
}

packages/generate-loader/package-lock.json

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/generate-loader/package.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,12 @@
1616
"dependencies": {
1717
"@webpack-cli/generators": "^0.0.8",
1818
"yeoman-environment": "^2.1.1"
19+
},
20+
"devDependencies": {
21+
"@types/node": "^10.3.6",
22+
"typescript": "^2.9.2"
23+
},
24+
"scripts": {
25+
"build": "tsc"
1926
}
2027
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"extends": "../../tsconfig.json"
3+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
interface IRunEnv extends Object {
2+
on?: (event: string, callbackFn: Function) => void;
3+
}
4+
5+
export interface IYeoman extends Object {
6+
registerStub?(generator: IGenerator, namespace: string): void;
7+
run?(target: string, options?: object, done?: Function): IRunEnv;
8+
}
9+
10+
export interface IGenerator extends Object {
11+
composeWith?: (path: string) => void;
12+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.js
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
examples
22
test
3+
types
34
templates/test
5+
*.ts
6+
tsconfig.json

0 commit comments

Comments
 (0)