aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/Gruntfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/Gruntfile.js')
-rw-r--r--catalog-ui/Gruntfile.js807
1 files changed, 0 insertions, 807 deletions
diff --git a/catalog-ui/Gruntfile.js b/catalog-ui/Gruntfile.js
deleted file mode 100644
index 619d8316a1..0000000000
--- a/catalog-ui/Gruntfile.js
+++ /dev/null
@@ -1,807 +0,0 @@
-// Generated on 2015-04-28 using
-// generator-webapp 0.5.1
-'use strict';
-
-// # Globbing
-// for performance reasons we're only matching one level down:
-// 'test/spec/{,*/}*.js'
-// If you want to recursively match all subfolders, use:
-// 'test/spec/**/*.js'
-
-module.exports = function (grunt) {
-
- // Time how long tasks take. Can help when optimizing build times
- require('time-grunt')(grunt);
-
- // Load grunt tasks automatically
- require('load-grunt-tasks')(grunt);
-
- // Configurable paths
- var config = {
- app: 'app',
- appModuleName: 'sdcApp',
- dist: 'app/dist'
- };
-
- // Define the configuration for all the tasks
- grunt.initConfig({
-
- // Project settings
- config: config,
-
- // Watches files for changes and runs tasks based on the changed files
- watch: {
- html: {
- files: ['<%= config.app %>/scripts/**/*.html'],
- tasks: ['ngtemplates:app']
- },
- less: {
- files: ['<%= config.app %>/**/*.less'],
- tasks: ['less:all']
- },
- ts: {
- files: ['<%= config.app %>/scripts/**/*.ts'],
- tasks: ['ts:all']
- },
- bower: {
- files: ['bower.json'],
- tasks: ['wiredep']
- },
-
- gruntfile: {
- files: ['Gruntfile.js']
- },
-
- livereload: {
- options: {
- livereload: '<%= connect.options.livereload %>'
- },
- files: [
- '<%= config.app %>/{,*/}*.html',
- '<%= config.app %>/scripts/**/*.html',
- '<%= config.app %>/scripts/**/*.css',
- '.tmp/styles/{,*/}*.css',
- '<%= config.app %>/images/{,*/}*'
- ]
- },
- configurations: {
- files: [
- 'configurations/*.json'
- ],
- tasks: ['ngconstant']
- }
- },
-
- ngconstant: {
- options: {
- dest: 'app/scripts/modules/configurations.js',
- name: 'Sdc.Config'
- },
- main: {
- constants: {
- sdcConfig: grunt.file.readJSON(grunt.option('env') ? 'configurations/' + grunt.option('env') + '.json' : 'configurations/prod.json'),
- sdcMenu: grunt.file.readJSON('configurations/menu.json')
- }
- }
- },
-
- express: {
- options: {
- port: process.env.PORT || 9000
- },
- mock: {
- options: {
- script: 'server-mock/mock-server.js'
- }
- }
- },
-
- ts: {
- all: {
- src: [
- 'app/scripts/**/*.ts',
- 'typings/**/*.ts'
- ],
- reference: 'app/scripts/references.ts'
- },
- single: {
- src: []
- }
- },
- ngtemplates: {
- app: {
- options: {
- module: '<%= config.appModuleName %>',
- prefix: '/'
- },
- src: [
- '<%= config.app %>/scripts/**/*.html',
- '!index.html'
- ],
- dest: '<%= config.app %>/scripts/templates.js'
- }
- },
- less: {
- all: {
- options: {
- paths: ['<%= config.app %>/scripts',
- '<%= config.app %>/styles']
- },
- files: {
- '<%= config.app %>/styles/app.css': '<%= config.app %>/styles/app.less'
- }
- },
- single: {
- paths: ['<%= config.app %>/scripts',
- '<%= config.app %>/styles'],
- files: []
- }
- },
-
- injector: {
- options: {},
- // Inject application script files into index.html (doesn't include bower)
- scripts_models: {
- options: {
- transform: function (filePath) {
- filePath = filePath.replace('/app/', '');
- return '<script src="' + filePath + '"></script>';
- },
- starttag: '<!-- injector:js_models -->',
- endtag: '<!-- endinjector:js_models -->'
- },
- files: {
- '<%= config.app %>/index.html': [
- [
- '<%= config.app %>/scripts/models/**/*.js',
- '!<%= config.app %>/scripts/models/**/*-tests.js'
- ]
- ]
- }
- },
-
- scripts_utils: {
- options: {
- transform: function (filePath) {
- filePath = filePath.replace('/app/', '');
- return '<script src="' + filePath + '"></script>';
- },
- starttag: '<!-- injector:js_utils -->',
- endtag: '<!-- endinjector:js_utils -->'
- },
- files: {
- '<%= config.app %>/index.html': [
- [
- '<%= config.app %>/scripts/utils/**/*.js',
- '!<%= config.app %>/scripts/models/**/*-tests.js'
- ]
- ]
- }
- },
-
- scripts_filters: {
- options: {
- transform: function (filePath) {
- filePath = filePath.replace('/app/', '');
- return '<script src="' + filePath + '"></script>';
- },
- starttag: '<!-- injector:js_filters -->',
- endtag: '<!-- endinjector:js_filters -->'
- },
- files: {
- '<%= config.app %>/index.html': [
- ['<%= config.app %>/scripts/filters/**/*.js',
- '!<%= config.app %>/scripts/filters/**/*-tests.js'
- ]
- ]
- }
- },
-
- scripts_directives: {
- options: {
- transform: function (filePath) {
- filePath = filePath.replace('/app/', '');
- return '<script src="' + filePath + '"></script>';
- },
- starttag: '<!-- injector:js_directives -->',
- endtag: '<!-- endinjector:js_directives -->'
- },
- files: {
- '<%= config.app %>/index.html': [
- ['<%= config.app %>/scripts/directives/**/*.js',
- '!<%= config.app %>/scripts/directives/**/*-tests.js'
- ]
- ]
- }
- },
-
- scripts_services: {
- options: {
- transform: function (filePath) {
- filePath = filePath.replace('/app/', '');
- return '<script src="' + filePath + '"></script>';
- },
- starttag: '<!-- injector:js_services -->',
- endtag: '<!-- endinjector:js_services -->'
- },
- files: {
- '<%= config.app %>/index.html': [
- ['<%= config.app %>/scripts/services/**/*.js',
- '!<%= config.app %>/scripts/services/**/*-tests.js'
- ]
- ]
- }
- },
-
- scripts_view_models: {
- options: {
- transform: function (filePath) {
- filePath = filePath.replace('/app/', '');
- return '<script src="' + filePath + '"></script>';
- },
- starttag: '<!-- injector:js_view_models -->',
- endtag: '<!-- endinjector:js_view_models -->'
- },
- files: {
- '<%= config.app %>/index.html': [
- ['<%= config.app %>/scripts/view-models/**/*.js',
- '!<%= config.app %>/scripts/view-models/**/*-tests.js']
- ]
- }
- },
-
- // Inject component less into app.less
- less: {
- options: {
- transform: function (filePath) {
- filePath = filePath.replace('/app/scripts/', '../scripts/');
- filePath = filePath.replace('/app/styles/', '');
- return '@import \'' + filePath + '\';';
- },
- starttag: '// injector:less',
- endtag: '// endinjector:less'
- },
- files: {
- '<%= config.app %>/styles/app.less': [
- '<%= config.app %>/styles/**/*.less',
- '<%= config.app %>/scripts/**/*.less',
- '!<%= config.app %>/styles/app.less'
- ]
- }
- },
-
- // Inject component css into index.html
- css: {
- options: {
- transform: function (filePath) {
- filePath = filePath.replace('/app/', '');
- filePath = filePath.replace('/.tmp/', '');
- return '<link rel="stylesheet" href="' + filePath + '">';
- },
- starttag: '<!-- injector:css -->',
- endtag: '<!-- endinjector -->'
- },
- files: {
- '<%= config.app %>/index.html': [
- '<%= config.app %>/scripts/**/*.css',
- '<%= config.app %>/styles/**/*.css',
- '!<%= config.app %>/styles/app.css'
- ]
- }
- }
- },
-
- // The actual grunt server settings
- connect: {
- options: {
- port: 9000,
- open: true,
- livereload: 35729,
- // Change this to '0.0.0.0' to access the server from outside
- hostname: 'localhost'
- },
- livereload: {
- options: {
- middleware: function (connect) {
- return [
- connect().use(function (req, res, next) {
- var mockApis = require('./configurations/mock.json').sdcConfig;
- var userType;
- switch (grunt.option('role')) {
- case "admin":
- userType = mockApis.userTypes.admin;
- break;
- case "tester":
- userType = mockApis.userTypes.tester;
- break;
- case "governor":
- userType = mockApis.userTypes.governor;
- break;
- case "ops":
- userType = mockApis.userTypes.ops;
- break;
- case "designer":
- userType = mockApis.userTypes.designer;
- break;
- case "product_strategist":
- userType = mockApis.userTypes.product_strategist;
- break;
- case "product_manager":
- userType = mockApis.userTypes.product_manager;
- break;
- default:
- userType = mockApis.userTypes.designer;
- }
- res.cookie(mockApis.cookie.userIdSuffix, req.headers[mockApis.cookie.userIdSuffix] || userType.userId);
- res.cookie(mockApis.cookie.userEmail, req.headers[mockApis.cookie.userEmail] || userType.email);
- res.cookie(mockApis.cookie.userFirstName, req.headers[mockApis.cookie.userFirstName] || userType.firstName);
- res.cookie(mockApis.cookie.userLastName, req.headers[mockApis.cookie.userLastName] || userType.lastName);
- next();
- }),
- connect().use(require('http-proxy-middleware')(['/onboarding', '/onboarding-api'], {
- target: 'http://feHost:8181/',
- changeOrigin: true,
- secure: false
- })),
- connect().use('/bower_components', connect.static('./bower_components')),
- connect().use('/non_bower_components', connect.static('./non_bower_components')),
- connect.static(config.app)
- ];
- }
- }
- },
- dist: {
- options: {
- base: '<%= config.dist %>',
- livereload: false
- }
- }
- },
-
- // Empties folders to start fresh
- clean: {
- generated: {
- files: [{
- dot: true,
- src: [
- '<%= config.app %>/scripts/**/*.js',
- '<%= config.app %>/scripts/**/*.css',
- '!<%= config.app %>/scripts/**/welcome/styles/*.css',
- '<%= config.app %>/styles/**/*.css',
- '<%= config.app %>/scripts/**/*.js.map'
- ]
- }]
- },
- dist: {
- files: [{
- dot: true,
- src: [
- '.tmp',
- '<%= config.dist %>/*',
- '!<%= config.dist %>/.git*'
- ]
- }]
- },
- server: '.tmp'
- },
- // Add vendor prefixed styles
- autoprefixer: {
- options: {
- browsers: ['> 1%', 'last 2 versions', 'Firefox ESR', 'Opera 12.1']
- },
- dist: {
- files: [{
- expand: true,
- cwd: '.tmp/css/',
- src: '{,*/**/}*.css',
- dest: '.tmp/css/'
- }]
- }
- },
-
- // Automatically inject Bower components into the HTML file
- wiredep: {
- app: {
- ignorePath: /^\/|\.\.\//,
- src: ['<%= config.app %>/index.html']
- }
- },
-
- // Renames files for browser caching purposes
- rev: {
- dist: {
- files: {
- src: [
- '<%= config.dist %>/scripts/{,*/}*.js',
- '<%= config.dist %>/styles/{,*/}*.css',
- '<%= config.dist %>/images/{,*/}*.*',
- '!<%= config.dist %>/images/resource-icons/{,*/}*.*',
- '!<%= config.dist %>/images/service-icons/{,*/}*.*',
- '!<%= config.dist %>/images/relationship-icons/{,*/}*.*',
- '<%= config.dist %>/*.{ico,png}'
- ]
- }
- }
- },
-
- // Reads HTML for usemin blocks to enable smart builds that automatically
- // concat, minify and revision files. Creates configurations in memory so
- // additional tasks can operate on them
- useminPrepare: {
- options: {
- dest: '<%= config.dist %>'
- },
- sdc: {
- src: ['<%= config.app %>/index.html']
- },
- html: '<%= config.app %>/index.html'
- },
-
- // Performs rewrites based on rev and the useminPrepare configuration
- usemin: {
- options: {
- assetsDirs: [
- '<%= config.dist %>',
- '<%= config.dist %>/images',
- '<%= config.dist %>/styles'
- ],
- // This is so we update image references in our ng-templates
- patterns: {
- js: [
- [/(assets\/images\/.*?\.(?:gif|jpeg|jpg|png|webp|svg))/gm, 'Update the JS to reference our revved images']
- ]
- }
- },
- html: ['<%= config.dist %>/{,*/}*.html'],
- css: ['<%= config.dist %>/styles/{,*/}*.css'],
- js: ['<%= config.dist %>/public/{,*/}*.js']
- },
-
- // The following *-min tasks produce minified files in the dist folder
- imagemin: {
- dist: {
- files: [{
- expand: true,
- cwd: '<%= config.app %>/images',
- src: '<%= config.app %>/**/*.{gif,jpeg,jpg,png}',
- dest: '<%= config.dist %>/images'
- }]
- }
- },
-
- svgmin: {
- dist: {
- files: [{
- expand: true,
- cwd: '<%= config.app %>/images',
- src: '{,*/}*.svg',
- dest: '<%= config.dist %>/images'
- }]
- }
- },
-
- htmlmin: {
- dist: {
- options: {
- collapseBooleanAttributes: true,
- collapseWhitespace: true,
- conservativeCollapse: true,
- removeAttributeQuotes: true,
- removeCommentsFromCDATA: true,
- removeEmptyAttributes: true,
- removeOptionalTags: true,
- removeRedundantAttributes: true,
- useShortDoctype: true
- },
- files: [{
- expand: true,
- cwd: '<%= config.dist %>',
- src: '{,*/}*.html',
- dest: '<%= config.dist %>'
- }]
- }
- },
-
-// By default, your `index.html`'s <!-- Usemin block --> will take care
-// of minification. These next options are pre-configured if you do not
-// wish to use the Usemin blocks.
- cssmin: {
- dist: {
- files: {
- '<%= config.dist %>/styles/main.css': [
- '.tmp/css/{,*/**/}*.css',
- '<%= config.app %>/scripts/{,*/**/}*.css',
- '<%= config.app %>/styles/app.css'
- ]
- }
- }
- },
- uglify: {
- dist: {
- files: {
- '<%= config.dist %>/scripts/scripts.js': [
- '<%= config.dist %>/scripts/scripts.js'
- ]
- }
- }
- },
- replace: {
- cssReplace: {
- src: ['<%= config.app %>/scripts/{,*/**/}*.css',
- '<%= config.app %>/styles/{,*/**/}*.css'],
- overwrite: true,
- replacements: [
- {
- from: '../../../images/',
- to: '../images/'
- },
- {
- from: '../../images/',
- to: '../images/'
- },
- {
- from: '../../../fonts/',
- to: '../fonts/'
- },
- {
- from: '../../fonts/',
- to: '../fonts/'
- },
- {
- from: '../../../styles/images/',
- to: 'images/'
- }
- ]
- },
- },
- concat: {
- dist: {
- options: {
- separator: ';\n'
- },
- src: ['<%= config.app %>/scripts/{,*/**/}*.js'],
- dest: '.tmp/concat/scripts/scripts.js'
- },
- generated: {
- options: {
- separator: '\n'
- }
- }
- },
-
- // Copies remaining files to places other tasks can use
- copy: {
- dist: {
- files: [{
- expand: true,
- dot: true,
- cwd: '<%= config.app %>',
- dest: '<%= config.dist %>',
- src: [
- '*.{ico,png,txt}',
- '.htaccess',
- // 'bower_components/**/*',
- 'styles/images/**/*',
- 'styles/fonts/**/*',
- 'languages/**/*',
- 'index.html'
- ]
- }, {
- src: 'node_modules/apache-server-configs/dist/.htaccess',
- dest: '<%= config.dist %>/.htaccess'
- },
- {
- expand: true,
- cwd: '.tmp/images',
- dest: '<%= config.dist %>/images',
- src: ['generated/*']
- },
- //TODO to remove this section after integration onboard finished
- {
- expand: true,
- cwd: '<%= config.app %>/third-party',
- dest: '<%= config.dist %>/third-party',
- src: ['onboard_bundle_full.js']
- },
- {
- expand: true,
- dest: '<%= config.dist %>',
- src: [
- 'package.json'
- ]
- }
- ]
- },
- styles: {
- expand: true,
- cwd: '<%= config.app %>/styles',
- dest: '.tmp/css/',
- src: '{,*/**/}*.css'
- }
- },
-
- // Run some tasks in parallel to speed up build process
- concurrent: {
- server: ['copy:styles'],
- test: ['copy:styles'],
- dist: [
- 'copy:styles',
- 'imagemin'
- ]
- },
-
- // Test settings
- karma: {
- dev: {
- configFile: "tests/karma.unit.conf.js",
- singleRun: true,
- options: {
- browsers: ['Chrome'],
- coverageReporter: {
- type: 'html',
- dir: 'tests/Coverage'
- }
- }
- },
- debug: {
- configFile: "tests/karma.unit.conf.js",
- singleRun: false,
- //comment out this line if you want to cancel the watch and see the UT log
- background: true,
- options: {
- browsers: ['Chrome'],
- reporters: [
- 'junit',
- 'dots',
- 'progress'
- ]
- }
- },
- jenkins: {
- configFile: "tests/karma.unit.conf.js",
- singleRun: true,
- options: {
- browsers: ['PhantomJS'],
- coverageReporter: {
- type: 'text-summary',
- dir: 'tests/Coverage',
- file: 'coverage.txt'
- }
- }
- }
- },
-
- tslint: {
- options: {
- configuration: 'tslint.json'
- },
- files: {
- src: ['<%= config.app %>/**/*.ts']
- }
- }
- });
-
- grunt.registerTask('serve', 'start the server and preview your app, --allow-remote for remote access', function (target) {
-
- var env = grunt.option('env');
-
- if (grunt.option('allow-remote')) {
- grunt.config.set('connect.options.hostname', '0.0.0.0');
- }
- if (target === 'dist') {
- return grunt.task.run(['build', 'connect:dist:keepalive']);
- }
-
-
- if (env === 'mock') {
- grunt.task.run([
- 'express:mock',
- 'clean:generated',
- 'ts:all',
- 'ngtemplates:app',
- 'injector',
- 'less:all',
- 'ngconstant',
- 'wiredep',
- 'concurrent:server',
- 'autoprefixer',
- 'connect:livereload',
- 'watch:html',
- 'watch:less'
- ]);
- }
-
- grunt.task.run([
- 'clean:generated',
- 'ts:all',
- 'ngtemplates:app',
- 'injector',
- 'less:all',
- 'ngconstant',
- 'wiredep',
- 'concurrent:server',
- 'autoprefixer',
- 'connect:livereload',
- 'watch'
- ]);
- });
-
- grunt.registerTask('build', [
- 'clean:generated',
- 'less:all',
- 'ts:all',
- 'ngconstant',
- 'ngtemplates:app',
- 'wiredep',
- 'replace',
- 'clean:dist',
- 'useminPrepare:sdc',
- 'concurrent:dist',
- 'autoprefixer:dist',
- 'concat',
- 'copy:dist',
- 'cssmin',
- 'uglify',
- 'rev',
- 'usemin'
- ]);
-
- grunt.registerTask("test", function (target) {
-
- if (!(target === 'debug' || target === 'dev' || target === 'jenkins')) {
- throw new Error("target available for test are <dev|debug|jenkins>");
- }
- var tasks = [
- // "tslint:karma",
- // "ngconstant",
- //// "concurrent:test",
- // "servicesIconConstants",
- // "autoprefixer",
- // "ngtemplates:testsTemplates",
- // "connect:test"
- ];
-
- tasks.push('karma:' + target);
- if (target === 'debug') {
- if (grunt.config.get('watch.ts')) {
- tasks.push("watch:ts");
- } else {
- throw new Error("target watch:ts is not available, verify that it exists in your Gruntfile");
- }
- }
- grunt.task.run(tasks);
- });
-
-
- var lessSingleTask = function (filePath) {
- var lessSingleFiles = [{
- expand: true,
- src: [filePath.replace(/\\/g, '/')],
- ext: '.css'
- }];
- grunt.config('less.single.files', lessSingleFiles);
- grunt.config('watch.less.tasks', 'less:single');
-
- };
-
- var tsSingleTask = function (filePath) {
-
- var tsSingleData = {
- src: [filePath.replace(/\\/g, '/')]
- };
- // grunt.config('ts.single', tsSingleData);
-
- };
-
- var singleTaskByTaskName = {
- //less: lessSingleTask,
- ts: tsSingleTask
- };
-
- var onGruntWatchEvent = function (action, filepath, target) {
- if (singleTaskByTaskName[target]) {
- singleTaskByTaskName[target].call(undefined, filepath);
- }
- };
- grunt.event.on('watch', onGruntWatchEvent);
-};