Fix build problem (#1861)

* fix sourcemap
fix relative path and pre publish build
change travis wait
all test run build and remove unused cpx

* global test task
modify publish script to accept options

* appveyor run

* different approach single test run

* make it work the analytics test
modify start demo shell script to use a different registry

* sourcemap demo shell working

* update readme and add install after any clean
add registry option in start.sh script
add develop and normal mode in demo shell
add -d option in start.sh to point to the local components
add -c option in build script to point to the local components
This commit is contained in:
Mario Romano
2017-05-11 18:08:35 +01:00
committed by Eugenio Romano
parent b0be88ec37
commit 6da0eaba37
88 changed files with 3203 additions and 774 deletions

View File

@@ -11,11 +11,7 @@ require('zone.js/dist/jasmine-patch');
require('zone.js/dist/async-test');
require('zone.js/dist/fake-async-test');
var path = '../' + __karma__.config.component + '/src';
console.log('path appContext '+ path);
var appContext;
appContext = require.context('../ng2-alfresco-webscript/src', true, /\.spec\.ts/);
var appContext = require.context('./src', true, /\.spec\.ts/);
appContext.keys().forEach(appContext);

View File

@@ -0,0 +1,110 @@
var webpackConfig = require('./webpack.test');
module.exports = function (config) {
var _config = {
basePath: '.',
frameworks: ['jasmine-ajax', 'jasmine'],
files: [
'./node_modules/hammerjs/hammer.js',
//diagrams
'./node_modules/chart.js/dist/Chart.js',
'./node_modules/alfresco-js-api/dist/alfresco-js-api.js',
'./node_modules/raphael/raphael.js',
'./node_modules/moment/min/moment.min.js',
'./node_modules/md-date-time-picker/dist/js/mdDateTimePicker.js',
{pattern: './node_modules/ng2-translate/**/*.js', included: false, watched: false},
{pattern: './node_modules/ng2-charts/**/*.js', included: false, served: true, watched: false},
{pattern: './node_modules/md-date-time-picker/**/*.js', included: false, served: true, watched: false},
{pattern: './node_modules/moment/**/*.js', included: false, served: true, watched: false},
// pdf-js
'./node_modules/pdfjs-dist/build/pdf.js',
'./node_modules/pdfjs-dist/build/pdf.worker.js',
'./node_modules/pdfjs-dist/web/pdf_viewer.js',
{pattern: 'karma-test-shim.js', watched: false},
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
{pattern: './dist/**/*.js', included: false, served: true, watched: false},
{pattern: './dist/**/*.js.map', included: false, served: true, watched: false},
{pattern: './src/**/*.ts', included: false, served: true, watched: false}
],
webpack: webpackConfig,
webpackMiddleware: {
stats: 'errors-only'
},
port: 9876,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
colors: true,
autoWatch: true,
captureTimeout: 180000,
browserDisconnectTimeout: 180000,
browserDisconnectTolerance: 3,
browserNoActivityTimeout: 300000,
browsers: ['Chrome'],
customLaunchers: {
Chrome_travis_ci: {
base: 'Chrome',
flags: ['--no-sandbox']
}
},
// Karma plugins loaded
plugins: [
require('./node_modules/karma-jasmine'),
require('./node_modules/karma-coverage'),
require('./node_modules/karma-sourcemap-loader'),
require('./node_modules/karma-jasmine-ajax'),
require('./node_modules/karma-chrome-launcher'),
require('./node_modules/karma-mocha-reporter'),
require('./node_modules/karma-webpack'),
require('./node_modules/karma-jasmine-html-reporter')
],
webpackServer: {
noInfo: true
},
// Coverage reporter generates the coverage
reporters: ['mocha', 'coverage', 'kjhtml'],
preprocessors: {
'karma-test-shim.js': ['webpack', 'sourcemap'],
'./src/**/!(*spec|index|*mock|*model|*event).js': 'coverage'
},
coverageReporter: {
includeAllSources: true,
dir: 'coverage',
subdir: 'report',
reporters: [
{type: 'text'},
{type: 'text-summary'},
{type: 'json', file: 'coverage-final.json'},
{type: 'html'},
{type: 'lcov'}
]
}
};
if (process.env.TRAVIS) {
config.browsers = ['Chrome_travis_ci'];
}
config.set(_config);
};

View File

@@ -5,14 +5,11 @@
"author": "Alfresco Software, Ltd.",
"scripts": {
"clean": "rimraf dist node_modules typings bundles coverage",
"build": "license-check && ../node_modules/webpack/bin/webpack.js --config webpack.build.js --progress --profile --bail",
"license-check": "license-check",
"tslint": "../node_modules/tslint/bin/tslint -c ../config/assets/tslint.json 'src/{,**/}**.ts' 'index.ts' -e '{,**/}**.d.ts'",
"tsc": "../node_modules/typescript/bin/tsc",
"test": "../node_modules/karma/bin/karma start ../config/karma.conf.js --reporters mocha,coverage --single-run --component ng2-alfresco-webscript",
"test-browser": "../node_modules/karma/bin/karma start ../config/karma.conf.js --reporters kjhtml --component ng2-alfresco-webscript",
"coverage": "npm run test && ../node_modules/wsrv/bin/wsrv -o -p 9875 ./coverage/report",
"publish:prod": "npm run test && npm publish"
"build": "webpack --config webpack.build.js --progress --profile --bail",
"test": "karma start karma.conf.js --reporters mocha,coverage --single-run --component",
"test-browser": "karma start karma.conf.js --reporters kjhtml --component",
"coverage": "npm run test && wsrv -o -p 9875 ./coverage/report",
"prepublish" : "npm run test"
},
"main": "bundles/ng2-alfresco-webscript.js",
"repository": {
@@ -48,19 +45,53 @@
"@types/hammerjs": "^2.0.34",
"@types/jasmine": "2.5.35",
"@types/node": "6.0.45",
"angular2-template-loader": "^0.6.2",
"autoprefixer": "^6.5.4",
"cpx": "^1.3.1",
"license-check": "^1.0.4",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.23.1",
"css-to-string-loader": "^0.1.2",
"cssnano": "^3.8.1",
"extract-text-webpack-plugin": "^2.0.0-rc.3",
"file-loader": "0.11.1",
"html-loader": "^0.4.4",
"html-webpack-plugin": "^2.28.0",
"istanbul-instrumenter-loader": "0.2.0",
"jasmine-ajax": "^3.2.0",
"jasmine-core": "2.4.1",
"karma": "^0.13.22",
"karma-chrome-launcher": "~1.0.1",
"karma-coverage": "^1.1.1",
"karma-jasmine": "~1.0.2",
"karma-jasmine-ajax": "^0.1.13",
"karma-jasmine-html-reporter": "0.2.0",
"karma-mocha-reporter": "^2.2.2",
"karma-remap-istanbul": "^0.6.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-systemjs": "^0.16.0",
"karma-webpack": "^2.0.2",
"loader-utils": "^1.1.0",
"merge-stream": "^1.0.1",
"remap-istanbul": "0.6.3",
"rimraf": "2.5.2",
"null-loader": "^0.1.1",
"package-json-merge": "0.0.1",
"raw-loader": "^0.5.1",
"remap-istanbul": "^0.6.3",
"rimraf": "^2.5.4",
"run-sequence": "^1.2.2",
"script-loader": "0.7.0",
"source-map-loader": "^0.1.6",
"style-loader": "^0.13.1",
"systemjs-builder": "^0.15.34",
"traceur": "0.0.91",
"to-string-loader": "^1.1.4",
"traceur": "^0.0.91",
"ts-loader": "^2.0.0",
"ts-node": "^1.7.0",
"tslint": "3.15.1",
"typescript": "^2.0.3",
"wsrv": "^0.1.5"
"tslint": "^4.4.2",
"tslint-loader": "^3.3.0",
"typescript": "^2.1.6",
"webpack": "^2.2.1",
"webpack-dev-server": "^2.3.0",
"webpack-merge": "2.6.1",
"wsrv": "^0.1.7"
},
"keywords": [
"webscript",

View File

@@ -0,0 +1,8 @@
const webpack = require('webpack');
const webpackMerge = require('webpack-merge');
const testConfig = require('../config/webpack.test.js');
module.exports = webpackMerge(testConfig, {
});