Skip to content

Commit a67b795

Browse files
ktsnyyx990803
authored andcommittedSep 5, 2017
types: add TypeScript declarations of webpack plugins (#6325)
close #6301
1 parent 1b96ba7 commit a67b795

File tree

5 files changed

+34
-3
lines changed

5 files changed

+34
-3
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { WebpackPlugin } from './types/plugin';
2+
declare const Plugin: WebpackPlugin;
3+
export = Plugin;

‎packages/vue-server-renderer/package.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,13 @@
2828
"lodash.template": "^4.4.0",
2929
"lodash.uniq": "^4.5.0",
3030
"resolve": "^1.2.0",
31-
"source-map": "0.5.6",
32-
"serialize-javascript": "^1.3.0"
31+
"serialize-javascript": "^1.3.0",
32+
"source-map": "0.5.6"
3333
},
3434
"devDependencies": {
3535
"@types/node": "^7.0.22",
36-
"typescript": "^2.3.3",
36+
"@types/webpack": "^3.0.6",
37+
"typescript": "^2.4.2",
3738
"vue": "file:../.."
3839
},
3940
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/vue-server-renderer#readme"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { WebpackPlugin } from './types/plugin';
2+
declare const Plugin: WebpackPlugin;
3+
export = Plugin;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Plugin } from 'webpack';
2+
3+
interface WebpackPluginOptions {
4+
filename?: string;
5+
}
6+
7+
export interface WebpackPlugin {
8+
new (options?: WebpackPluginOptions): Plugin;
9+
}

‎packages/vue-server-renderer/types/test.ts

+15
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
import Vue = require('vue');
2+
import VueSSRClientPlugin = require('../client-plugin');
3+
import VueSSRServerPlugin = require('../server-plugin');
4+
import webpack = require('webpack');
25
import { readFileSync } from 'fs';
36
import { createRenderer, createBundleRenderer } from '../';
47

@@ -82,3 +85,15 @@ bundleRenderer.renderToString(context, (err, html) => {
8285
bundleRenderer.renderToStream(context).on('data', chunk => {
8386
const html = chunk.toString();
8487
});
88+
89+
// webpack plugins
90+
webpack({
91+
plugins: [
92+
new VueSSRClientPlugin({
93+
filename: 'client-manifest.json'
94+
}),
95+
new VueSSRServerPlugin({
96+
filename: 'server-bundle.json'
97+
})
98+
]
99+
});

0 commit comments

Comments
 (0)