Minification - part 1 (#762)
* Minification - part 1 Creating a minified version of javascript signalr client
This commit is contained in:
parent
bcd5a1bd6e
commit
83f3605cfb
|
|
@ -1,8 +1,11 @@
|
|||
const gulp = require('gulp');
|
||||
const gulp = require('gulp');
|
||||
const browserify = require('browserify');
|
||||
const ts = require('gulp-typescript');
|
||||
const source = require('vinyl-source-stream');
|
||||
const del = require('del');
|
||||
const ts = require('gulp-typescript');
|
||||
const source = require('vinyl-source-stream');
|
||||
const buffer = require('vinyl-buffer');
|
||||
const del = require('del');
|
||||
const rename = require('gulp-rename');
|
||||
const babel = require('gulp-babel');
|
||||
|
||||
const tsProject = ts.createProject('./tsconfig.json');
|
||||
const clientOutDir = tsProject.options.outDir;
|
||||
|
|
@ -17,18 +20,25 @@ gulp.task('compile-ts-client', () => {
|
|||
.pipe(gulp.dest(clientOutDir));
|
||||
});
|
||||
|
||||
gulp.task('browserify-client', ['compile-ts-client'], () => {
|
||||
return browserify(clientOutDir + '/HubConnection.js', {standalone: 'signalR'})
|
||||
function browserifyModule(sourceFileName, namespace, targetFileName) {
|
||||
const browserOutDir = clientOutDir + '/../browser';
|
||||
|
||||
return browserify(clientOutDir + '/' + sourceFileName, {standalone: namespace})
|
||||
.bundle()
|
||||
.pipe(source('signalr-client.js'))
|
||||
.pipe(gulp.dest(clientOutDir + '/../browser'));
|
||||
.pipe(source(targetFileName))
|
||||
.pipe(gulp.dest(browserOutDir))
|
||||
.pipe(buffer())
|
||||
.pipe(rename({ extname: '.min.js' }))
|
||||
.pipe(babel({presets: ['minify']}))
|
||||
.pipe(gulp.dest(browserOutDir));
|
||||
}
|
||||
|
||||
gulp.task('browserify-client', ['compile-ts-client'], () => {
|
||||
return browserifyModule('HubConnection.js', 'signalR', 'signalr-client.js');
|
||||
});
|
||||
|
||||
gulp.task('browserify-msgpackprotocol', ['compile-ts-client'], () => {
|
||||
return browserify(clientOutDir + '/MessagePackHubProtocol.js', {standalone: 'signalRMsgPack'})
|
||||
.bundle()
|
||||
.pipe(source('signalr-msgpackprotocol.js'))
|
||||
.pipe(gulp.dest(clientOutDir + '/../browser'));
|
||||
return browserifyModule('MessagePackHubProtocol.js', 'signalRMsgPack', 'signalr-msgpackprotocol.js');
|
||||
});
|
||||
|
||||
gulp.task('browserify', [ 'browserify-client', 'browserify-msgpackprotocol']);
|
||||
|
|
|
|||
|
|
@ -26,8 +26,10 @@
|
|||
</ItemGroup>
|
||||
<Copy SourceFiles="@(JasmineFiles)" DestinationFolder="$(MSBuildProjectDirectory)/wwwroot/lib/jasmine" />
|
||||
|
||||
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\dist\browser\signalr-client.js;$(MSBuildThisFileDirectory)..\dist\browser\signalr-msgpackprotocol.js"
|
||||
DestinationFolder="$(MSBuildThisFileDirectory)wwwroot\lib\signalr" />
|
||||
<ItemGroup>
|
||||
<SignalRJSClientFiles Include="$(MSBuildThisFileDirectory)..\dist\browser\*" />
|
||||
</ItemGroup>
|
||||
<Copy SourceFiles="@(SignalRJSClientFiles)" DestinationFolder="$(MSBuildThisFileDirectory)wwwroot\lib\signalr" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@
|
|||
<script type="text/javascript" src="lib/jasmine/jasmine.js"></script>
|
||||
<script type="text/javascript" src="lib/jasmine/jasmine-html.js"></script>
|
||||
<script type="text/javascript" src="lib/jasmine/boot.js"></script>
|
||||
<script type="text/javascript" src="lib/signalr/signalr-client.js"></script>
|
||||
<script type="text/javascript" src="lib/signalr/signalr-msgpackprotocol.js"></script>
|
||||
<script type="text/javascript" src="lib/signalr/signalr-client.min.js"></script>
|
||||
<script type="text/javascript" src="lib/signalr/signalr-msgpackprotocol.min.js"></script>
|
||||
<script src="js/common.js"></script>
|
||||
<script src="js/webSocketTests.js"></script>
|
||||
<script src="js/connectionTests.js"></script>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -24,13 +24,19 @@
|
|||
"homepage": "https://github.com/aspnet/SignalR#readme",
|
||||
"devDependencies": {
|
||||
"@types/msgpack5": "^3.4.0",
|
||||
"babel-minify": "^0.2.0",
|
||||
"browserify": "^13.1.1",
|
||||
"buffer": "^5.0.7",
|
||||
"del": "^2.2.2",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-babel": "^7.0.0",
|
||||
"gulp-rename": "^1.2.2",
|
||||
"gulp-typescript": "^3.1.3",
|
||||
"jasmine": "^2.5.2",
|
||||
"lodash": "^4.17.4",
|
||||
"msgpack5": "^3.5.0",
|
||||
"typescript": "^2.0.10",
|
||||
"vinyl-buffer": "^1.0.0",
|
||||
"vinyl-source-stream": "^1.1.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue