mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
Merge pull request #22 from wwelling/rollup
Added rollup for Tree-shaking: this closes #21
This commit is contained in:
61
package.json
61
package.json
@@ -18,18 +18,21 @@
|
||||
"clean:css:shim:ts": "rimraf **/*.css.shim.ts",
|
||||
"clean:scss:shim:ts": "rimraf **/*.scss.shim.ts",
|
||||
"clean:prod": "npm run clean:ngc && npm run clean:json && npm run clean:css && npm run clean:css:ts && npm run clean:scss:ts && npm run clean:css:shim:ts && npm run clean:scss:shim:ts && npm run clean:dist",
|
||||
"clean": "npm run clean:log && npm run clean:dist && npm run clean:prod && npm run clean:node",
|
||||
"clean": "npm run clean:log && npm run clean:prod && npm run clean:node",
|
||||
"sass": "node-sass src -o src --include-path node_modules --output-style compressed -q",
|
||||
"sass:watch": "node-sass -w src -o src --include-path node_modules --output-style compressed -q",
|
||||
"rollup": "rollup -c rollup-server.js && rollup -c rollup-client.js",
|
||||
"prebuild": "npm run clean:dist && npm run sass",
|
||||
"build": "webpack --progress",
|
||||
"build:prod": "webpack --config webpack.prod.config.ts",
|
||||
"build:prod:ngc": "npm run clean:prod && npm run sass && npm run ngc && npm run clean:dist && npm run build:prod",
|
||||
"build:prod:ngc:json": "npm run clean:prod && npm run sass && npm run ngc && npm run clean:dist && npm run build:prod:json",
|
||||
"build:prod:rollup": "npm run build:prod && npm run rollup",
|
||||
"build:prod:ngc": "npm run clean:prod && npm run sass && npm run ngc && npm run build:prod:rollup",
|
||||
"build:prod:ngc:json": "npm run clean:prod && npm run sass && npm run ngc && npm run build:prod:json:rollup",
|
||||
"build:prod:json": "webpack --config webpack.prod.config.ts --json | webpack-bundle-size-analyzer",
|
||||
"build:prod:json:rollup": "npm run build:prod:json && npm run rollup",
|
||||
"ngc": "ngc -p tsconfig.aot.json",
|
||||
"prestart": "npm run build:prod:ngc:json",
|
||||
"server": "node dist/server/index.js",
|
||||
"server": "node dist/server/build.js",
|
||||
"server:dev": "nodemon --debug dist/server/index.js",
|
||||
"start": "npm run server",
|
||||
"start:dev": "npm run clean:prod && npm run build && npm run server",
|
||||
@@ -44,24 +47,25 @@
|
||||
"debug:start": "npm run build && npm run debug:server",
|
||||
"debug:build": "node-nightly --inspect --debug-brk node_modules/webpack/bin/webpack.js",
|
||||
"debug:build:prod": "node-nightly --inspect --debug-brk node_modules/webpack/bin/webpack.js --config webpack.prod.config.ts",
|
||||
"docs": "typedoc --options typedoc.json ./src",
|
||||
"lint": "tslint \"src/**/*.ts\" || true",
|
||||
"global": "npm install -g angular-cli nodemon npm-check-updates rimraf ts-node typedoc typescript webpack webpack-bundle-size-analyzer marked node-gyp"
|
||||
"global": "npm install -g angular-cli nodemon npm-check-updates rimraf ts-node typedoc typescript webpack webpack-bundle-size-analyzer rollup marked node-gyp"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular/common": "2.2.4",
|
||||
"@angular/compiler": "2.2.4",
|
||||
"@angular/compiler-cli": "2.2.4",
|
||||
"@angular/core": "2.2.4",
|
||||
"@angular/forms": "2.2.4",
|
||||
"@angular/http": "2.2.4",
|
||||
"@angular/platform-browser": "2.2.4",
|
||||
"@angular/platform-browser-dynamic": "2.2.4",
|
||||
"@angular/platform-server": "2.2.4",
|
||||
"@angular/router": "3.2.4",
|
||||
"@angular/upgrade": "2.2.4",
|
||||
"@angular/common": "2.2.3",
|
||||
"@angular/compiler": "2.2.3",
|
||||
"@angular/compiler-cli": "2.2.3",
|
||||
"@angular/core": "2.2.3",
|
||||
"@angular/forms": "2.2.3",
|
||||
"@angular/http": "2.2.3",
|
||||
"@angular/platform-browser": "2.2.3",
|
||||
"@angular/platform-browser-dynamic": "2.2.3",
|
||||
"@angular/platform-server": "2.2.3",
|
||||
"@angular/router": "3.2.3",
|
||||
"@angular/upgrade": "2.2.3",
|
||||
"@angularclass/bootloader": "1.0.1",
|
||||
"@angularclass/idle-preload": "1.0.4",
|
||||
"@ng-bootstrap/ng-bootstrap": "1.0.0-alpha.14",
|
||||
"@ng-bootstrap/ng-bootstrap": "1.0.0-alpha.15",
|
||||
"@ngrx/core": "^1.2.0",
|
||||
"@ngrx/effects": "^2.0.0",
|
||||
"@ngrx/router-store": "^1.2.5",
|
||||
@@ -86,7 +90,7 @@
|
||||
"zone.js": "0.6.26"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ngtools/webpack": "1.1.7",
|
||||
"@ngtools/webpack": "1.1.9",
|
||||
"@types/body-parser": "0.0.33",
|
||||
"@types/compression": "0.0.33",
|
||||
"@types/cookie-parser": "1.3.30",
|
||||
@@ -96,26 +100,31 @@
|
||||
"@types/memory-cache": "0.0.29",
|
||||
"@types/mime": "0.0.29",
|
||||
"@types/morgan": "1.7.32",
|
||||
"@types/node": "6.0.51",
|
||||
"@types/node": "6.0.52",
|
||||
"@types/serve-static": "1.7.31",
|
||||
"@types/webfontloader": "1.6.27",
|
||||
"angular2-template-loader": "0.6.0",
|
||||
"autoprefixer": "6.5.3",
|
||||
"autoprefixer": "6.5.4",
|
||||
"awesome-typescript-loader": "2.2.4",
|
||||
"codelyzer": "2.0.0-beta.1",
|
||||
"codelyzer": "2.0.0-beta.3",
|
||||
"concurrently": "3.1.0",
|
||||
"cookie-parser": "1.4.3",
|
||||
"copy-webpack-plugin": "4.0.1",
|
||||
"imports-loader": "0.6.5",
|
||||
"imports-loader": "0.7.0",
|
||||
"json-loader": "0.5.4",
|
||||
"node-sass": "3.13.0",
|
||||
"node-sass": "4.0.0",
|
||||
"nodemon": "1.11.0",
|
||||
"raw-loader": "0.5.1",
|
||||
"reflect-metadata": "0.1.8",
|
||||
"rimraf": "2.5.4",
|
||||
"rollup": "0.37.0",
|
||||
"rollup-plugin-commonjs": "6.0.0",
|
||||
"rollup-plugin-node-globals": "1.1.0",
|
||||
"rollup-plugin-node-resolve": "2.0.0",
|
||||
"rollup-plugin-uglify": "1.0.1",
|
||||
"string-replace-loader": "1.0.5",
|
||||
"ts-helpers": "1.1.2",
|
||||
"ts-node": "1.7.0",
|
||||
"ts-node": "1.7.2",
|
||||
"tslint": "4.0.2",
|
||||
"tslint-loader": "3.3.0",
|
||||
"typedoc": "0.5.1",
|
||||
@@ -123,8 +132,8 @@
|
||||
"v8-lazy-parse-webpack-plugin": "0.3.0",
|
||||
"webpack": "2.1.0-beta.27",
|
||||
"webpack-bundle-analyzer": "1.4.1",
|
||||
"webpack-dev-middleware": "1.8.4",
|
||||
"webpack-dev-middleware": "1.9.0",
|
||||
"webpack-dev-server": "2.1.0-beta.11",
|
||||
"webpack-merge": "1.0.2"
|
||||
"webpack-merge": "1.1.1"
|
||||
}
|
||||
}
|
||||
|
18
rollup-client.js
Normal file
18
rollup-client.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import rollup from 'rollup'
|
||||
import nodeResolve from 'rollup-plugin-node-resolve'
|
||||
import commonjs from 'rollup-plugin-commonjs';
|
||||
import uglify from 'rollup-plugin-uglify'
|
||||
|
||||
export default {
|
||||
entry: 'dist/client/main.bundle.js',
|
||||
dest: 'dist/client/build.js',
|
||||
sourceMap: false,
|
||||
format: 'iife',
|
||||
plugins: [
|
||||
nodeResolve({jsnext: true, module: true}),
|
||||
commonjs({
|
||||
include: 'node_modules/rxjs/**',
|
||||
}),
|
||||
uglify()
|
||||
]
|
||||
}
|
18
rollup-server.js
Normal file
18
rollup-server.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import rollup from 'rollup'
|
||||
import nodeResolve from 'rollup-plugin-node-resolve'
|
||||
import commonjs from 'rollup-plugin-commonjs';
|
||||
import uglify from 'rollup-plugin-uglify'
|
||||
|
||||
export default {
|
||||
entry: 'dist/server/index.js',
|
||||
dest: 'dist/server/build.js',
|
||||
sourceMap: false,
|
||||
format: 'iife',
|
||||
plugins: [
|
||||
nodeResolve({jsnext: true, module: true}),
|
||||
commonjs({
|
||||
include: 'node_modules/rxjs/**',
|
||||
}),
|
||||
uglify()
|
||||
]
|
||||
}
|
20
src/index-aot.html
Normal file
20
src/index-aot.html
Normal file
@@ -0,0 +1,20 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>DSpace</title>
|
||||
<meta name="viewport" content="width=device-width,minimum-scale=1">
|
||||
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
|
||||
<link rel="stylesheet" href="/styles/main.css">
|
||||
<base href="/">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<ds-app>
|
||||
Loading DSpace ...
|
||||
</ds-app>
|
||||
<script async src="/build.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
@@ -79,7 +79,7 @@ app.get('/data.json', serverApi);
|
||||
app.use('/api', createMockApi());
|
||||
|
||||
function ngApp(req, res) {
|
||||
res.render('index', {
|
||||
res.render('index-aot', {
|
||||
req,
|
||||
res,
|
||||
// time: true, // use this to determine what part of your app is slow only in development
|
||||
|
@@ -1,15 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es5",
|
||||
"module": "es2015",
|
||||
"moduleResolution": "node",
|
||||
"declaration": false,
|
||||
"removeComments": true,
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"allowUnreachableCode": false,
|
||||
"allowUnusedLabels": false,
|
||||
"noEmitHelpers": true,
|
||||
"noImplicitAny": false,
|
||||
"noImplicitReturns": false,
|
||||
"noImplicitUseStrict": false,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"pretty": false,
|
||||
"outDir": "dist",
|
||||
"sourceMap": true,
|
||||
"sourceRoot": "src",
|
||||
"noEmitHelpers": true,
|
||||
"target": "es5",
|
||||
"typeRoots": [
|
||||
"node_modules/@types"
|
||||
],
|
||||
@@ -20,6 +28,7 @@
|
||||
"./src/*.d.ts"
|
||||
],
|
||||
"angularCompilerOptions": {
|
||||
"skipMetadataEmit": true,
|
||||
"debug": false
|
||||
},
|
||||
"compileOnSave": false,
|
||||
|
@@ -1,15 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"declaration": false,
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"target": "es5",
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"declaration": false,
|
||||
"removeComments": false,
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"allowUnreachableCode": false,
|
||||
"allowUnusedLabels": false,
|
||||
"noEmitHelpers": true,
|
||||
"noImplicitAny": false,
|
||||
"noImplicitReturns": false,
|
||||
"noImplicitUseStrict": false,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"pretty": true,
|
||||
"outDir": "dist",
|
||||
"sourceMap": true,
|
||||
"sourceRoot": "src",
|
||||
"noEmitHelpers": true,
|
||||
"target": "es5",
|
||||
"typeRoots": [
|
||||
"node_modules/@types"
|
||||
],
|
||||
|
@@ -12,10 +12,8 @@ export const commonPlugins = [
|
||||
new V8LazyParseWebpackPlugin(),
|
||||
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
'NODE_ENV': JSON.stringify('production'),
|
||||
'AOT': true
|
||||
}
|
||||
'process.env.NODE_ENV': JSON.stringify('production'),
|
||||
'process.env.AOT': true
|
||||
}),
|
||||
|
||||
// Loader options
|
||||
|
Reference in New Issue
Block a user