mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-19 12:59:39 -07:00
Fixed bundling and various improvements
- Fixed uglifyjs (apparently gulp-uglify was too new?!, fixes #1386) - Updated to latest practices from https://github.com/MattJeanes/AngularBasic - Fix primeng loading roboto (moved fonts lib from fonts to css/fonts) - Upgrade to ngx-infinite-scroll from angular2-infinite-scroll and move it to npm auto-installer - Remove weird content inclusion in csproj and just include all of wwwroot - Upgrade to Angular 4.0.2 and TypeScript 2.3.0
This commit is contained in:
parent
1480e980e8
commit
a23508adc9
6 changed files with 44 additions and 147 deletions
|
@ -8,90 +8,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Remove="wwwroot/app\wizard\plex\plex.component.ts" />
|
<Content Include="wwwroot\**" />
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="wwwroot\app\auth\auth.guard.ts">
|
|
||||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="wwwroot\app\auth\auth.module.ts" />
|
|
||||||
<Content Include="wwwroot\app\auth\auth.service.ts" />
|
|
||||||
<Content Include="wwwroot\app\auth\IUserLogin.ts" />
|
|
||||||
<Content Include="wwwroot\app\interfaces\IEmby.ts" />
|
|
||||||
<Content Include="wwwroot\app\interfaces\ISettings.js">
|
|
||||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="wwwroot\app\interfaces\ISettings.js.map">
|
|
||||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="wwwroot\app\interfaces\ISettings.ts">
|
|
||||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="wwwroot\app\login\login.component.html" />
|
|
||||||
<Content Include="wwwroot\app\login\login.component.ts" />
|
|
||||||
<Content Include="wwwroot\app\services\applications\emby.service.js" />
|
|
||||||
<Content Include="wwwroot\app\services\applications\emby.service.js.map" />
|
|
||||||
<Content Include="wwwroot\app\services\applications\emby.service.ts">
|
|
||||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="wwwroot\app\services\applications\plex.service.js" />
|
|
||||||
<Content Include="wwwroot\app\services\applications\plex.service.js.map" />
|
|
||||||
<Content Include="wwwroot\app\services\applications\plex.service.ts" />
|
|
||||||
<Content Include="wwwroot\app\services\identity.service.js" />
|
|
||||||
<Content Include="wwwroot\app\services\identity.service.js.map" />
|
|
||||||
<Content Include="wwwroot\app\services\identity.service.ts" />
|
|
||||||
<Content Include="wwwroot\app\services\plex.service.js" />
|
|
||||||
<Content Include="wwwroot\app\services\plex.service.js.map" />
|
|
||||||
<Content Include="wwwroot\app\services\plex.service.ts">
|
|
||||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="wwwroot\app\services\settings.service.js" />
|
|
||||||
<Content Include="wwwroot\app\services\settings.service.js.map" />
|
|
||||||
<Content Include="wwwroot\app\services\settings.service.ts" />
|
|
||||||
<Content Include="wwwroot\app\services\status.service.js" />
|
|
||||||
<Content Include="wwwroot\app\services\status.service.js.map" />
|
|
||||||
<Content Include="wwwroot\app\services\status.service.ts" />
|
|
||||||
<Content Include="wwwroot\app\settings\emby\emby.component.html" />
|
|
||||||
<Content Include="wwwroot\app\settings\emby\emby.component.js" />
|
|
||||||
<Content Include="wwwroot\app\settings\emby\emby.component.js.map" />
|
|
||||||
<Content Include="wwwroot\app\settings\emby\emby.component.ts" />
|
|
||||||
<Content Include="wwwroot\app\settings\interfaces\ISettings.ts" />
|
|
||||||
<Content Include="wwwroot\app\settings\plex\plex.component.html">
|
|
||||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="wwwroot\app\settings\plex\plex.component.js" />
|
|
||||||
<Content Include="wwwroot\app\settings\plex\plex.component.js.map" />
|
|
||||||
<Content Include="wwwroot\app\settings\plex\plex.component.ts" />
|
|
||||||
<Content Include="wwwroot\app\settings\settingsmenu.component.html" />
|
|
||||||
<Content Include="wwwroot\app\settings\settingsmenu.component.js" />
|
|
||||||
<Content Include="wwwroot\app\settings\settingsmenu.component.js.map" />
|
|
||||||
<Content Include="wwwroot\app\settings\settingsmenu.component.ts" />
|
|
||||||
<Content Include="wwwroot\app\wizard\createadmin\createadmin.component.html" />
|
|
||||||
<Content Include="wwwroot\app\wizard\createadmin\createadmin.component.js" />
|
|
||||||
<Content Include="wwwroot\app\wizard\createadmin\createadmin.component.js.map" />
|
|
||||||
<Content Include="wwwroot\app\wizard\createadmin\createadmin.component.ts" />
|
|
||||||
<Content Include="wwwroot\app\wizard\emby\emby.component.html" />
|
|
||||||
<Content Include="wwwroot\app\wizard\emby\emby.component.js" />
|
|
||||||
<Content Include="wwwroot\app\wizard\emby\emby.component.js.map" />
|
|
||||||
<Content Include="wwwroot\app\wizard\emby\emby.component.ts" />
|
|
||||||
<Content Include="wwwroot\app\wizard\mediaserver\mediaserver.component.html">
|
|
||||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="wwwroot\app\wizard\mediaserver\mediaserver.component.js" />
|
|
||||||
<Content Include="wwwroot\app\wizard\mediaserver\mediaserver.component.js.map" />
|
|
||||||
<Content Include="wwwroot\app\wizard\mediaserver\mediaserver.component.ts" />
|
|
||||||
<Content Include="wwwroot\app\wizard\plex\plex.component.html" />
|
|
||||||
<Content Include="wwwroot\app\wizard\plex\plex.component.js" />
|
|
||||||
<Content Include="wwwroot\app\wizard\plex\plex.component.js.map" />
|
|
||||||
<Content Include="wwwroot\app\wizard\plex\plex.component.ts" />
|
|
||||||
<Content Include="wwwroot\app\wizard\welcome\welcome.component.html" />
|
|
||||||
<Content Include="wwwroot\app\wizard\welcome\welcome.component.js" />
|
|
||||||
<Content Include="wwwroot\app\wizard\welcome\welcome.component.js.map" />
|
|
||||||
<Content Include="wwwroot\app\wizard\welcome\welcome.component.ts" />
|
|
||||||
<Content Include="wwwroot\app\wizard\wizard.module.js" />
|
|
||||||
<Content Include="wwwroot\app\wizard\wizard.module.js.map" />
|
|
||||||
<Content Include="wwwroot\app\wizard\wizard.module.ts" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -134,5 +51,6 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Models\Plex\" />
|
<Folder Include="Models\Plex\" />
|
||||||
|
<Folder Include="wwwroot\css\fonts\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
// Configure bundling and minification for the project.
|
|
||||||
// More info at https://go.microsoft.com/fwlink/?LinkId=808241
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"outputFileName": "wwwroot/css/site.min.css",
|
|
||||||
// An array of relative input file paths. Globbing patterns supported
|
|
||||||
"inputFiles": [
|
|
||||||
"wwwroot/css/site.css"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"outputFileName": "wwwroot/js/site.min.js",
|
|
||||||
"inputFiles": [
|
|
||||||
"wwwroot/js/site.js"
|
|
||||||
],
|
|
||||||
// Optionally specify minification options
|
|
||||||
"minify": {
|
|
||||||
"enabled": true,
|
|
||||||
"renameLocals": true
|
|
||||||
},
|
|
||||||
// Optionally generate .map file
|
|
||||||
"sourceMap": false
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -15,6 +15,7 @@ var cleancss = require('gulp-clean-css');
|
||||||
var filter = require('gulp-filter');
|
var filter = require('gulp-filter');
|
||||||
var systemJSBuilder = require('systemjs-builder');
|
var systemJSBuilder = require('systemjs-builder');
|
||||||
var run = require('gulp-run');
|
var run = require('gulp-run');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
var wwwroot = './wwwroot';
|
var wwwroot = './wwwroot';
|
||||||
|
|
||||||
|
@ -32,16 +33,13 @@ var paths = {
|
||||||
'@angular/http',
|
'@angular/http',
|
||||||
'@angular/router',
|
'@angular/router',
|
||||||
'@angular/forms',
|
'@angular/forms',
|
||||||
|
'@angular/platform-browser/animations',
|
||||||
|
'ngx-infinite-scroll'
|
||||||
],
|
],
|
||||||
dest: './lib'
|
dest: './lib'
|
||||||
},
|
},
|
||||||
lib: { // These are simple single-file dependencies with optional rename, for more files or folders use modules
|
lib: { // These are simple single-file dependencies with optional rename, for more files or folders use modules
|
||||||
src: [
|
src: [
|
||||||
{
|
|
||||||
file: './node_modules/@angular/platform-browser/bundles/platform-browser-animations.umd.js',
|
|
||||||
rename: '@angular/platform-browser/animations'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
file: './node_modules/systemjs/dist/system.src.js',
|
file: './node_modules/systemjs/dist/system.src.js',
|
||||||
rename: 'system'
|
rename: 'system'
|
||||||
|
@ -89,7 +87,7 @@ var paths = {
|
||||||
src: [
|
src: [
|
||||||
'./node_modules/primeng/resources/themes/omega/fonts/*'
|
'./node_modules/primeng/resources/themes/omega/fonts/*'
|
||||||
],
|
],
|
||||||
dest: './fonts/'
|
dest: './css/fonts/'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
libimages: [ // Library images
|
libimages: [ // Library images
|
||||||
|
@ -120,12 +118,7 @@ var paths = {
|
||||||
name: 'primeng',
|
name: 'primeng',
|
||||||
src: './node_modules/primeng/**/*.js',
|
src: './node_modules/primeng/**/*.js',
|
||||||
dest: './lib/primeng/'
|
dest: './lib/primeng/'
|
||||||
},
|
}
|
||||||
{
|
|
||||||
name: "angular2-infinite-scroll",
|
|
||||||
src: ['./node_modules/angular2-infinite-scroll/**/*.js', '!./node_modules/angular2-infinite-scroll/bundles/**/*.js'],
|
|
||||||
dest: "./lib/angular2-infinite-scroll/"
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
sass: { // Simple sass->css compilation
|
sass: { // Simple sass->css compilation
|
||||||
src: ['./Styles/**/*.scss', '!./Styles/primeng/**'],
|
src: ['./Styles/**/*.scss', '!./Styles/primeng/**'],
|
||||||
|
@ -252,7 +245,7 @@ gulp.task('sass', function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
gulp.task('bundle', function () {
|
gulp.task('bundle', ['typescript_firstrun'], function () {
|
||||||
var builder = new systemJSBuilder(paths.bundle.root);
|
var builder = new systemJSBuilder(paths.bundle.root);
|
||||||
builder.config(paths.bundle.config);
|
builder.config(paths.bundle.config);
|
||||||
|
|
||||||
|
@ -264,15 +257,32 @@ gulp.task('bundle', function () {
|
||||||
|
|
||||||
gulp.task('clean', function () {
|
gulp.task('clean', function () {
|
||||||
return del([
|
return del([
|
||||||
paths.sass.dest,
|
paths.sass.dest + paths.sass.filter,
|
||||||
paths.lib.dest,
|
paths.lib.dest,
|
||||||
paths.bundle.dest,
|
paths.bundle.dest,
|
||||||
...paths.modules.map(m => m.dest)
|
...paths.modules.map(m => m.dest),
|
||||||
|
...paths.libcss.map(m => m.dest + (m.filter ? m.filter : '')),
|
||||||
|
...paths.libfonts.map(m => m.dest)
|
||||||
].map(x => path.join(paths.wwwroot, x)), { force: true });
|
].map(x => path.join(paths.wwwroot, x)), { force: true });
|
||||||
})
|
})
|
||||||
|
|
||||||
gulp.task('typescript', function () {
|
// Runs the TypeScript compiler
|
||||||
|
function runTSC() {
|
||||||
return run('tsc').exec();
|
return run('tsc').exec();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Allows app to bundle libs on first run by compiling the app first, only compiles if entry point doesn't exist
|
||||||
|
gulp.task('typescript_firstrun', function () {
|
||||||
|
var bundle = path.join(paths.wwwroot, paths.bundle.bundle);
|
||||||
|
var exists = fs.existsSync(bundle);
|
||||||
|
if (!exists) {
|
||||||
|
console.log(`'${bundle}' doesn't exist - compiling TypeScript`);
|
||||||
|
return runTSC();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
gulp.task('typescript', function () {
|
||||||
|
return runTSC();
|
||||||
});
|
});
|
||||||
|
|
||||||
uglify().on('error',
|
uglify().on('error',
|
||||||
|
@ -285,7 +295,7 @@ gulp.task('fullvar', () => { global.full = true });
|
||||||
gulp.task('copy', ['lib', 'libcss', 'libfonts', 'libimages', 'npm', 'modules']);
|
gulp.task('copy', ['lib', 'libcss', 'libfonts', 'libimages', 'npm', 'modules']);
|
||||||
gulp.task('compile', callback => runSequence('copy', 'sass', callback));
|
gulp.task('compile', callback => runSequence('copy', 'sass', callback));
|
||||||
gulp.task('build', callback => runSequence('compile', 'bundle', callback));
|
gulp.task('build', callback => runSequence('compile', 'bundle', callback));
|
||||||
gulp.task('full', callback => runSequence(/*'clean',*/ 'compile', callback));
|
gulp.task('full', callback => runSequence('clean', 'compile', callback));
|
||||||
|
|
||||||
// Use this in a build server environment to compile and bundle everything
|
// Use this in a build server environment to compile and bundle everything
|
||||||
gulp.task('publish', callback => runSequence('fullvar', 'full', 'typescript', 'bundle', callback));
|
gulp.task('publish', callback => runSequence('fullvar', 'full', 'typescript', 'bundle', callback));
|
||||||
|
|
|
@ -3,22 +3,21 @@
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/animations": "^4.0.0",
|
"@angular/animations": "^4.0.2",
|
||||||
"@angular/common": "^4.0.0",
|
"@angular/common": "^4.0.2",
|
||||||
"@angular/compiler": "^4.0.0",
|
"@angular/compiler": "^4.0.2",
|
||||||
"@angular/compiler-cli": "^4.0.0",
|
"@angular/compiler-cli": "^4.0.2",
|
||||||
"@angular/core": "^4.0.0",
|
"@angular/core": "^4.0.2",
|
||||||
"@angular/forms": "^4.0.0",
|
"@angular/forms": "^4.0.2",
|
||||||
"@angular/http": "^4.0.0",
|
"@angular/http": "^4.0.2",
|
||||||
"@angular/platform-browser": "^4.0.0",
|
"@angular/platform-browser": "^4.0.2",
|
||||||
"@angular/platform-browser-dynamic": "^4.0.0",
|
"@angular/platform-browser-dynamic": "^4.0.2",
|
||||||
"@angular/platform-server": "^4.0.0",
|
"@angular/platform-server": "^4.0.2",
|
||||||
"@angular/router": "^4.0.0",
|
"@angular/router": "^4.0.0",
|
||||||
"@types/jquery": "^2.0.33",
|
"@types/jquery": "^2.0.33",
|
||||||
"@types/systemjs": "^0.20.2",
|
"@types/systemjs": "^0.20.2",
|
||||||
"angular2-infinite-scroll": "^0.3.4",
|
|
||||||
"angular2-moment": "^1.3.3",
|
|
||||||
"angular2-jwt": "0.2.0",
|
"angular2-jwt": "0.2.0",
|
||||||
|
"angular2-moment": "^1.3.3",
|
||||||
"bootstrap": "3.3.6",
|
"bootstrap": "3.3.6",
|
||||||
"core-js": "^2.4.1",
|
"core-js": "^2.4.1",
|
||||||
"del": "^2.2.2",
|
"del": "^2.2.2",
|
||||||
|
@ -32,17 +31,18 @@
|
||||||
"gulp-sass": "^2.3.2",
|
"gulp-sass": "^2.3.2",
|
||||||
"gulp-sourcemaps": "^1.9.0",
|
"gulp-sourcemaps": "^1.9.0",
|
||||||
"gulp-systemjs-builder": "^0.15.0",
|
"gulp-systemjs-builder": "^0.15.0",
|
||||||
"gulp-uglify": "^2.1.2",
|
"gulp-uglify": "^1.5.4",
|
||||||
"jquery": "2.2.1",
|
"jquery": "2.2.1",
|
||||||
"merge-stream": "^1.0.1",
|
"merge-stream": "^1.0.1",
|
||||||
"nanoscroller": "^0.8.7",
|
"nanoscroller": "^0.8.7",
|
||||||
|
"ngx-infinite-scroll": "^0.4.1",
|
||||||
"primeng": "^2.0.5",
|
"primeng": "^2.0.5",
|
||||||
"run-sequence": "^1.2.2",
|
"run-sequence": "^1.2.2",
|
||||||
"rxjs": "^5.0.3",
|
"rxjs": "^5.0.3",
|
||||||
"systemjs": "^0.19.41",
|
"systemjs": "^0.19.41",
|
||||||
"systemjs-builder": "^0.15.34",
|
"systemjs-builder": "^0.15.34",
|
||||||
"tether": "^1.4.0",
|
"tether": "^1.4.0",
|
||||||
"typescript": "^2.2.1",
|
"typescript": "^2.3.0",
|
||||||
"zone.js": "^0.8.5"
|
"zone.js": "^0.8.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ import { AppComponent } from './app.component';
|
||||||
import { RouterModule, Routes } from '@angular/router';
|
import { RouterModule, Routes } from '@angular/router';
|
||||||
import { HttpModule } from '@angular/http';
|
import { HttpModule } from '@angular/http';
|
||||||
|
|
||||||
import { InfiniteScrollModule } from 'angular2-infinite-scroll/angular2-infinite-scroll'
|
import { InfiniteScrollModule } from 'ngx-infinite-scroll'
|
||||||
|
|
||||||
import { SearchComponent } from './search/search.component';
|
import { SearchComponent } from './search/search.component';
|
||||||
import { RequestComponent } from './requests/request.component';
|
import { RequestComponent } from './requests/request.component';
|
||||||
|
|
|
@ -78,13 +78,6 @@
|
||||||
{{/if_eq}}
|
{{/if_eq}}
|
||||||
</div>-->
|
</div>-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="col-sm-3 col-sm-push-3">
|
<div class="col-sm-3 col-sm-push-3">
|
||||||
<div *ngIf="!request.admin">
|
<div *ngIf="!request.admin">
|
||||||
<div *ngIf="!request.approved">
|
<div *ngIf="!request.approved">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue