mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
Add config files in any components folder (#1878)
* add config files in any components folder * all test run option ft and option to skip build and run only test
This commit is contained in:
committed by
Eugenio Romano
parent
130c2e4428
commit
af82f83669
@@ -7,14 +7,14 @@ module.exports = function (config) {
|
|||||||
frameworks: ['jasmine-ajax', 'jasmine'],
|
frameworks: ['jasmine-ajax', 'jasmine'],
|
||||||
|
|
||||||
files: [
|
files: [
|
||||||
{pattern: './node_modules/hammerjs/hammer.js', included: true, watched: false},
|
{pattern: './node_modules/hammerjs/hammer.min.js', included: true, watched: false},
|
||||||
|
|
||||||
//diagrams
|
//diagrams
|
||||||
{pattern: './node_modules/chart.js/dist/Chart.js', included: true, watched: false},
|
{pattern: './node_modules/chart.js/dist/Chart.js', included: true, watched: false},
|
||||||
{pattern: './node_modules/alfresco-js-api/dist/alfresco-js-api.js', included: true, watched: false},
|
{pattern: './node_modules/alfresco-js-api/dist/alfresco-js-api.min.js', included: true, watched: false},
|
||||||
{pattern: './node_modules/raphael/raphael.js', included: true, watched: false},
|
{pattern: './node_modules/raphael/raphael.min.js', included: true, watched: false},
|
||||||
{pattern: './node_modules/moment/min/moment.min.js', included: true, watched: false},
|
{pattern: './node_modules/moment/min/moment.min.js', included: true, watched: false},
|
||||||
{pattern: './node_modules/md-date-time-picker/dist/js/mdDateTimePicker.js', included: true, watched: false},
|
{pattern: './node_modules/md-date-time-picker/dist/js/mdDateTimePicker.min.js', included: true, watched: false},
|
||||||
|
|
||||||
{pattern: './node_modules/ng2-translate/ng2-translate.js', included: false, watched: false},
|
{pattern: './node_modules/ng2-translate/ng2-translate.js', included: false, watched: false},
|
||||||
{pattern: './node_modules/ng2-charts/bundles/ng2-charts.umd.js', included: false, served: true, watched: false},
|
{pattern: './node_modules/ng2-charts/bundles/ng2-charts.umd.js', included: false, served: true, watched: false},
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
const webpack = require("webpack");
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const commonConfig = require('./webpack.common.js');
|
const commonConfig = require('./webpack.common.js');
|
||||||
|
|
||||||
|
22
ng2-components/karma-test-shim.js
Normal file
22
ng2-components/karma-test-shim.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Error.stackTraceLimit = Infinity;
|
||||||
|
|
||||||
|
require('core-js/es6');
|
||||||
|
require('core-js/es7/reflect');
|
||||||
|
|
||||||
|
require('zone.js/dist/zone');
|
||||||
|
require('zone.js/dist/long-stack-trace-zone');
|
||||||
|
require('zone.js/dist/proxy');
|
||||||
|
require('zone.js/dist/sync-test');
|
||||||
|
require('zone.js/dist/jasmine-patch');
|
||||||
|
require('zone.js/dist/async-test');
|
||||||
|
require('zone.js/dist/fake-async-test');
|
||||||
|
|
||||||
|
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
|
||||||
|
|
||||||
|
var appContext = require.context('./', true, /^(?=.*(ng2-))(?!.*node_modules).*(.([^\/]*\/[^\/]*)src)((\\\\|\/)[a-zA-Z0-9_. \-]+)+\.spec.ts/);
|
||||||
|
appContext.keys().forEach(appContext);
|
||||||
|
|
||||||
|
var testing = require('@angular/core/testing');
|
||||||
|
var browser = require('@angular/platform-browser-dynamic/testing');
|
||||||
|
|
||||||
|
testing.TestBed.initTestEnvironment(browser.BrowserDynamicTestingModule, browser.platformBrowserDynamicTesting());
|
@@ -0,0 +1,16 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
@@ -0,0 +1,14 @@
|
|||||||
|
@license
|
||||||
|
Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
118
ng2-components/ng2-activiti-analytics/config/assets/tslint.json
Normal file
118
ng2-components/ng2-activiti-analytics/config/assets/tslint.json
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"align": [
|
||||||
|
true,
|
||||||
|
"parameters",
|
||||||
|
"statements"
|
||||||
|
],
|
||||||
|
"ban": false,
|
||||||
|
"class-name": true,
|
||||||
|
"comment-format": [
|
||||||
|
true,
|
||||||
|
"check-space"
|
||||||
|
],
|
||||||
|
"curly": true,
|
||||||
|
"eofline": true,
|
||||||
|
"forin": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"spaces"
|
||||||
|
],
|
||||||
|
"interface-name": false,
|
||||||
|
"jsdoc-format": true,
|
||||||
|
"label-position": true,
|
||||||
|
"max-line-length": [
|
||||||
|
true,
|
||||||
|
180
|
||||||
|
],
|
||||||
|
"member-ordering": [
|
||||||
|
true,
|
||||||
|
"static-before-instance",
|
||||||
|
"variables-before-functions"
|
||||||
|
],
|
||||||
|
"no-any": false,
|
||||||
|
"no-arg": true,
|
||||||
|
"no-bitwise": false,
|
||||||
|
"no-conditional-assignment": true,
|
||||||
|
"no-consecutive-blank-lines": true,
|
||||||
|
"no-console": [
|
||||||
|
true,
|
||||||
|
"debug",
|
||||||
|
"info",
|
||||||
|
"time",
|
||||||
|
"timeEnd",
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"no-construct": true,
|
||||||
|
"no-constructor-vars": false,
|
||||||
|
"no-debugger": true,
|
||||||
|
"no-duplicate-variable": true,
|
||||||
|
"no-empty": false,
|
||||||
|
"no-eval": true,
|
||||||
|
"no-inferrable-types": false,
|
||||||
|
"no-internal-module": true,
|
||||||
|
"no-require-imports": false,
|
||||||
|
"no-shadowed-variable": true,
|
||||||
|
"no-switch-case-fall-through": true,
|
||||||
|
"no-trailing-whitespace": true,
|
||||||
|
"no-unused-expression": true,
|
||||||
|
"no-unused-variable": true,
|
||||||
|
"no-use-before-declare": true,
|
||||||
|
"no-var-keyword": true,
|
||||||
|
"no-var-requires": true,
|
||||||
|
"object-literal-sort-keys": false,
|
||||||
|
"one-line": [
|
||||||
|
true,
|
||||||
|
"check-open-brace",
|
||||||
|
"check-catch",
|
||||||
|
"check-else",
|
||||||
|
"check-whitespace"
|
||||||
|
],
|
||||||
|
"quotemark": [
|
||||||
|
true,
|
||||||
|
"single",
|
||||||
|
"avoid-escape"
|
||||||
|
],
|
||||||
|
"radix": true,
|
||||||
|
"semicolon": true,
|
||||||
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": "never",
|
||||||
|
"singleline": "never"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"triple-equals": [
|
||||||
|
true,
|
||||||
|
"allow-null-check"
|
||||||
|
],
|
||||||
|
"typedef": false,
|
||||||
|
"typedef-whitespace": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"call-signature": "nospace",
|
||||||
|
"index-signature": "nospace",
|
||||||
|
"parameter": "nospace",
|
||||||
|
"property-declaration": "nospace",
|
||||||
|
"variable-declaration": "nospace"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"use-strict": false,
|
||||||
|
"variable-name": [
|
||||||
|
true,
|
||||||
|
"check-format",
|
||||||
|
"allow-leading-underscore",
|
||||||
|
"ban-keywords"
|
||||||
|
],
|
||||||
|
"whitespace": [
|
||||||
|
true,
|
||||||
|
"check-branch",
|
||||||
|
"check-operator",
|
||||||
|
"check-separator",
|
||||||
|
"check-type",
|
||||||
|
"check-module",
|
||||||
|
"check-decl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,70 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
|
||||||
|
module.exports = function(content) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
if(!this.emitFile) throw new Error('emitFile is required from module system');
|
||||||
|
|
||||||
|
var query = loaderUtils.getOptions(this) || {};
|
||||||
|
var configKey = query.config || 'multiFileLoader';
|
||||||
|
var options = this.options[configKey] || {};
|
||||||
|
var config = {
|
||||||
|
publicPath: false,
|
||||||
|
useRelativePath: false,
|
||||||
|
name: '[hash].[ext]'
|
||||||
|
};
|
||||||
|
|
||||||
|
// options takes precedence over config
|
||||||
|
Object.keys(options).forEach(function(attr) {
|
||||||
|
config[attr] = options[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
// query takes precedence over config and options
|
||||||
|
Object.keys(query).forEach(function(attr) {
|
||||||
|
config[attr] = query[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
var context = config.context || this.options.context;
|
||||||
|
var url = loaderUtils.interpolateName(this, config.name, {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
var path = loaderUtils.interpolateName(this, '[path]', {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
|
||||||
|
var outputPath = '';
|
||||||
|
|
||||||
|
if (config.outputPath) {
|
||||||
|
outputPath = (
|
||||||
|
typeof config.outputPath === 'function'
|
||||||
|
? config.outputPath(url, path)
|
||||||
|
: config.outputPath + url
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
outputPath = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
var publicPath = JSON.stringify(url);
|
||||||
|
|
||||||
|
if (config.publicPath) {
|
||||||
|
publicPath = JSON.stringify(
|
||||||
|
typeof config.publicPath === 'function'
|
||||||
|
? config.publicPath(url, path)
|
||||||
|
: config.publicPath + url
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
publicPath = '__webpack_public_path__ + ' + publicPath;
|
||||||
|
|
||||||
|
if (query.emitFile === undefined || query.emitFile) {
|
||||||
|
this.emitFile(outputPath, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'module.exports = ' + publicPath + ';';
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.raw = true;
|
@@ -0,0 +1,67 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var licenseFileUtf8Store = undefined;
|
||||||
|
|
||||||
|
function readLicenseHeaderFile(licenseFilePath) {
|
||||||
|
if (licenseFileUtf8Store) {
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fs.existsSync(licenseFilePath)) {
|
||||||
|
licenseFileUtf8Store = fs.readFileSync(licenseFilePath, 'utf8').split(/\r?\n/);
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error('The license header file path is wrong ' + licenseFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isFileEmpty(fileContents) {
|
||||||
|
return fileContents.toString('utf8').trim() === '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function readCurrentFile(fileContent) {
|
||||||
|
return fileContent.toString('utf8').split(/\r?\n/);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLicenseHeaderPresent(currentFileContent, licenseFilePath) {
|
||||||
|
if (!isFileEmpty(currentFileContent)) {
|
||||||
|
var currentFileUtf8 = readCurrentFile(currentFileContent),
|
||||||
|
licenseFileUtf8 = readLicenseHeaderFile(licenseFilePath);
|
||||||
|
skipStrict = 0;
|
||||||
|
|
||||||
|
if(currentFileUtf8[0] === '"use strict";' ) {
|
||||||
|
skipStrict = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = skipStrict; i < licenseFileUtf8.length; i++) {
|
||||||
|
if (currentFileUtf8[i + skipStrict] !== licenseFileUtf8[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function report(hasHeader, emitter, filename) {
|
||||||
|
if (hasHeader) return;
|
||||||
|
emitter('Missing license header file : ' + filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
function licenseCheck(webpackInstance, input, options) {
|
||||||
|
var isLicensePresent = isLicenseHeaderPresent(input, options.licenseFile);
|
||||||
|
|
||||||
|
var emitter = options.emitErrors ? webpackInstance.emitError : webpackInstance.emitWarning;
|
||||||
|
|
||||||
|
report(isLicensePresent, emitter, webpackInstance.resourcePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function(input, map) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
var callback = this.async();
|
||||||
|
|
||||||
|
var options = loaderUtils.getOptions(this);
|
||||||
|
licenseCheck(this, input, options);
|
||||||
|
callback(null, input, map);
|
||||||
|
};
|
10
ng2-components/ng2-activiti-analytics/config/helpers.js
Normal file
10
ng2-components/ng2-activiti-analytics/config/helpers.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var _root = path.resolve(__dirname, '..');
|
||||||
|
|
||||||
|
function root(args) {
|
||||||
|
args = Array.prototype.slice.call(arguments, 0);
|
||||||
|
return path.join.apply(path, [_root].concat(args));
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.root = root;
|
124
ng2-components/ng2-activiti-analytics/config/webpack.common.js
Normal file
124
ng2-components/ng2-activiti-analytics/config/webpack.common.js
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
resolveLoader: {
|
||||||
|
alias: {
|
||||||
|
"file-multi-loader": path.resolve(__dirname, "./custom-loaders/file-loader-multi"),
|
||||||
|
"license-check": path.resolve(__dirname, "./custom-loaders/license-check")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// require those dependencies but don't bundle them
|
||||||
|
externals: [
|
||||||
|
/^\@angular\//,
|
||||||
|
/^rxjs\//,
|
||||||
|
'moment',
|
||||||
|
'raphael',
|
||||||
|
'ng2-charts',
|
||||||
|
'alfresco-js-api',
|
||||||
|
'ng2-alfresco-core',
|
||||||
|
'ng2-alfresco-datatable',
|
||||||
|
'ng2-activiti-analytics',
|
||||||
|
'ng2-activiti-diagrams',
|
||||||
|
'ng2-activiti-form',
|
||||||
|
"ng2-activiti-tasklist",
|
||||||
|
'ng2-alfresco-documentlist'
|
||||||
|
],
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'tslint-loader',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
configFile: path.resolve(__dirname, './assets/tslint.json')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: ['ts-loader', 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'license-check',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
licenseFile: path.resolve(__dirname, './assets/license_header.txt')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/, /rendering-queue.services.ts/ ],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
|
||||||
|
loader: 'file-multi-loader',
|
||||||
|
query: {
|
||||||
|
name: '[name].[hash].[ext]',
|
||||||
|
outputPath: (url, resourcePath)=> {
|
||||||
|
return resourcePath.replace('src', 'bundles') + url;
|
||||||
|
},
|
||||||
|
publicPath: (url, resourcePath)=> {
|
||||||
|
var component = resourcePath.substring(0, resourcePath.indexOf('src'));
|
||||||
|
var path = resourcePath.replace(component, '').replace('src', 'bundles');
|
||||||
|
return './' + path + url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [
|
||||||
|
'../ng2-components', 'node_modules'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.BannerPlugin(fs.readFileSync(path.resolve(__dirname, './assets/license_header_add.txt'), 'utf8')),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
)
|
||||||
|
],
|
||||||
|
|
||||||
|
devtool: 'cheap-module-source-map',
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
85
ng2-components/ng2-activiti-analytics/config/webpack.test.js
Normal file
85
ng2-components/ng2-activiti-analytics/config/webpack.test.js
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
|
||||||
|
const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
devtool: 'inline-source-map',
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [helpers.root('../ng2-components'), helpers.root('node_modules')]
|
||||||
|
},
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
loaders: ['ts-loader?' + JSON.stringify({ transpileOnly: true}), 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico|pdf)$/,
|
||||||
|
loader: 'file-loader',
|
||||||
|
query: {
|
||||||
|
name: '[path][name].[ext]',
|
||||||
|
outputPath: (url)=> {
|
||||||
|
return url.replace('src', 'dist');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'post',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'istanbul-instrumenter-loader',
|
||||||
|
exclude: [
|
||||||
|
/node_modules/,
|
||||||
|
/test/
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
'process.env': {
|
||||||
|
'ENV': JSON.stringify(ENV)
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new webpack.LoaderOptionsPlugin({
|
||||||
|
htmlLoader: {
|
||||||
|
minimize: false // workaround for ng2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
],
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
@@ -21,11 +21,6 @@ module.exports = function (config) {
|
|||||||
{pattern: './node_modules/md-date-time-picker/**/*.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},
|
{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: 'karma-test-shim.js', watched: false},
|
||||||
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
||||||
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
||||||
|
@@ -113,14 +113,5 @@
|
|||||||
"tag",
|
"tag",
|
||||||
"alfresco-component"
|
"alfresco-component"
|
||||||
],
|
],
|
||||||
"license-check-config": {
|
|
||||||
"src": [
|
|
||||||
"./src/**/*.ts"
|
|
||||||
],
|
|
||||||
"path": "assets/license_header.txt",
|
|
||||||
"blocking": true,
|
|
||||||
"logInfo": false,
|
|
||||||
"logError": true
|
|
||||||
},
|
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require("webpack");
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const commonConfig = require('../config/webpack.common.js');
|
const commonConfig = require('./config/webpack.common.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(commonConfig, {
|
module.exports = webpackMerge(commonConfig, {
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const testConfig = require('../config/webpack.test.js');
|
const testConfig = require('./config/webpack.test.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(testConfig, {
|
module.exports = webpackMerge(testConfig, {
|
||||||
|
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
@@ -0,0 +1,14 @@
|
|||||||
|
@license
|
||||||
|
Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
118
ng2-components/ng2-activiti-diagrams/config/assets/tslint.json
Normal file
118
ng2-components/ng2-activiti-diagrams/config/assets/tslint.json
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"align": [
|
||||||
|
true,
|
||||||
|
"parameters",
|
||||||
|
"statements"
|
||||||
|
],
|
||||||
|
"ban": false,
|
||||||
|
"class-name": true,
|
||||||
|
"comment-format": [
|
||||||
|
true,
|
||||||
|
"check-space"
|
||||||
|
],
|
||||||
|
"curly": true,
|
||||||
|
"eofline": true,
|
||||||
|
"forin": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"spaces"
|
||||||
|
],
|
||||||
|
"interface-name": false,
|
||||||
|
"jsdoc-format": true,
|
||||||
|
"label-position": true,
|
||||||
|
"max-line-length": [
|
||||||
|
true,
|
||||||
|
180
|
||||||
|
],
|
||||||
|
"member-ordering": [
|
||||||
|
true,
|
||||||
|
"static-before-instance",
|
||||||
|
"variables-before-functions"
|
||||||
|
],
|
||||||
|
"no-any": false,
|
||||||
|
"no-arg": true,
|
||||||
|
"no-bitwise": false,
|
||||||
|
"no-conditional-assignment": true,
|
||||||
|
"no-consecutive-blank-lines": true,
|
||||||
|
"no-console": [
|
||||||
|
true,
|
||||||
|
"debug",
|
||||||
|
"info",
|
||||||
|
"time",
|
||||||
|
"timeEnd",
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"no-construct": true,
|
||||||
|
"no-constructor-vars": false,
|
||||||
|
"no-debugger": true,
|
||||||
|
"no-duplicate-variable": true,
|
||||||
|
"no-empty": false,
|
||||||
|
"no-eval": true,
|
||||||
|
"no-inferrable-types": false,
|
||||||
|
"no-internal-module": true,
|
||||||
|
"no-require-imports": false,
|
||||||
|
"no-shadowed-variable": true,
|
||||||
|
"no-switch-case-fall-through": true,
|
||||||
|
"no-trailing-whitespace": true,
|
||||||
|
"no-unused-expression": true,
|
||||||
|
"no-unused-variable": true,
|
||||||
|
"no-use-before-declare": true,
|
||||||
|
"no-var-keyword": true,
|
||||||
|
"no-var-requires": true,
|
||||||
|
"object-literal-sort-keys": false,
|
||||||
|
"one-line": [
|
||||||
|
true,
|
||||||
|
"check-open-brace",
|
||||||
|
"check-catch",
|
||||||
|
"check-else",
|
||||||
|
"check-whitespace"
|
||||||
|
],
|
||||||
|
"quotemark": [
|
||||||
|
true,
|
||||||
|
"single",
|
||||||
|
"avoid-escape"
|
||||||
|
],
|
||||||
|
"radix": true,
|
||||||
|
"semicolon": true,
|
||||||
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": "never",
|
||||||
|
"singleline": "never"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"triple-equals": [
|
||||||
|
true,
|
||||||
|
"allow-null-check"
|
||||||
|
],
|
||||||
|
"typedef": false,
|
||||||
|
"typedef-whitespace": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"call-signature": "nospace",
|
||||||
|
"index-signature": "nospace",
|
||||||
|
"parameter": "nospace",
|
||||||
|
"property-declaration": "nospace",
|
||||||
|
"variable-declaration": "nospace"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"use-strict": false,
|
||||||
|
"variable-name": [
|
||||||
|
true,
|
||||||
|
"check-format",
|
||||||
|
"allow-leading-underscore",
|
||||||
|
"ban-keywords"
|
||||||
|
],
|
||||||
|
"whitespace": [
|
||||||
|
true,
|
||||||
|
"check-branch",
|
||||||
|
"check-operator",
|
||||||
|
"check-separator",
|
||||||
|
"check-type",
|
||||||
|
"check-module",
|
||||||
|
"check-decl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,70 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
|
||||||
|
module.exports = function(content) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
if(!this.emitFile) throw new Error('emitFile is required from module system');
|
||||||
|
|
||||||
|
var query = loaderUtils.getOptions(this) || {};
|
||||||
|
var configKey = query.config || 'multiFileLoader';
|
||||||
|
var options = this.options[configKey] || {};
|
||||||
|
var config = {
|
||||||
|
publicPath: false,
|
||||||
|
useRelativePath: false,
|
||||||
|
name: '[hash].[ext]'
|
||||||
|
};
|
||||||
|
|
||||||
|
// options takes precedence over config
|
||||||
|
Object.keys(options).forEach(function(attr) {
|
||||||
|
config[attr] = options[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
// query takes precedence over config and options
|
||||||
|
Object.keys(query).forEach(function(attr) {
|
||||||
|
config[attr] = query[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
var context = config.context || this.options.context;
|
||||||
|
var url = loaderUtils.interpolateName(this, config.name, {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
var path = loaderUtils.interpolateName(this, '[path]', {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
|
||||||
|
var outputPath = '';
|
||||||
|
|
||||||
|
if (config.outputPath) {
|
||||||
|
outputPath = (
|
||||||
|
typeof config.outputPath === 'function'
|
||||||
|
? config.outputPath(url, path)
|
||||||
|
: config.outputPath + url
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
outputPath = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
var publicPath = JSON.stringify(url);
|
||||||
|
|
||||||
|
if (config.publicPath) {
|
||||||
|
publicPath = JSON.stringify(
|
||||||
|
typeof config.publicPath === 'function'
|
||||||
|
? config.publicPath(url, path)
|
||||||
|
: config.publicPath + url
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
publicPath = '__webpack_public_path__ + ' + publicPath;
|
||||||
|
|
||||||
|
if (query.emitFile === undefined || query.emitFile) {
|
||||||
|
this.emitFile(outputPath, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'module.exports = ' + publicPath + ';';
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.raw = true;
|
@@ -0,0 +1,67 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var licenseFileUtf8Store = undefined;
|
||||||
|
|
||||||
|
function readLicenseHeaderFile(licenseFilePath) {
|
||||||
|
if (licenseFileUtf8Store) {
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fs.existsSync(licenseFilePath)) {
|
||||||
|
licenseFileUtf8Store = fs.readFileSync(licenseFilePath, 'utf8').split(/\r?\n/);
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error('The license header file path is wrong ' + licenseFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isFileEmpty(fileContents) {
|
||||||
|
return fileContents.toString('utf8').trim() === '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function readCurrentFile(fileContent) {
|
||||||
|
return fileContent.toString('utf8').split(/\r?\n/);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLicenseHeaderPresent(currentFileContent, licenseFilePath) {
|
||||||
|
if (!isFileEmpty(currentFileContent)) {
|
||||||
|
var currentFileUtf8 = readCurrentFile(currentFileContent),
|
||||||
|
licenseFileUtf8 = readLicenseHeaderFile(licenseFilePath);
|
||||||
|
skipStrict = 0;
|
||||||
|
|
||||||
|
if(currentFileUtf8[0] === '"use strict";' ) {
|
||||||
|
skipStrict = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = skipStrict; i < licenseFileUtf8.length; i++) {
|
||||||
|
if (currentFileUtf8[i + skipStrict] !== licenseFileUtf8[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function report(hasHeader, emitter, filename) {
|
||||||
|
if (hasHeader) return;
|
||||||
|
emitter('Missing license header file : ' + filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
function licenseCheck(webpackInstance, input, options) {
|
||||||
|
var isLicensePresent = isLicenseHeaderPresent(input, options.licenseFile);
|
||||||
|
|
||||||
|
var emitter = options.emitErrors ? webpackInstance.emitError : webpackInstance.emitWarning;
|
||||||
|
|
||||||
|
report(isLicensePresent, emitter, webpackInstance.resourcePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function(input, map) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
var callback = this.async();
|
||||||
|
|
||||||
|
var options = loaderUtils.getOptions(this);
|
||||||
|
licenseCheck(this, input, options);
|
||||||
|
callback(null, input, map);
|
||||||
|
};
|
10
ng2-components/ng2-activiti-diagrams/config/helpers.js
Normal file
10
ng2-components/ng2-activiti-diagrams/config/helpers.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var _root = path.resolve(__dirname, '..');
|
||||||
|
|
||||||
|
function root(args) {
|
||||||
|
args = Array.prototype.slice.call(arguments, 0);
|
||||||
|
return path.join.apply(path, [_root].concat(args));
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.root = root;
|
124
ng2-components/ng2-activiti-diagrams/config/webpack.common.js
Normal file
124
ng2-components/ng2-activiti-diagrams/config/webpack.common.js
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
resolveLoader: {
|
||||||
|
alias: {
|
||||||
|
"file-multi-loader": path.resolve(__dirname, "./custom-loaders/file-loader-multi"),
|
||||||
|
"license-check": path.resolve(__dirname, "./custom-loaders/license-check")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// require those dependencies but don't bundle them
|
||||||
|
externals: [
|
||||||
|
/^\@angular\//,
|
||||||
|
/^rxjs\//,
|
||||||
|
'moment',
|
||||||
|
'raphael',
|
||||||
|
'ng2-charts',
|
||||||
|
'alfresco-js-api',
|
||||||
|
'ng2-alfresco-core',
|
||||||
|
'ng2-alfresco-datatable',
|
||||||
|
'ng2-activiti-analytics',
|
||||||
|
'ng2-activiti-diagrams',
|
||||||
|
'ng2-activiti-form',
|
||||||
|
"ng2-activiti-tasklist",
|
||||||
|
'ng2-alfresco-documentlist'
|
||||||
|
],
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'tslint-loader',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
configFile: path.resolve(__dirname, './assets/tslint.json')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: ['ts-loader', 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'license-check',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
licenseFile: path.resolve(__dirname, './assets/license_header.txt')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/, /rendering-queue.services.ts/ ],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
|
||||||
|
loader: 'file-multi-loader',
|
||||||
|
query: {
|
||||||
|
name: '[name].[hash].[ext]',
|
||||||
|
outputPath: (url, resourcePath)=> {
|
||||||
|
return resourcePath.replace('src', 'bundles') + url;
|
||||||
|
},
|
||||||
|
publicPath: (url, resourcePath)=> {
|
||||||
|
var component = resourcePath.substring(0, resourcePath.indexOf('src'));
|
||||||
|
var path = resourcePath.replace(component, '').replace('src', 'bundles');
|
||||||
|
return './' + path + url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [
|
||||||
|
'../ng2-components', 'node_modules'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.BannerPlugin(fs.readFileSync(path.resolve(__dirname, './assets/license_header_add.txt'), 'utf8')),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
)
|
||||||
|
],
|
||||||
|
|
||||||
|
devtool: 'cheap-module-source-map',
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
85
ng2-components/ng2-activiti-diagrams/config/webpack.test.js
Normal file
85
ng2-components/ng2-activiti-diagrams/config/webpack.test.js
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
|
||||||
|
const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
devtool: 'inline-source-map',
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [helpers.root('../ng2-components'), helpers.root('node_modules')]
|
||||||
|
},
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
loaders: ['ts-loader?' + JSON.stringify({ transpileOnly: true}), 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico|pdf)$/,
|
||||||
|
loader: 'file-loader',
|
||||||
|
query: {
|
||||||
|
name: '[path][name].[ext]',
|
||||||
|
outputPath: (url)=> {
|
||||||
|
return url.replace('src', 'dist');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'post',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'istanbul-instrumenter-loader',
|
||||||
|
exclude: [
|
||||||
|
/node_modules/,
|
||||||
|
/test/
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
'process.env': {
|
||||||
|
'ENV': JSON.stringify(ENV)
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new webpack.LoaderOptionsPlugin({
|
||||||
|
htmlLoader: {
|
||||||
|
minimize: false // workaround for ng2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
],
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
@@ -21,11 +21,6 @@ module.exports = function (config) {
|
|||||||
{pattern: './node_modules/md-date-time-picker/**/*.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},
|
{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: 'karma-test-shim.js', watched: false},
|
||||||
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
||||||
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
||||||
|
@@ -105,14 +105,5 @@
|
|||||||
"alfresco-analytics",
|
"alfresco-analytics",
|
||||||
"alfresco-diagrams"
|
"alfresco-diagrams"
|
||||||
],
|
],
|
||||||
"license-check-config": {
|
|
||||||
"src": [
|
|
||||||
"./src/**/*.ts"
|
|
||||||
],
|
|
||||||
"path": "assets/license_header.txt",
|
|
||||||
"blocking": true,
|
|
||||||
"logInfo": false,
|
|
||||||
"logError": true
|
|
||||||
},
|
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require("webpack");
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const commonConfig = require('../config/webpack.common.js');
|
const commonConfig = require('./config/webpack.common.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(commonConfig, {
|
module.exports = webpackMerge(commonConfig, {
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const testConfig = require('../config/webpack.test.js');
|
const testConfig = require('./config/webpack.test.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(testConfig, {
|
module.exports = webpackMerge(testConfig, {
|
||||||
|
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
@@ -0,0 +1,14 @@
|
|||||||
|
@license
|
||||||
|
Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
118
ng2-components/ng2-activiti-form/config/assets/tslint.json
Normal file
118
ng2-components/ng2-activiti-form/config/assets/tslint.json
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"align": [
|
||||||
|
true,
|
||||||
|
"parameters",
|
||||||
|
"statements"
|
||||||
|
],
|
||||||
|
"ban": false,
|
||||||
|
"class-name": true,
|
||||||
|
"comment-format": [
|
||||||
|
true,
|
||||||
|
"check-space"
|
||||||
|
],
|
||||||
|
"curly": true,
|
||||||
|
"eofline": true,
|
||||||
|
"forin": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"spaces"
|
||||||
|
],
|
||||||
|
"interface-name": false,
|
||||||
|
"jsdoc-format": true,
|
||||||
|
"label-position": true,
|
||||||
|
"max-line-length": [
|
||||||
|
true,
|
||||||
|
180
|
||||||
|
],
|
||||||
|
"member-ordering": [
|
||||||
|
true,
|
||||||
|
"static-before-instance",
|
||||||
|
"variables-before-functions"
|
||||||
|
],
|
||||||
|
"no-any": false,
|
||||||
|
"no-arg": true,
|
||||||
|
"no-bitwise": false,
|
||||||
|
"no-conditional-assignment": true,
|
||||||
|
"no-consecutive-blank-lines": true,
|
||||||
|
"no-console": [
|
||||||
|
true,
|
||||||
|
"debug",
|
||||||
|
"info",
|
||||||
|
"time",
|
||||||
|
"timeEnd",
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"no-construct": true,
|
||||||
|
"no-constructor-vars": false,
|
||||||
|
"no-debugger": true,
|
||||||
|
"no-duplicate-variable": true,
|
||||||
|
"no-empty": false,
|
||||||
|
"no-eval": true,
|
||||||
|
"no-inferrable-types": false,
|
||||||
|
"no-internal-module": true,
|
||||||
|
"no-require-imports": false,
|
||||||
|
"no-shadowed-variable": true,
|
||||||
|
"no-switch-case-fall-through": true,
|
||||||
|
"no-trailing-whitespace": true,
|
||||||
|
"no-unused-expression": true,
|
||||||
|
"no-unused-variable": true,
|
||||||
|
"no-use-before-declare": true,
|
||||||
|
"no-var-keyword": true,
|
||||||
|
"no-var-requires": true,
|
||||||
|
"object-literal-sort-keys": false,
|
||||||
|
"one-line": [
|
||||||
|
true,
|
||||||
|
"check-open-brace",
|
||||||
|
"check-catch",
|
||||||
|
"check-else",
|
||||||
|
"check-whitespace"
|
||||||
|
],
|
||||||
|
"quotemark": [
|
||||||
|
true,
|
||||||
|
"single",
|
||||||
|
"avoid-escape"
|
||||||
|
],
|
||||||
|
"radix": true,
|
||||||
|
"semicolon": true,
|
||||||
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": "never",
|
||||||
|
"singleline": "never"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"triple-equals": [
|
||||||
|
true,
|
||||||
|
"allow-null-check"
|
||||||
|
],
|
||||||
|
"typedef": false,
|
||||||
|
"typedef-whitespace": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"call-signature": "nospace",
|
||||||
|
"index-signature": "nospace",
|
||||||
|
"parameter": "nospace",
|
||||||
|
"property-declaration": "nospace",
|
||||||
|
"variable-declaration": "nospace"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"use-strict": false,
|
||||||
|
"variable-name": [
|
||||||
|
true,
|
||||||
|
"check-format",
|
||||||
|
"allow-leading-underscore",
|
||||||
|
"ban-keywords"
|
||||||
|
],
|
||||||
|
"whitespace": [
|
||||||
|
true,
|
||||||
|
"check-branch",
|
||||||
|
"check-operator",
|
||||||
|
"check-separator",
|
||||||
|
"check-type",
|
||||||
|
"check-module",
|
||||||
|
"check-decl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,70 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
|
||||||
|
module.exports = function(content) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
if(!this.emitFile) throw new Error('emitFile is required from module system');
|
||||||
|
|
||||||
|
var query = loaderUtils.getOptions(this) || {};
|
||||||
|
var configKey = query.config || 'multiFileLoader';
|
||||||
|
var options = this.options[configKey] || {};
|
||||||
|
var config = {
|
||||||
|
publicPath: false,
|
||||||
|
useRelativePath: false,
|
||||||
|
name: '[hash].[ext]'
|
||||||
|
};
|
||||||
|
|
||||||
|
// options takes precedence over config
|
||||||
|
Object.keys(options).forEach(function(attr) {
|
||||||
|
config[attr] = options[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
// query takes precedence over config and options
|
||||||
|
Object.keys(query).forEach(function(attr) {
|
||||||
|
config[attr] = query[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
var context = config.context || this.options.context;
|
||||||
|
var url = loaderUtils.interpolateName(this, config.name, {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
var path = loaderUtils.interpolateName(this, '[path]', {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
|
||||||
|
var outputPath = '';
|
||||||
|
|
||||||
|
if (config.outputPath) {
|
||||||
|
outputPath = (
|
||||||
|
typeof config.outputPath === 'function'
|
||||||
|
? config.outputPath(url, path)
|
||||||
|
: config.outputPath + url
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
outputPath = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
var publicPath = JSON.stringify(url);
|
||||||
|
|
||||||
|
if (config.publicPath) {
|
||||||
|
publicPath = JSON.stringify(
|
||||||
|
typeof config.publicPath === 'function'
|
||||||
|
? config.publicPath(url, path)
|
||||||
|
: config.publicPath + url
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
publicPath = '__webpack_public_path__ + ' + publicPath;
|
||||||
|
|
||||||
|
if (query.emitFile === undefined || query.emitFile) {
|
||||||
|
this.emitFile(outputPath, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'module.exports = ' + publicPath + ';';
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.raw = true;
|
@@ -0,0 +1,67 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var licenseFileUtf8Store = undefined;
|
||||||
|
|
||||||
|
function readLicenseHeaderFile(licenseFilePath) {
|
||||||
|
if (licenseFileUtf8Store) {
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fs.existsSync(licenseFilePath)) {
|
||||||
|
licenseFileUtf8Store = fs.readFileSync(licenseFilePath, 'utf8').split(/\r?\n/);
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error('The license header file path is wrong ' + licenseFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isFileEmpty(fileContents) {
|
||||||
|
return fileContents.toString('utf8').trim() === '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function readCurrentFile(fileContent) {
|
||||||
|
return fileContent.toString('utf8').split(/\r?\n/);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLicenseHeaderPresent(currentFileContent, licenseFilePath) {
|
||||||
|
if (!isFileEmpty(currentFileContent)) {
|
||||||
|
var currentFileUtf8 = readCurrentFile(currentFileContent),
|
||||||
|
licenseFileUtf8 = readLicenseHeaderFile(licenseFilePath);
|
||||||
|
skipStrict = 0;
|
||||||
|
|
||||||
|
if(currentFileUtf8[0] === '"use strict";' ) {
|
||||||
|
skipStrict = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = skipStrict; i < licenseFileUtf8.length; i++) {
|
||||||
|
if (currentFileUtf8[i + skipStrict] !== licenseFileUtf8[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function report(hasHeader, emitter, filename) {
|
||||||
|
if (hasHeader) return;
|
||||||
|
emitter('Missing license header file : ' + filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
function licenseCheck(webpackInstance, input, options) {
|
||||||
|
var isLicensePresent = isLicenseHeaderPresent(input, options.licenseFile);
|
||||||
|
|
||||||
|
var emitter = options.emitErrors ? webpackInstance.emitError : webpackInstance.emitWarning;
|
||||||
|
|
||||||
|
report(isLicensePresent, emitter, webpackInstance.resourcePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function(input, map) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
var callback = this.async();
|
||||||
|
|
||||||
|
var options = loaderUtils.getOptions(this);
|
||||||
|
licenseCheck(this, input, options);
|
||||||
|
callback(null, input, map);
|
||||||
|
};
|
10
ng2-components/ng2-activiti-form/config/helpers.js
Normal file
10
ng2-components/ng2-activiti-form/config/helpers.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var _root = path.resolve(__dirname, '..');
|
||||||
|
|
||||||
|
function root(args) {
|
||||||
|
args = Array.prototype.slice.call(arguments, 0);
|
||||||
|
return path.join.apply(path, [_root].concat(args));
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.root = root;
|
124
ng2-components/ng2-activiti-form/config/webpack.common.js
Normal file
124
ng2-components/ng2-activiti-form/config/webpack.common.js
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
resolveLoader: {
|
||||||
|
alias: {
|
||||||
|
"file-multi-loader": path.resolve(__dirname, "./custom-loaders/file-loader-multi"),
|
||||||
|
"license-check": path.resolve(__dirname, "./custom-loaders/license-check")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// require those dependencies but don't bundle them
|
||||||
|
externals: [
|
||||||
|
/^\@angular\//,
|
||||||
|
/^rxjs\//,
|
||||||
|
'moment',
|
||||||
|
'raphael',
|
||||||
|
'ng2-charts',
|
||||||
|
'alfresco-js-api',
|
||||||
|
'ng2-alfresco-core',
|
||||||
|
'ng2-alfresco-datatable',
|
||||||
|
'ng2-activiti-analytics',
|
||||||
|
'ng2-activiti-diagrams',
|
||||||
|
'ng2-activiti-form',
|
||||||
|
"ng2-activiti-tasklist",
|
||||||
|
'ng2-alfresco-documentlist'
|
||||||
|
],
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'tslint-loader',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
configFile: path.resolve(__dirname, './assets/tslint.json')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: ['ts-loader', 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'license-check',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
licenseFile: path.resolve(__dirname, './assets/license_header.txt')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/, /rendering-queue.services.ts/ ],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
|
||||||
|
loader: 'file-multi-loader',
|
||||||
|
query: {
|
||||||
|
name: '[name].[hash].[ext]',
|
||||||
|
outputPath: (url, resourcePath)=> {
|
||||||
|
return resourcePath.replace('src', 'bundles') + url;
|
||||||
|
},
|
||||||
|
publicPath: (url, resourcePath)=> {
|
||||||
|
var component = resourcePath.substring(0, resourcePath.indexOf('src'));
|
||||||
|
var path = resourcePath.replace(component, '').replace('src', 'bundles');
|
||||||
|
return './' + path + url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [
|
||||||
|
'../ng2-components', 'node_modules'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.BannerPlugin(fs.readFileSync(path.resolve(__dirname, './assets/license_header_add.txt'), 'utf8')),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
)
|
||||||
|
],
|
||||||
|
|
||||||
|
devtool: 'cheap-module-source-map',
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
85
ng2-components/ng2-activiti-form/config/webpack.test.js
Normal file
85
ng2-components/ng2-activiti-form/config/webpack.test.js
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
|
||||||
|
const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
devtool: 'inline-source-map',
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [helpers.root('../ng2-components'), helpers.root('node_modules')]
|
||||||
|
},
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
loaders: ['ts-loader?' + JSON.stringify({ transpileOnly: true}), 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico|pdf)$/,
|
||||||
|
loader: 'file-loader',
|
||||||
|
query: {
|
||||||
|
name: '[path][name].[ext]',
|
||||||
|
outputPath: (url)=> {
|
||||||
|
return url.replace('src', 'dist');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'post',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'istanbul-instrumenter-loader',
|
||||||
|
exclude: [
|
||||||
|
/node_modules/,
|
||||||
|
/test/
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
'process.env': {
|
||||||
|
'ENV': JSON.stringify(ENV)
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new webpack.LoaderOptionsPlugin({
|
||||||
|
htmlLoader: {
|
||||||
|
minimize: false // workaround for ng2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
],
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
@@ -21,11 +21,6 @@ module.exports = function (config) {
|
|||||||
{pattern: './node_modules/md-date-time-picker/**/*.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},
|
{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: 'karma-test-shim.js', watched: false},
|
||||||
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
||||||
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
||||||
|
@@ -108,14 +108,5 @@
|
|||||||
"webpack-merge": "2.6.1",
|
"webpack-merge": "2.6.1",
|
||||||
"wsrv": "^0.1.7"
|
"wsrv": "^0.1.7"
|
||||||
},
|
},
|
||||||
"license-check-config": {
|
|
||||||
"src": [
|
|
||||||
"./src/**/*.ts"
|
|
||||||
],
|
|
||||||
"path": "assets/license_header.txt",
|
|
||||||
"blocking": true,
|
|
||||||
"logInfo": false,
|
|
||||||
"logError": true
|
|
||||||
},
|
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require("webpack");
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const commonConfig = require('../config/webpack.common.js');
|
const commonConfig = require('./config/webpack.common.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(commonConfig, {
|
module.exports = webpackMerge(commonConfig, {
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const testConfig = require('../config/webpack.test.js');
|
const testConfig = require('./config/webpack.test.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(testConfig, {
|
module.exports = webpackMerge(testConfig, {
|
||||||
|
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
@@ -0,0 +1,14 @@
|
|||||||
|
@license
|
||||||
|
Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"align": [
|
||||||
|
true,
|
||||||
|
"parameters",
|
||||||
|
"statements"
|
||||||
|
],
|
||||||
|
"ban": false,
|
||||||
|
"class-name": true,
|
||||||
|
"comment-format": [
|
||||||
|
true,
|
||||||
|
"check-space"
|
||||||
|
],
|
||||||
|
"curly": true,
|
||||||
|
"eofline": true,
|
||||||
|
"forin": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"spaces"
|
||||||
|
],
|
||||||
|
"interface-name": false,
|
||||||
|
"jsdoc-format": true,
|
||||||
|
"label-position": true,
|
||||||
|
"max-line-length": [
|
||||||
|
true,
|
||||||
|
180
|
||||||
|
],
|
||||||
|
"member-ordering": [
|
||||||
|
true,
|
||||||
|
"static-before-instance",
|
||||||
|
"variables-before-functions"
|
||||||
|
],
|
||||||
|
"no-any": false,
|
||||||
|
"no-arg": true,
|
||||||
|
"no-bitwise": false,
|
||||||
|
"no-conditional-assignment": true,
|
||||||
|
"no-consecutive-blank-lines": true,
|
||||||
|
"no-console": [
|
||||||
|
true,
|
||||||
|
"debug",
|
||||||
|
"info",
|
||||||
|
"time",
|
||||||
|
"timeEnd",
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"no-construct": true,
|
||||||
|
"no-constructor-vars": false,
|
||||||
|
"no-debugger": true,
|
||||||
|
"no-duplicate-variable": true,
|
||||||
|
"no-empty": false,
|
||||||
|
"no-eval": true,
|
||||||
|
"no-inferrable-types": false,
|
||||||
|
"no-internal-module": true,
|
||||||
|
"no-require-imports": false,
|
||||||
|
"no-shadowed-variable": true,
|
||||||
|
"no-switch-case-fall-through": true,
|
||||||
|
"no-trailing-whitespace": true,
|
||||||
|
"no-unused-expression": true,
|
||||||
|
"no-unused-variable": true,
|
||||||
|
"no-use-before-declare": true,
|
||||||
|
"no-var-keyword": true,
|
||||||
|
"no-var-requires": true,
|
||||||
|
"object-literal-sort-keys": false,
|
||||||
|
"one-line": [
|
||||||
|
true,
|
||||||
|
"check-open-brace",
|
||||||
|
"check-catch",
|
||||||
|
"check-else",
|
||||||
|
"check-whitespace"
|
||||||
|
],
|
||||||
|
"quotemark": [
|
||||||
|
true,
|
||||||
|
"single",
|
||||||
|
"avoid-escape"
|
||||||
|
],
|
||||||
|
"radix": true,
|
||||||
|
"semicolon": true,
|
||||||
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": "never",
|
||||||
|
"singleline": "never"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"triple-equals": [
|
||||||
|
true,
|
||||||
|
"allow-null-check"
|
||||||
|
],
|
||||||
|
"typedef": false,
|
||||||
|
"typedef-whitespace": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"call-signature": "nospace",
|
||||||
|
"index-signature": "nospace",
|
||||||
|
"parameter": "nospace",
|
||||||
|
"property-declaration": "nospace",
|
||||||
|
"variable-declaration": "nospace"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"use-strict": false,
|
||||||
|
"variable-name": [
|
||||||
|
true,
|
||||||
|
"check-format",
|
||||||
|
"allow-leading-underscore",
|
||||||
|
"ban-keywords"
|
||||||
|
],
|
||||||
|
"whitespace": [
|
||||||
|
true,
|
||||||
|
"check-branch",
|
||||||
|
"check-operator",
|
||||||
|
"check-separator",
|
||||||
|
"check-type",
|
||||||
|
"check-module",
|
||||||
|
"check-decl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,70 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
|
||||||
|
module.exports = function(content) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
if(!this.emitFile) throw new Error('emitFile is required from module system');
|
||||||
|
|
||||||
|
var query = loaderUtils.getOptions(this) || {};
|
||||||
|
var configKey = query.config || 'multiFileLoader';
|
||||||
|
var options = this.options[configKey] || {};
|
||||||
|
var config = {
|
||||||
|
publicPath: false,
|
||||||
|
useRelativePath: false,
|
||||||
|
name: '[hash].[ext]'
|
||||||
|
};
|
||||||
|
|
||||||
|
// options takes precedence over config
|
||||||
|
Object.keys(options).forEach(function(attr) {
|
||||||
|
config[attr] = options[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
// query takes precedence over config and options
|
||||||
|
Object.keys(query).forEach(function(attr) {
|
||||||
|
config[attr] = query[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
var context = config.context || this.options.context;
|
||||||
|
var url = loaderUtils.interpolateName(this, config.name, {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
var path = loaderUtils.interpolateName(this, '[path]', {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
|
||||||
|
var outputPath = '';
|
||||||
|
|
||||||
|
if (config.outputPath) {
|
||||||
|
outputPath = (
|
||||||
|
typeof config.outputPath === 'function'
|
||||||
|
? config.outputPath(url, path)
|
||||||
|
: config.outputPath + url
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
outputPath = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
var publicPath = JSON.stringify(url);
|
||||||
|
|
||||||
|
if (config.publicPath) {
|
||||||
|
publicPath = JSON.stringify(
|
||||||
|
typeof config.publicPath === 'function'
|
||||||
|
? config.publicPath(url, path)
|
||||||
|
: config.publicPath + url
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
publicPath = '__webpack_public_path__ + ' + publicPath;
|
||||||
|
|
||||||
|
if (query.emitFile === undefined || query.emitFile) {
|
||||||
|
this.emitFile(outputPath, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'module.exports = ' + publicPath + ';';
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.raw = true;
|
@@ -0,0 +1,67 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var licenseFileUtf8Store = undefined;
|
||||||
|
|
||||||
|
function readLicenseHeaderFile(licenseFilePath) {
|
||||||
|
if (licenseFileUtf8Store) {
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fs.existsSync(licenseFilePath)) {
|
||||||
|
licenseFileUtf8Store = fs.readFileSync(licenseFilePath, 'utf8').split(/\r?\n/);
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error('The license header file path is wrong ' + licenseFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isFileEmpty(fileContents) {
|
||||||
|
return fileContents.toString('utf8').trim() === '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function readCurrentFile(fileContent) {
|
||||||
|
return fileContent.toString('utf8').split(/\r?\n/);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLicenseHeaderPresent(currentFileContent, licenseFilePath) {
|
||||||
|
if (!isFileEmpty(currentFileContent)) {
|
||||||
|
var currentFileUtf8 = readCurrentFile(currentFileContent),
|
||||||
|
licenseFileUtf8 = readLicenseHeaderFile(licenseFilePath);
|
||||||
|
skipStrict = 0;
|
||||||
|
|
||||||
|
if(currentFileUtf8[0] === '"use strict";' ) {
|
||||||
|
skipStrict = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = skipStrict; i < licenseFileUtf8.length; i++) {
|
||||||
|
if (currentFileUtf8[i + skipStrict] !== licenseFileUtf8[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function report(hasHeader, emitter, filename) {
|
||||||
|
if (hasHeader) return;
|
||||||
|
emitter('Missing license header file : ' + filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
function licenseCheck(webpackInstance, input, options) {
|
||||||
|
var isLicensePresent = isLicenseHeaderPresent(input, options.licenseFile);
|
||||||
|
|
||||||
|
var emitter = options.emitErrors ? webpackInstance.emitError : webpackInstance.emitWarning;
|
||||||
|
|
||||||
|
report(isLicensePresent, emitter, webpackInstance.resourcePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function(input, map) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
var callback = this.async();
|
||||||
|
|
||||||
|
var options = loaderUtils.getOptions(this);
|
||||||
|
licenseCheck(this, input, options);
|
||||||
|
callback(null, input, map);
|
||||||
|
};
|
10
ng2-components/ng2-activiti-processlist/config/helpers.js
Normal file
10
ng2-components/ng2-activiti-processlist/config/helpers.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var _root = path.resolve(__dirname, '..');
|
||||||
|
|
||||||
|
function root(args) {
|
||||||
|
args = Array.prototype.slice.call(arguments, 0);
|
||||||
|
return path.join.apply(path, [_root].concat(args));
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.root = root;
|
124
ng2-components/ng2-activiti-processlist/config/webpack.common.js
Normal file
124
ng2-components/ng2-activiti-processlist/config/webpack.common.js
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
resolveLoader: {
|
||||||
|
alias: {
|
||||||
|
"file-multi-loader": path.resolve(__dirname, "./custom-loaders/file-loader-multi"),
|
||||||
|
"license-check": path.resolve(__dirname, "./custom-loaders/license-check")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// require those dependencies but don't bundle them
|
||||||
|
externals: [
|
||||||
|
/^\@angular\//,
|
||||||
|
/^rxjs\//,
|
||||||
|
'moment',
|
||||||
|
'raphael',
|
||||||
|
'ng2-charts',
|
||||||
|
'alfresco-js-api',
|
||||||
|
'ng2-alfresco-core',
|
||||||
|
'ng2-alfresco-datatable',
|
||||||
|
'ng2-activiti-analytics',
|
||||||
|
'ng2-activiti-diagrams',
|
||||||
|
'ng2-activiti-form',
|
||||||
|
"ng2-activiti-tasklist",
|
||||||
|
'ng2-alfresco-documentlist'
|
||||||
|
],
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'tslint-loader',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
configFile: path.resolve(__dirname, './assets/tslint.json')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: ['ts-loader', 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'license-check',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
licenseFile: path.resolve(__dirname, './assets/license_header.txt')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/, /rendering-queue.services.ts/ ],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
|
||||||
|
loader: 'file-multi-loader',
|
||||||
|
query: {
|
||||||
|
name: '[name].[hash].[ext]',
|
||||||
|
outputPath: (url, resourcePath)=> {
|
||||||
|
return resourcePath.replace('src', 'bundles') + url;
|
||||||
|
},
|
||||||
|
publicPath: (url, resourcePath)=> {
|
||||||
|
var component = resourcePath.substring(0, resourcePath.indexOf('src'));
|
||||||
|
var path = resourcePath.replace(component, '').replace('src', 'bundles');
|
||||||
|
return './' + path + url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [
|
||||||
|
'../ng2-components', 'node_modules'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.BannerPlugin(fs.readFileSync(path.resolve(__dirname, './assets/license_header_add.txt'), 'utf8')),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
)
|
||||||
|
],
|
||||||
|
|
||||||
|
devtool: 'cheap-module-source-map',
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
@@ -0,0 +1,85 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
|
||||||
|
const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
devtool: 'inline-source-map',
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [helpers.root('../ng2-components'), helpers.root('node_modules')]
|
||||||
|
},
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
loaders: ['ts-loader?' + JSON.stringify({ transpileOnly: true}), 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico|pdf)$/,
|
||||||
|
loader: 'file-loader',
|
||||||
|
query: {
|
||||||
|
name: '[path][name].[ext]',
|
||||||
|
outputPath: (url)=> {
|
||||||
|
return url.replace('src', 'dist');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'post',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'istanbul-instrumenter-loader',
|
||||||
|
exclude: [
|
||||||
|
/node_modules/,
|
||||||
|
/test/
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
'process.env': {
|
||||||
|
'ENV': JSON.stringify(ENV)
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new webpack.LoaderOptionsPlugin({
|
||||||
|
htmlLoader: {
|
||||||
|
minimize: false // workaround for ng2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
],
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
@@ -21,11 +21,6 @@ module.exports = function (config) {
|
|||||||
{pattern: './node_modules/md-date-time-picker/**/*.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},
|
{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: 'karma-test-shim.js', watched: false},
|
||||||
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
||||||
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
||||||
|
@@ -110,14 +110,5 @@
|
|||||||
"webpack-merge": "2.6.1",
|
"webpack-merge": "2.6.1",
|
||||||
"wsrv": "^0.1.7"
|
"wsrv": "^0.1.7"
|
||||||
},
|
},
|
||||||
"license-check-config": {
|
|
||||||
"src": [
|
|
||||||
"./src/**/*.ts"
|
|
||||||
],
|
|
||||||
"path": "assets/license_header.txt",
|
|
||||||
"blocking": false,
|
|
||||||
"logInfo": false,
|
|
||||||
"logError": true
|
|
||||||
},
|
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require("webpack");
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const commonConfig = require('../config/webpack.common.js');
|
const commonConfig = require('./config/webpack.common.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(commonConfig, {
|
module.exports = webpackMerge(commonConfig, {
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const testConfig = require('../config/webpack.test.js');
|
const testConfig = require('./config/webpack.test.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(testConfig, {
|
module.exports = webpackMerge(testConfig, {
|
||||||
|
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
@@ -0,0 +1,14 @@
|
|||||||
|
@license
|
||||||
|
Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
118
ng2-components/ng2-activiti-tasklist/config/assets/tslint.json
Normal file
118
ng2-components/ng2-activiti-tasklist/config/assets/tslint.json
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"align": [
|
||||||
|
true,
|
||||||
|
"parameters",
|
||||||
|
"statements"
|
||||||
|
],
|
||||||
|
"ban": false,
|
||||||
|
"class-name": true,
|
||||||
|
"comment-format": [
|
||||||
|
true,
|
||||||
|
"check-space"
|
||||||
|
],
|
||||||
|
"curly": true,
|
||||||
|
"eofline": true,
|
||||||
|
"forin": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"spaces"
|
||||||
|
],
|
||||||
|
"interface-name": false,
|
||||||
|
"jsdoc-format": true,
|
||||||
|
"label-position": true,
|
||||||
|
"max-line-length": [
|
||||||
|
true,
|
||||||
|
180
|
||||||
|
],
|
||||||
|
"member-ordering": [
|
||||||
|
true,
|
||||||
|
"static-before-instance",
|
||||||
|
"variables-before-functions"
|
||||||
|
],
|
||||||
|
"no-any": false,
|
||||||
|
"no-arg": true,
|
||||||
|
"no-bitwise": false,
|
||||||
|
"no-conditional-assignment": true,
|
||||||
|
"no-consecutive-blank-lines": true,
|
||||||
|
"no-console": [
|
||||||
|
true,
|
||||||
|
"debug",
|
||||||
|
"info",
|
||||||
|
"time",
|
||||||
|
"timeEnd",
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"no-construct": true,
|
||||||
|
"no-constructor-vars": false,
|
||||||
|
"no-debugger": true,
|
||||||
|
"no-duplicate-variable": true,
|
||||||
|
"no-empty": false,
|
||||||
|
"no-eval": true,
|
||||||
|
"no-inferrable-types": false,
|
||||||
|
"no-internal-module": true,
|
||||||
|
"no-require-imports": false,
|
||||||
|
"no-shadowed-variable": true,
|
||||||
|
"no-switch-case-fall-through": true,
|
||||||
|
"no-trailing-whitespace": true,
|
||||||
|
"no-unused-expression": true,
|
||||||
|
"no-unused-variable": true,
|
||||||
|
"no-use-before-declare": true,
|
||||||
|
"no-var-keyword": true,
|
||||||
|
"no-var-requires": true,
|
||||||
|
"object-literal-sort-keys": false,
|
||||||
|
"one-line": [
|
||||||
|
true,
|
||||||
|
"check-open-brace",
|
||||||
|
"check-catch",
|
||||||
|
"check-else",
|
||||||
|
"check-whitespace"
|
||||||
|
],
|
||||||
|
"quotemark": [
|
||||||
|
true,
|
||||||
|
"single",
|
||||||
|
"avoid-escape"
|
||||||
|
],
|
||||||
|
"radix": true,
|
||||||
|
"semicolon": true,
|
||||||
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": "never",
|
||||||
|
"singleline": "never"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"triple-equals": [
|
||||||
|
true,
|
||||||
|
"allow-null-check"
|
||||||
|
],
|
||||||
|
"typedef": false,
|
||||||
|
"typedef-whitespace": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"call-signature": "nospace",
|
||||||
|
"index-signature": "nospace",
|
||||||
|
"parameter": "nospace",
|
||||||
|
"property-declaration": "nospace",
|
||||||
|
"variable-declaration": "nospace"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"use-strict": false,
|
||||||
|
"variable-name": [
|
||||||
|
true,
|
||||||
|
"check-format",
|
||||||
|
"allow-leading-underscore",
|
||||||
|
"ban-keywords"
|
||||||
|
],
|
||||||
|
"whitespace": [
|
||||||
|
true,
|
||||||
|
"check-branch",
|
||||||
|
"check-operator",
|
||||||
|
"check-separator",
|
||||||
|
"check-type",
|
||||||
|
"check-module",
|
||||||
|
"check-decl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,70 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
|
||||||
|
module.exports = function(content) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
if(!this.emitFile) throw new Error('emitFile is required from module system');
|
||||||
|
|
||||||
|
var query = loaderUtils.getOptions(this) || {};
|
||||||
|
var configKey = query.config || 'multiFileLoader';
|
||||||
|
var options = this.options[configKey] || {};
|
||||||
|
var config = {
|
||||||
|
publicPath: false,
|
||||||
|
useRelativePath: false,
|
||||||
|
name: '[hash].[ext]'
|
||||||
|
};
|
||||||
|
|
||||||
|
// options takes precedence over config
|
||||||
|
Object.keys(options).forEach(function(attr) {
|
||||||
|
config[attr] = options[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
// query takes precedence over config and options
|
||||||
|
Object.keys(query).forEach(function(attr) {
|
||||||
|
config[attr] = query[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
var context = config.context || this.options.context;
|
||||||
|
var url = loaderUtils.interpolateName(this, config.name, {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
var path = loaderUtils.interpolateName(this, '[path]', {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
|
||||||
|
var outputPath = '';
|
||||||
|
|
||||||
|
if (config.outputPath) {
|
||||||
|
outputPath = (
|
||||||
|
typeof config.outputPath === 'function'
|
||||||
|
? config.outputPath(url, path)
|
||||||
|
: config.outputPath + url
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
outputPath = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
var publicPath = JSON.stringify(url);
|
||||||
|
|
||||||
|
if (config.publicPath) {
|
||||||
|
publicPath = JSON.stringify(
|
||||||
|
typeof config.publicPath === 'function'
|
||||||
|
? config.publicPath(url, path)
|
||||||
|
: config.publicPath + url
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
publicPath = '__webpack_public_path__ + ' + publicPath;
|
||||||
|
|
||||||
|
if (query.emitFile === undefined || query.emitFile) {
|
||||||
|
this.emitFile(outputPath, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'module.exports = ' + publicPath + ';';
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.raw = true;
|
@@ -0,0 +1,67 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var licenseFileUtf8Store = undefined;
|
||||||
|
|
||||||
|
function readLicenseHeaderFile(licenseFilePath) {
|
||||||
|
if (licenseFileUtf8Store) {
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fs.existsSync(licenseFilePath)) {
|
||||||
|
licenseFileUtf8Store = fs.readFileSync(licenseFilePath, 'utf8').split(/\r?\n/);
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error('The license header file path is wrong ' + licenseFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isFileEmpty(fileContents) {
|
||||||
|
return fileContents.toString('utf8').trim() === '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function readCurrentFile(fileContent) {
|
||||||
|
return fileContent.toString('utf8').split(/\r?\n/);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLicenseHeaderPresent(currentFileContent, licenseFilePath) {
|
||||||
|
if (!isFileEmpty(currentFileContent)) {
|
||||||
|
var currentFileUtf8 = readCurrentFile(currentFileContent),
|
||||||
|
licenseFileUtf8 = readLicenseHeaderFile(licenseFilePath);
|
||||||
|
skipStrict = 0;
|
||||||
|
|
||||||
|
if(currentFileUtf8[0] === '"use strict";' ) {
|
||||||
|
skipStrict = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = skipStrict; i < licenseFileUtf8.length; i++) {
|
||||||
|
if (currentFileUtf8[i + skipStrict] !== licenseFileUtf8[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function report(hasHeader, emitter, filename) {
|
||||||
|
if (hasHeader) return;
|
||||||
|
emitter('Missing license header file : ' + filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
function licenseCheck(webpackInstance, input, options) {
|
||||||
|
var isLicensePresent = isLicenseHeaderPresent(input, options.licenseFile);
|
||||||
|
|
||||||
|
var emitter = options.emitErrors ? webpackInstance.emitError : webpackInstance.emitWarning;
|
||||||
|
|
||||||
|
report(isLicensePresent, emitter, webpackInstance.resourcePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function(input, map) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
var callback = this.async();
|
||||||
|
|
||||||
|
var options = loaderUtils.getOptions(this);
|
||||||
|
licenseCheck(this, input, options);
|
||||||
|
callback(null, input, map);
|
||||||
|
};
|
10
ng2-components/ng2-activiti-tasklist/config/helpers.js
Normal file
10
ng2-components/ng2-activiti-tasklist/config/helpers.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var _root = path.resolve(__dirname, '..');
|
||||||
|
|
||||||
|
function root(args) {
|
||||||
|
args = Array.prototype.slice.call(arguments, 0);
|
||||||
|
return path.join.apply(path, [_root].concat(args));
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.root = root;
|
124
ng2-components/ng2-activiti-tasklist/config/webpack.common.js
Normal file
124
ng2-components/ng2-activiti-tasklist/config/webpack.common.js
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
resolveLoader: {
|
||||||
|
alias: {
|
||||||
|
"file-multi-loader": path.resolve(__dirname, "./custom-loaders/file-loader-multi"),
|
||||||
|
"license-check": path.resolve(__dirname, "./custom-loaders/license-check")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// require those dependencies but don't bundle them
|
||||||
|
externals: [
|
||||||
|
/^\@angular\//,
|
||||||
|
/^rxjs\//,
|
||||||
|
'moment',
|
||||||
|
'raphael',
|
||||||
|
'ng2-charts',
|
||||||
|
'alfresco-js-api',
|
||||||
|
'ng2-alfresco-core',
|
||||||
|
'ng2-alfresco-datatable',
|
||||||
|
'ng2-activiti-analytics',
|
||||||
|
'ng2-activiti-diagrams',
|
||||||
|
'ng2-activiti-form',
|
||||||
|
"ng2-activiti-tasklist",
|
||||||
|
'ng2-alfresco-documentlist'
|
||||||
|
],
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'tslint-loader',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
configFile: path.resolve(__dirname, './assets/tslint.json')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: ['ts-loader', 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'license-check',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
licenseFile: path.resolve(__dirname, './assets/license_header.txt')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/, /rendering-queue.services.ts/ ],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
|
||||||
|
loader: 'file-multi-loader',
|
||||||
|
query: {
|
||||||
|
name: '[name].[hash].[ext]',
|
||||||
|
outputPath: (url, resourcePath)=> {
|
||||||
|
return resourcePath.replace('src', 'bundles') + url;
|
||||||
|
},
|
||||||
|
publicPath: (url, resourcePath)=> {
|
||||||
|
var component = resourcePath.substring(0, resourcePath.indexOf('src'));
|
||||||
|
var path = resourcePath.replace(component, '').replace('src', 'bundles');
|
||||||
|
return './' + path + url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [
|
||||||
|
'../ng2-components', 'node_modules'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.BannerPlugin(fs.readFileSync(path.resolve(__dirname, './assets/license_header_add.txt'), 'utf8')),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
)
|
||||||
|
],
|
||||||
|
|
||||||
|
devtool: 'cheap-module-source-map',
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
85
ng2-components/ng2-activiti-tasklist/config/webpack.test.js
Normal file
85
ng2-components/ng2-activiti-tasklist/config/webpack.test.js
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
|
||||||
|
const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
devtool: 'inline-source-map',
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [helpers.root('../ng2-components'), helpers.root('node_modules')]
|
||||||
|
},
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
loaders: ['ts-loader?' + JSON.stringify({ transpileOnly: true}), 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico|pdf)$/,
|
||||||
|
loader: 'file-loader',
|
||||||
|
query: {
|
||||||
|
name: '[path][name].[ext]',
|
||||||
|
outputPath: (url)=> {
|
||||||
|
return url.replace('src', 'dist');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'post',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'istanbul-instrumenter-loader',
|
||||||
|
exclude: [
|
||||||
|
/node_modules/,
|
||||||
|
/test/
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
'process.env': {
|
||||||
|
'ENV': JSON.stringify(ENV)
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new webpack.LoaderOptionsPlugin({
|
||||||
|
htmlLoader: {
|
||||||
|
minimize: false // workaround for ng2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
],
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
@@ -21,11 +21,6 @@ module.exports = function (config) {
|
|||||||
{pattern: './node_modules/md-date-time-picker/**/*.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},
|
{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: 'karma-test-shim.js', watched: false},
|
||||||
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
||||||
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
||||||
|
@@ -20,7 +20,6 @@
|
|||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
|
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
|
||||||
},
|
},
|
||||||
"license": "Apache-2.0",
|
|
||||||
"contributors": [
|
"contributors": [
|
||||||
{
|
{
|
||||||
"name": "Maurizio Vitale",
|
"name": "Maurizio Vitale",
|
||||||
@@ -114,13 +113,5 @@
|
|||||||
"webpack-merge": "2.6.1",
|
"webpack-merge": "2.6.1",
|
||||||
"wsrv": "^0.1.7"
|
"wsrv": "^0.1.7"
|
||||||
},
|
},
|
||||||
"license-check-config": {
|
"license": "Apache-2.0"
|
||||||
"src": [
|
|
||||||
"./src/**/*.ts"
|
|
||||||
],
|
|
||||||
"path": "assets/license_header.txt",
|
|
||||||
"blocking": true,
|
|
||||||
"logInfo": false,
|
|
||||||
"logError": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require("webpack");
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const commonConfig = require('../config/webpack.common.js');
|
const commonConfig = require('./config/webpack.common.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(commonConfig, {
|
module.exports = webpackMerge(commonConfig, {
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const testConfig = require('../config/webpack.test.js');
|
const testConfig = require('./config/webpack.test.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(testConfig, {
|
module.exports = webpackMerge(testConfig, {
|
||||||
|
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
@@ -0,0 +1,14 @@
|
|||||||
|
@license
|
||||||
|
Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
118
ng2-components/ng2-alfresco-core/config/assets/tslint.json
Normal file
118
ng2-components/ng2-alfresco-core/config/assets/tslint.json
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"align": [
|
||||||
|
true,
|
||||||
|
"parameters",
|
||||||
|
"statements"
|
||||||
|
],
|
||||||
|
"ban": false,
|
||||||
|
"class-name": true,
|
||||||
|
"comment-format": [
|
||||||
|
true,
|
||||||
|
"check-space"
|
||||||
|
],
|
||||||
|
"curly": true,
|
||||||
|
"eofline": true,
|
||||||
|
"forin": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"spaces"
|
||||||
|
],
|
||||||
|
"interface-name": false,
|
||||||
|
"jsdoc-format": true,
|
||||||
|
"label-position": true,
|
||||||
|
"max-line-length": [
|
||||||
|
true,
|
||||||
|
180
|
||||||
|
],
|
||||||
|
"member-ordering": [
|
||||||
|
true,
|
||||||
|
"static-before-instance",
|
||||||
|
"variables-before-functions"
|
||||||
|
],
|
||||||
|
"no-any": false,
|
||||||
|
"no-arg": true,
|
||||||
|
"no-bitwise": false,
|
||||||
|
"no-conditional-assignment": true,
|
||||||
|
"no-consecutive-blank-lines": true,
|
||||||
|
"no-console": [
|
||||||
|
true,
|
||||||
|
"debug",
|
||||||
|
"info",
|
||||||
|
"time",
|
||||||
|
"timeEnd",
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"no-construct": true,
|
||||||
|
"no-constructor-vars": false,
|
||||||
|
"no-debugger": true,
|
||||||
|
"no-duplicate-variable": true,
|
||||||
|
"no-empty": false,
|
||||||
|
"no-eval": true,
|
||||||
|
"no-inferrable-types": false,
|
||||||
|
"no-internal-module": true,
|
||||||
|
"no-require-imports": false,
|
||||||
|
"no-shadowed-variable": true,
|
||||||
|
"no-switch-case-fall-through": true,
|
||||||
|
"no-trailing-whitespace": true,
|
||||||
|
"no-unused-expression": true,
|
||||||
|
"no-unused-variable": true,
|
||||||
|
"no-use-before-declare": true,
|
||||||
|
"no-var-keyword": true,
|
||||||
|
"no-var-requires": true,
|
||||||
|
"object-literal-sort-keys": false,
|
||||||
|
"one-line": [
|
||||||
|
true,
|
||||||
|
"check-open-brace",
|
||||||
|
"check-catch",
|
||||||
|
"check-else",
|
||||||
|
"check-whitespace"
|
||||||
|
],
|
||||||
|
"quotemark": [
|
||||||
|
true,
|
||||||
|
"single",
|
||||||
|
"avoid-escape"
|
||||||
|
],
|
||||||
|
"radix": true,
|
||||||
|
"semicolon": true,
|
||||||
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": "never",
|
||||||
|
"singleline": "never"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"triple-equals": [
|
||||||
|
true,
|
||||||
|
"allow-null-check"
|
||||||
|
],
|
||||||
|
"typedef": false,
|
||||||
|
"typedef-whitespace": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"call-signature": "nospace",
|
||||||
|
"index-signature": "nospace",
|
||||||
|
"parameter": "nospace",
|
||||||
|
"property-declaration": "nospace",
|
||||||
|
"variable-declaration": "nospace"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"use-strict": false,
|
||||||
|
"variable-name": [
|
||||||
|
true,
|
||||||
|
"check-format",
|
||||||
|
"allow-leading-underscore",
|
||||||
|
"ban-keywords"
|
||||||
|
],
|
||||||
|
"whitespace": [
|
||||||
|
true,
|
||||||
|
"check-branch",
|
||||||
|
"check-operator",
|
||||||
|
"check-separator",
|
||||||
|
"check-type",
|
||||||
|
"check-module",
|
||||||
|
"check-decl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,70 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
|
||||||
|
module.exports = function(content) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
if(!this.emitFile) throw new Error('emitFile is required from module system');
|
||||||
|
|
||||||
|
var query = loaderUtils.getOptions(this) || {};
|
||||||
|
var configKey = query.config || 'multiFileLoader';
|
||||||
|
var options = this.options[configKey] || {};
|
||||||
|
var config = {
|
||||||
|
publicPath: false,
|
||||||
|
useRelativePath: false,
|
||||||
|
name: '[hash].[ext]'
|
||||||
|
};
|
||||||
|
|
||||||
|
// options takes precedence over config
|
||||||
|
Object.keys(options).forEach(function(attr) {
|
||||||
|
config[attr] = options[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
// query takes precedence over config and options
|
||||||
|
Object.keys(query).forEach(function(attr) {
|
||||||
|
config[attr] = query[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
var context = config.context || this.options.context;
|
||||||
|
var url = loaderUtils.interpolateName(this, config.name, {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
var path = loaderUtils.interpolateName(this, '[path]', {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
|
||||||
|
var outputPath = '';
|
||||||
|
|
||||||
|
if (config.outputPath) {
|
||||||
|
outputPath = (
|
||||||
|
typeof config.outputPath === 'function'
|
||||||
|
? config.outputPath(url, path)
|
||||||
|
: config.outputPath + url
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
outputPath = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
var publicPath = JSON.stringify(url);
|
||||||
|
|
||||||
|
if (config.publicPath) {
|
||||||
|
publicPath = JSON.stringify(
|
||||||
|
typeof config.publicPath === 'function'
|
||||||
|
? config.publicPath(url, path)
|
||||||
|
: config.publicPath + url
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
publicPath = '__webpack_public_path__ + ' + publicPath;
|
||||||
|
|
||||||
|
if (query.emitFile === undefined || query.emitFile) {
|
||||||
|
this.emitFile(outputPath, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'module.exports = ' + publicPath + ';';
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.raw = true;
|
@@ -0,0 +1,67 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var licenseFileUtf8Store = undefined;
|
||||||
|
|
||||||
|
function readLicenseHeaderFile(licenseFilePath) {
|
||||||
|
if (licenseFileUtf8Store) {
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fs.existsSync(licenseFilePath)) {
|
||||||
|
licenseFileUtf8Store = fs.readFileSync(licenseFilePath, 'utf8').split(/\r?\n/);
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error('The license header file path is wrong ' + licenseFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isFileEmpty(fileContents) {
|
||||||
|
return fileContents.toString('utf8').trim() === '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function readCurrentFile(fileContent) {
|
||||||
|
return fileContent.toString('utf8').split(/\r?\n/);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLicenseHeaderPresent(currentFileContent, licenseFilePath) {
|
||||||
|
if (!isFileEmpty(currentFileContent)) {
|
||||||
|
var currentFileUtf8 = readCurrentFile(currentFileContent),
|
||||||
|
licenseFileUtf8 = readLicenseHeaderFile(licenseFilePath);
|
||||||
|
skipStrict = 0;
|
||||||
|
|
||||||
|
if(currentFileUtf8[0] === '"use strict";' ) {
|
||||||
|
skipStrict = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = skipStrict; i < licenseFileUtf8.length; i++) {
|
||||||
|
if (currentFileUtf8[i + skipStrict] !== licenseFileUtf8[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function report(hasHeader, emitter, filename) {
|
||||||
|
if (hasHeader) return;
|
||||||
|
emitter('Missing license header file : ' + filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
function licenseCheck(webpackInstance, input, options) {
|
||||||
|
var isLicensePresent = isLicenseHeaderPresent(input, options.licenseFile);
|
||||||
|
|
||||||
|
var emitter = options.emitErrors ? webpackInstance.emitError : webpackInstance.emitWarning;
|
||||||
|
|
||||||
|
report(isLicensePresent, emitter, webpackInstance.resourcePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function(input, map) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
var callback = this.async();
|
||||||
|
|
||||||
|
var options = loaderUtils.getOptions(this);
|
||||||
|
licenseCheck(this, input, options);
|
||||||
|
callback(null, input, map);
|
||||||
|
};
|
10
ng2-components/ng2-alfresco-core/config/helpers.js
Normal file
10
ng2-components/ng2-alfresco-core/config/helpers.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var _root = path.resolve(__dirname, '..');
|
||||||
|
|
||||||
|
function root(args) {
|
||||||
|
args = Array.prototype.slice.call(arguments, 0);
|
||||||
|
return path.join.apply(path, [_root].concat(args));
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.root = root;
|
124
ng2-components/ng2-alfresco-core/config/webpack.common.js
Normal file
124
ng2-components/ng2-alfresco-core/config/webpack.common.js
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
resolveLoader: {
|
||||||
|
alias: {
|
||||||
|
"file-multi-loader": path.resolve(__dirname, "./custom-loaders/file-loader-multi"),
|
||||||
|
"license-check": path.resolve(__dirname, "./custom-loaders/license-check")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// require those dependencies but don't bundle them
|
||||||
|
externals: [
|
||||||
|
/^\@angular\//,
|
||||||
|
/^rxjs\//,
|
||||||
|
'moment',
|
||||||
|
'raphael',
|
||||||
|
'ng2-charts',
|
||||||
|
'alfresco-js-api',
|
||||||
|
'ng2-alfresco-core',
|
||||||
|
'ng2-alfresco-datatable',
|
||||||
|
'ng2-activiti-analytics',
|
||||||
|
'ng2-activiti-diagrams',
|
||||||
|
'ng2-activiti-form',
|
||||||
|
"ng2-activiti-tasklist",
|
||||||
|
'ng2-alfresco-documentlist'
|
||||||
|
],
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'tslint-loader',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
configFile: path.resolve(__dirname, './assets/tslint.json')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: ['ts-loader', 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'license-check',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
licenseFile: path.resolve(__dirname, './assets/license_header.txt')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/, /rendering-queue.services.ts/ ],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
|
||||||
|
loader: 'file-multi-loader',
|
||||||
|
query: {
|
||||||
|
name: '[name].[hash].[ext]',
|
||||||
|
outputPath: (url, resourcePath)=> {
|
||||||
|
return resourcePath.replace('src', 'bundles') + url;
|
||||||
|
},
|
||||||
|
publicPath: (url, resourcePath)=> {
|
||||||
|
var component = resourcePath.substring(0, resourcePath.indexOf('src'));
|
||||||
|
var path = resourcePath.replace(component, '').replace('src', 'bundles');
|
||||||
|
return './' + path + url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [
|
||||||
|
'../ng2-components', 'node_modules'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.BannerPlugin(fs.readFileSync(path.resolve(__dirname, './assets/license_header_add.txt'), 'utf8')),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
)
|
||||||
|
],
|
||||||
|
|
||||||
|
devtool: 'cheap-module-source-map',
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
85
ng2-components/ng2-alfresco-core/config/webpack.test.js
Normal file
85
ng2-components/ng2-alfresco-core/config/webpack.test.js
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
|
||||||
|
const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
devtool: 'inline-source-map',
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [helpers.root('../ng2-components'), helpers.root('node_modules')]
|
||||||
|
},
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
loaders: ['ts-loader?' + JSON.stringify({ transpileOnly: true}), 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico|pdf)$/,
|
||||||
|
loader: 'file-loader',
|
||||||
|
query: {
|
||||||
|
name: '[path][name].[ext]',
|
||||||
|
outputPath: (url)=> {
|
||||||
|
return url.replace('src', 'dist');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'post',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'istanbul-instrumenter-loader',
|
||||||
|
exclude: [
|
||||||
|
/node_modules/,
|
||||||
|
/test/
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
'process.env': {
|
||||||
|
'ENV': JSON.stringify(ENV)
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new webpack.LoaderOptionsPlugin({
|
||||||
|
htmlLoader: {
|
||||||
|
minimize: false // workaround for ng2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
],
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
@@ -21,11 +21,6 @@ module.exports = function (config) {
|
|||||||
{pattern: './node_modules/md-date-time-picker/**/*.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},
|
{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: 'karma-test-shim.js', watched: false},
|
||||||
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
||||||
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
||||||
|
@@ -5,7 +5,6 @@
|
|||||||
"author": "Alfresco Software, Ltd.",
|
"author": "Alfresco Software, Ltd.",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"clean": "rimraf dist node_modules typings bundles coverage .npmrc",
|
"clean": "rimraf dist node_modules typings bundles coverage .npmrc",
|
||||||
"rimraf": "rimraf",
|
|
||||||
"build": "webpack --config webpack.build.js --progress --profile --bail",
|
"build": "webpack --config webpack.build.js --progress --profile --bail",
|
||||||
"test": "karma start karma.conf.js --reporters mocha,coverage --single-run --component",
|
"test": "karma start karma.conf.js --reporters mocha,coverage --single-run --component",
|
||||||
"test-browser": "karma start karma.conf.js --reporters kjhtml --component",
|
"test-browser": "karma start karma.conf.js --reporters kjhtml --component",
|
||||||
@@ -20,7 +19,6 @@
|
|||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
|
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
|
||||||
},
|
},
|
||||||
"license": "Apache-2.0",
|
|
||||||
"contributors": [
|
"contributors": [
|
||||||
{
|
{
|
||||||
"name": "Denys Vuika",
|
"name": "Denys Vuika",
|
||||||
@@ -120,13 +118,5 @@
|
|||||||
"webpack-merge": "2.6.1",
|
"webpack-merge": "2.6.1",
|
||||||
"wsrv": "^0.1.7"
|
"wsrv": "^0.1.7"
|
||||||
},
|
},
|
||||||
"license-check-config": {
|
"license": "Apache-2.0"
|
||||||
"src": [
|
|
||||||
"./src/**/*.ts"
|
|
||||||
],
|
|
||||||
"path": "assets/license_header.txt",
|
|
||||||
"blocking": true,
|
|
||||||
"logInfo": false,
|
|
||||||
"logError": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -47,14 +47,13 @@ describe('NotificationService', () => {
|
|||||||
|
|
||||||
it('should open a message notification bar', (done) => {
|
it('should open a message notification bar', (done) => {
|
||||||
let promise = fixture.componentInstance.sendMessage();
|
let promise = fixture.componentInstance.sendMessage();
|
||||||
|
promise.afterDismissed().subscribe(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
expect(document.querySelector('snack-bar-container')).not.toBeNull();
|
expect(document.querySelector('snack-bar-container')).not.toBeNull();
|
||||||
|
|
||||||
promise.afterDismissed().subscribe(() => {
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -62,15 +61,14 @@ describe('NotificationService', () => {
|
|||||||
|
|
||||||
it('should open a message notification bar with action', (done) => {
|
it('should open a message notification bar with action', (done) => {
|
||||||
let promise = fixture.componentInstance.sendMessageAction();
|
let promise = fixture.componentInstance.sendMessageAction();
|
||||||
|
promise.afterDismissed().subscribe(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
expect(document.querySelector('snack-bar-container')).not.toBeNull();
|
expect(document.querySelector('snack-bar-container')).not.toBeNull();
|
||||||
expect(document.querySelector('.md-simple-snackbar-action')).not.toBeNull();
|
expect(document.querySelector('.md-simple-snackbar-action')).not.toBeNull();
|
||||||
|
|
||||||
promise.afterDismissed().subscribe(() => {
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -86,12 +84,12 @@ class ComponentThatProvidesNotificationService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sendMessage() {
|
sendMessage() {
|
||||||
let promise = this.notificationService.openSnackMessage('Test notification', 2000);
|
let promise = this.notificationService.openSnackMessage('Test notification', 5000);
|
||||||
return promise;
|
return promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
sendMessageAction() {
|
sendMessageAction() {
|
||||||
let promise = this.notificationService.openSnackMessageAction('Test notification', 'TestWarn', 2000);
|
let promise = this.notificationService.openSnackMessageAction('Test notification', 'TestWarn', 5000);
|
||||||
return promise;
|
return promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require("webpack");
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const commonConfig = require('../config/webpack.common.js');
|
const commonConfig = require('./config/webpack.common.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(commonConfig, {
|
module.exports = webpackMerge(commonConfig, {
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const testConfig = require('../config/webpack.test.js');
|
const testConfig = require('./config/webpack.test.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(testConfig, {
|
module.exports = webpackMerge(testConfig, {
|
||||||
|
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
@@ -0,0 +1,14 @@
|
|||||||
|
@license
|
||||||
|
Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
118
ng2-components/ng2-alfresco-datatable/config/assets/tslint.json
Normal file
118
ng2-components/ng2-alfresco-datatable/config/assets/tslint.json
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"align": [
|
||||||
|
true,
|
||||||
|
"parameters",
|
||||||
|
"statements"
|
||||||
|
],
|
||||||
|
"ban": false,
|
||||||
|
"class-name": true,
|
||||||
|
"comment-format": [
|
||||||
|
true,
|
||||||
|
"check-space"
|
||||||
|
],
|
||||||
|
"curly": true,
|
||||||
|
"eofline": true,
|
||||||
|
"forin": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"spaces"
|
||||||
|
],
|
||||||
|
"interface-name": false,
|
||||||
|
"jsdoc-format": true,
|
||||||
|
"label-position": true,
|
||||||
|
"max-line-length": [
|
||||||
|
true,
|
||||||
|
180
|
||||||
|
],
|
||||||
|
"member-ordering": [
|
||||||
|
true,
|
||||||
|
"static-before-instance",
|
||||||
|
"variables-before-functions"
|
||||||
|
],
|
||||||
|
"no-any": false,
|
||||||
|
"no-arg": true,
|
||||||
|
"no-bitwise": false,
|
||||||
|
"no-conditional-assignment": true,
|
||||||
|
"no-consecutive-blank-lines": true,
|
||||||
|
"no-console": [
|
||||||
|
true,
|
||||||
|
"debug",
|
||||||
|
"info",
|
||||||
|
"time",
|
||||||
|
"timeEnd",
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"no-construct": true,
|
||||||
|
"no-constructor-vars": false,
|
||||||
|
"no-debugger": true,
|
||||||
|
"no-duplicate-variable": true,
|
||||||
|
"no-empty": false,
|
||||||
|
"no-eval": true,
|
||||||
|
"no-inferrable-types": false,
|
||||||
|
"no-internal-module": true,
|
||||||
|
"no-require-imports": false,
|
||||||
|
"no-shadowed-variable": true,
|
||||||
|
"no-switch-case-fall-through": true,
|
||||||
|
"no-trailing-whitespace": true,
|
||||||
|
"no-unused-expression": true,
|
||||||
|
"no-unused-variable": true,
|
||||||
|
"no-use-before-declare": true,
|
||||||
|
"no-var-keyword": true,
|
||||||
|
"no-var-requires": true,
|
||||||
|
"object-literal-sort-keys": false,
|
||||||
|
"one-line": [
|
||||||
|
true,
|
||||||
|
"check-open-brace",
|
||||||
|
"check-catch",
|
||||||
|
"check-else",
|
||||||
|
"check-whitespace"
|
||||||
|
],
|
||||||
|
"quotemark": [
|
||||||
|
true,
|
||||||
|
"single",
|
||||||
|
"avoid-escape"
|
||||||
|
],
|
||||||
|
"radix": true,
|
||||||
|
"semicolon": true,
|
||||||
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": "never",
|
||||||
|
"singleline": "never"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"triple-equals": [
|
||||||
|
true,
|
||||||
|
"allow-null-check"
|
||||||
|
],
|
||||||
|
"typedef": false,
|
||||||
|
"typedef-whitespace": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"call-signature": "nospace",
|
||||||
|
"index-signature": "nospace",
|
||||||
|
"parameter": "nospace",
|
||||||
|
"property-declaration": "nospace",
|
||||||
|
"variable-declaration": "nospace"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"use-strict": false,
|
||||||
|
"variable-name": [
|
||||||
|
true,
|
||||||
|
"check-format",
|
||||||
|
"allow-leading-underscore",
|
||||||
|
"ban-keywords"
|
||||||
|
],
|
||||||
|
"whitespace": [
|
||||||
|
true,
|
||||||
|
"check-branch",
|
||||||
|
"check-operator",
|
||||||
|
"check-separator",
|
||||||
|
"check-type",
|
||||||
|
"check-module",
|
||||||
|
"check-decl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,70 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
|
||||||
|
module.exports = function(content) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
if(!this.emitFile) throw new Error('emitFile is required from module system');
|
||||||
|
|
||||||
|
var query = loaderUtils.getOptions(this) || {};
|
||||||
|
var configKey = query.config || 'multiFileLoader';
|
||||||
|
var options = this.options[configKey] || {};
|
||||||
|
var config = {
|
||||||
|
publicPath: false,
|
||||||
|
useRelativePath: false,
|
||||||
|
name: '[hash].[ext]'
|
||||||
|
};
|
||||||
|
|
||||||
|
// options takes precedence over config
|
||||||
|
Object.keys(options).forEach(function(attr) {
|
||||||
|
config[attr] = options[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
// query takes precedence over config and options
|
||||||
|
Object.keys(query).forEach(function(attr) {
|
||||||
|
config[attr] = query[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
var context = config.context || this.options.context;
|
||||||
|
var url = loaderUtils.interpolateName(this, config.name, {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
var path = loaderUtils.interpolateName(this, '[path]', {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
|
||||||
|
var outputPath = '';
|
||||||
|
|
||||||
|
if (config.outputPath) {
|
||||||
|
outputPath = (
|
||||||
|
typeof config.outputPath === 'function'
|
||||||
|
? config.outputPath(url, path)
|
||||||
|
: config.outputPath + url
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
outputPath = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
var publicPath = JSON.stringify(url);
|
||||||
|
|
||||||
|
if (config.publicPath) {
|
||||||
|
publicPath = JSON.stringify(
|
||||||
|
typeof config.publicPath === 'function'
|
||||||
|
? config.publicPath(url, path)
|
||||||
|
: config.publicPath + url
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
publicPath = '__webpack_public_path__ + ' + publicPath;
|
||||||
|
|
||||||
|
if (query.emitFile === undefined || query.emitFile) {
|
||||||
|
this.emitFile(outputPath, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'module.exports = ' + publicPath + ';';
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.raw = true;
|
@@ -0,0 +1,67 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var licenseFileUtf8Store = undefined;
|
||||||
|
|
||||||
|
function readLicenseHeaderFile(licenseFilePath) {
|
||||||
|
if (licenseFileUtf8Store) {
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fs.existsSync(licenseFilePath)) {
|
||||||
|
licenseFileUtf8Store = fs.readFileSync(licenseFilePath, 'utf8').split(/\r?\n/);
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error('The license header file path is wrong ' + licenseFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isFileEmpty(fileContents) {
|
||||||
|
return fileContents.toString('utf8').trim() === '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function readCurrentFile(fileContent) {
|
||||||
|
return fileContent.toString('utf8').split(/\r?\n/);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLicenseHeaderPresent(currentFileContent, licenseFilePath) {
|
||||||
|
if (!isFileEmpty(currentFileContent)) {
|
||||||
|
var currentFileUtf8 = readCurrentFile(currentFileContent),
|
||||||
|
licenseFileUtf8 = readLicenseHeaderFile(licenseFilePath);
|
||||||
|
skipStrict = 0;
|
||||||
|
|
||||||
|
if(currentFileUtf8[0] === '"use strict";' ) {
|
||||||
|
skipStrict = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = skipStrict; i < licenseFileUtf8.length; i++) {
|
||||||
|
if (currentFileUtf8[i + skipStrict] !== licenseFileUtf8[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function report(hasHeader, emitter, filename) {
|
||||||
|
if (hasHeader) return;
|
||||||
|
emitter('Missing license header file : ' + filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
function licenseCheck(webpackInstance, input, options) {
|
||||||
|
var isLicensePresent = isLicenseHeaderPresent(input, options.licenseFile);
|
||||||
|
|
||||||
|
var emitter = options.emitErrors ? webpackInstance.emitError : webpackInstance.emitWarning;
|
||||||
|
|
||||||
|
report(isLicensePresent, emitter, webpackInstance.resourcePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function(input, map) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
var callback = this.async();
|
||||||
|
|
||||||
|
var options = loaderUtils.getOptions(this);
|
||||||
|
licenseCheck(this, input, options);
|
||||||
|
callback(null, input, map);
|
||||||
|
};
|
10
ng2-components/ng2-alfresco-datatable/config/helpers.js
Normal file
10
ng2-components/ng2-alfresco-datatable/config/helpers.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var _root = path.resolve(__dirname, '..');
|
||||||
|
|
||||||
|
function root(args) {
|
||||||
|
args = Array.prototype.slice.call(arguments, 0);
|
||||||
|
return path.join.apply(path, [_root].concat(args));
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.root = root;
|
124
ng2-components/ng2-alfresco-datatable/config/webpack.common.js
Normal file
124
ng2-components/ng2-alfresco-datatable/config/webpack.common.js
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
resolveLoader: {
|
||||||
|
alias: {
|
||||||
|
"file-multi-loader": path.resolve(__dirname, "./custom-loaders/file-loader-multi"),
|
||||||
|
"license-check": path.resolve(__dirname, "./custom-loaders/license-check")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// require those dependencies but don't bundle them
|
||||||
|
externals: [
|
||||||
|
/^\@angular\//,
|
||||||
|
/^rxjs\//,
|
||||||
|
'moment',
|
||||||
|
'raphael',
|
||||||
|
'ng2-charts',
|
||||||
|
'alfresco-js-api',
|
||||||
|
'ng2-alfresco-core',
|
||||||
|
'ng2-alfresco-datatable',
|
||||||
|
'ng2-activiti-analytics',
|
||||||
|
'ng2-activiti-diagrams',
|
||||||
|
'ng2-activiti-form',
|
||||||
|
"ng2-activiti-tasklist",
|
||||||
|
'ng2-alfresco-documentlist'
|
||||||
|
],
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'tslint-loader',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
configFile: path.resolve(__dirname, './assets/tslint.json')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: ['ts-loader', 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'license-check',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
licenseFile: path.resolve(__dirname, './assets/license_header.txt')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/, /rendering-queue.services.ts/ ],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
|
||||||
|
loader: 'file-multi-loader',
|
||||||
|
query: {
|
||||||
|
name: '[name].[hash].[ext]',
|
||||||
|
outputPath: (url, resourcePath)=> {
|
||||||
|
return resourcePath.replace('src', 'bundles') + url;
|
||||||
|
},
|
||||||
|
publicPath: (url, resourcePath)=> {
|
||||||
|
var component = resourcePath.substring(0, resourcePath.indexOf('src'));
|
||||||
|
var path = resourcePath.replace(component, '').replace('src', 'bundles');
|
||||||
|
return './' + path + url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [
|
||||||
|
'../ng2-components', 'node_modules'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.BannerPlugin(fs.readFileSync(path.resolve(__dirname, './assets/license_header_add.txt'), 'utf8')),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
)
|
||||||
|
],
|
||||||
|
|
||||||
|
devtool: 'cheap-module-source-map',
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
85
ng2-components/ng2-alfresco-datatable/config/webpack.test.js
Normal file
85
ng2-components/ng2-alfresco-datatable/config/webpack.test.js
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
|
||||||
|
const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
devtool: 'inline-source-map',
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [helpers.root('../ng2-components'), helpers.root('node_modules')]
|
||||||
|
},
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
loaders: ['ts-loader?' + JSON.stringify({ transpileOnly: true}), 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico|pdf)$/,
|
||||||
|
loader: 'file-loader',
|
||||||
|
query: {
|
||||||
|
name: '[path][name].[ext]',
|
||||||
|
outputPath: (url)=> {
|
||||||
|
return url.replace('src', 'dist');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'post',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'istanbul-instrumenter-loader',
|
||||||
|
exclude: [
|
||||||
|
/node_modules/,
|
||||||
|
/test/
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
'process.env': {
|
||||||
|
'ENV': JSON.stringify(ENV)
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new webpack.LoaderOptionsPlugin({
|
||||||
|
htmlLoader: {
|
||||||
|
minimize: false // workaround for ng2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
],
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
@@ -21,11 +21,6 @@ module.exports = function (config) {
|
|||||||
{pattern: './node_modules/md-date-time-picker/**/*.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},
|
{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: 'karma-test-shim.js', watched: false},
|
||||||
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
||||||
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
||||||
|
@@ -20,7 +20,6 @@
|
|||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
|
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
|
||||||
},
|
},
|
||||||
"license": "Apache-2.0",
|
|
||||||
"contributors": [
|
"contributors": [
|
||||||
{
|
{
|
||||||
"name": "Denys Vuika",
|
"name": "Denys Vuika",
|
||||||
@@ -106,13 +105,5 @@
|
|||||||
"webpack-merge": "2.6.1",
|
"webpack-merge": "2.6.1",
|
||||||
"wsrv": "^0.1.7"
|
"wsrv": "^0.1.7"
|
||||||
},
|
},
|
||||||
"license-check-config": {
|
"license": "Apache-2.0"
|
||||||
"src": [
|
|
||||||
"./src/**/*.ts"
|
|
||||||
],
|
|
||||||
"path": "assets/license_header.txt",
|
|
||||||
"blocking": true,
|
|
||||||
"logInfo": false,
|
|
||||||
"logError": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require("webpack");
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const commonConfig = require('../config/webpack.common.js');
|
const commonConfig = require('./config/webpack.common.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(commonConfig, {
|
module.exports = webpackMerge(commonConfig, {
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const testConfig = require('../config/webpack.test.js');
|
const testConfig = require('./config/webpack.test.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(testConfig, {
|
module.exports = webpackMerge(testConfig, {
|
||||||
|
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
@@ -0,0 +1,14 @@
|
|||||||
|
@license
|
||||||
|
Copyright 2016 Alfresco Software, Ltd.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"align": [
|
||||||
|
true,
|
||||||
|
"parameters",
|
||||||
|
"statements"
|
||||||
|
],
|
||||||
|
"ban": false,
|
||||||
|
"class-name": true,
|
||||||
|
"comment-format": [
|
||||||
|
true,
|
||||||
|
"check-space"
|
||||||
|
],
|
||||||
|
"curly": true,
|
||||||
|
"eofline": true,
|
||||||
|
"forin": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"spaces"
|
||||||
|
],
|
||||||
|
"interface-name": false,
|
||||||
|
"jsdoc-format": true,
|
||||||
|
"label-position": true,
|
||||||
|
"max-line-length": [
|
||||||
|
true,
|
||||||
|
180
|
||||||
|
],
|
||||||
|
"member-ordering": [
|
||||||
|
true,
|
||||||
|
"static-before-instance",
|
||||||
|
"variables-before-functions"
|
||||||
|
],
|
||||||
|
"no-any": false,
|
||||||
|
"no-arg": true,
|
||||||
|
"no-bitwise": false,
|
||||||
|
"no-conditional-assignment": true,
|
||||||
|
"no-consecutive-blank-lines": true,
|
||||||
|
"no-console": [
|
||||||
|
true,
|
||||||
|
"debug",
|
||||||
|
"info",
|
||||||
|
"time",
|
||||||
|
"timeEnd",
|
||||||
|
"trace"
|
||||||
|
],
|
||||||
|
"no-construct": true,
|
||||||
|
"no-constructor-vars": false,
|
||||||
|
"no-debugger": true,
|
||||||
|
"no-duplicate-variable": true,
|
||||||
|
"no-empty": false,
|
||||||
|
"no-eval": true,
|
||||||
|
"no-inferrable-types": false,
|
||||||
|
"no-internal-module": true,
|
||||||
|
"no-require-imports": false,
|
||||||
|
"no-shadowed-variable": true,
|
||||||
|
"no-switch-case-fall-through": true,
|
||||||
|
"no-trailing-whitespace": true,
|
||||||
|
"no-unused-expression": true,
|
||||||
|
"no-unused-variable": true,
|
||||||
|
"no-use-before-declare": true,
|
||||||
|
"no-var-keyword": true,
|
||||||
|
"no-var-requires": true,
|
||||||
|
"object-literal-sort-keys": false,
|
||||||
|
"one-line": [
|
||||||
|
true,
|
||||||
|
"check-open-brace",
|
||||||
|
"check-catch",
|
||||||
|
"check-else",
|
||||||
|
"check-whitespace"
|
||||||
|
],
|
||||||
|
"quotemark": [
|
||||||
|
true,
|
||||||
|
"single",
|
||||||
|
"avoid-escape"
|
||||||
|
],
|
||||||
|
"radix": true,
|
||||||
|
"semicolon": true,
|
||||||
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": "never",
|
||||||
|
"singleline": "never"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"triple-equals": [
|
||||||
|
true,
|
||||||
|
"allow-null-check"
|
||||||
|
],
|
||||||
|
"typedef": false,
|
||||||
|
"typedef-whitespace": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"call-signature": "nospace",
|
||||||
|
"index-signature": "nospace",
|
||||||
|
"parameter": "nospace",
|
||||||
|
"property-declaration": "nospace",
|
||||||
|
"variable-declaration": "nospace"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"use-strict": false,
|
||||||
|
"variable-name": [
|
||||||
|
true,
|
||||||
|
"check-format",
|
||||||
|
"allow-leading-underscore",
|
||||||
|
"ban-keywords"
|
||||||
|
],
|
||||||
|
"whitespace": [
|
||||||
|
true,
|
||||||
|
"check-branch",
|
||||||
|
"check-operator",
|
||||||
|
"check-separator",
|
||||||
|
"check-type",
|
||||||
|
"check-module",
|
||||||
|
"check-decl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,70 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
|
||||||
|
module.exports = function(content) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
if(!this.emitFile) throw new Error('emitFile is required from module system');
|
||||||
|
|
||||||
|
var query = loaderUtils.getOptions(this) || {};
|
||||||
|
var configKey = query.config || 'multiFileLoader';
|
||||||
|
var options = this.options[configKey] || {};
|
||||||
|
var config = {
|
||||||
|
publicPath: false,
|
||||||
|
useRelativePath: false,
|
||||||
|
name: '[hash].[ext]'
|
||||||
|
};
|
||||||
|
|
||||||
|
// options takes precedence over config
|
||||||
|
Object.keys(options).forEach(function(attr) {
|
||||||
|
config[attr] = options[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
// query takes precedence over config and options
|
||||||
|
Object.keys(query).forEach(function(attr) {
|
||||||
|
config[attr] = query[attr];
|
||||||
|
});
|
||||||
|
|
||||||
|
var context = config.context || this.options.context;
|
||||||
|
var url = loaderUtils.interpolateName(this, config.name, {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
var path = loaderUtils.interpolateName(this, '[path]', {
|
||||||
|
context: context,
|
||||||
|
content: content,
|
||||||
|
regExp: config.regExp
|
||||||
|
});
|
||||||
|
|
||||||
|
var outputPath = '';
|
||||||
|
|
||||||
|
if (config.outputPath) {
|
||||||
|
outputPath = (
|
||||||
|
typeof config.outputPath === 'function'
|
||||||
|
? config.outputPath(url, path)
|
||||||
|
: config.outputPath + url
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
outputPath = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
var publicPath = JSON.stringify(url);
|
||||||
|
|
||||||
|
if (config.publicPath) {
|
||||||
|
publicPath = JSON.stringify(
|
||||||
|
typeof config.publicPath === 'function'
|
||||||
|
? config.publicPath(url, path)
|
||||||
|
: config.publicPath + url
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
publicPath = '__webpack_public_path__ + ' + publicPath;
|
||||||
|
|
||||||
|
if (query.emitFile === undefined || query.emitFile) {
|
||||||
|
this.emitFile(outputPath, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'module.exports = ' + publicPath + ';';
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.raw = true;
|
@@ -0,0 +1,67 @@
|
|||||||
|
var path = require('path');
|
||||||
|
var loaderUtils = require('loader-utils');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var licenseFileUtf8Store = undefined;
|
||||||
|
|
||||||
|
function readLicenseHeaderFile(licenseFilePath) {
|
||||||
|
if (licenseFileUtf8Store) {
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fs.existsSync(licenseFilePath)) {
|
||||||
|
licenseFileUtf8Store = fs.readFileSync(licenseFilePath, 'utf8').split(/\r?\n/);
|
||||||
|
return licenseFileUtf8Store;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error('The license header file path is wrong ' + licenseFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isFileEmpty(fileContents) {
|
||||||
|
return fileContents.toString('utf8').trim() === '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function readCurrentFile(fileContent) {
|
||||||
|
return fileContent.toString('utf8').split(/\r?\n/);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLicenseHeaderPresent(currentFileContent, licenseFilePath) {
|
||||||
|
if (!isFileEmpty(currentFileContent)) {
|
||||||
|
var currentFileUtf8 = readCurrentFile(currentFileContent),
|
||||||
|
licenseFileUtf8 = readLicenseHeaderFile(licenseFilePath);
|
||||||
|
skipStrict = 0;
|
||||||
|
|
||||||
|
if(currentFileUtf8[0] === '"use strict";' ) {
|
||||||
|
skipStrict = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = skipStrict; i < licenseFileUtf8.length; i++) {
|
||||||
|
if (currentFileUtf8[i + skipStrict] !== licenseFileUtf8[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function report(hasHeader, emitter, filename) {
|
||||||
|
if (hasHeader) return;
|
||||||
|
emitter('Missing license header file : ' + filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
function licenseCheck(webpackInstance, input, options) {
|
||||||
|
var isLicensePresent = isLicenseHeaderPresent(input, options.licenseFile);
|
||||||
|
|
||||||
|
var emitter = options.emitErrors ? webpackInstance.emitError : webpackInstance.emitWarning;
|
||||||
|
|
||||||
|
report(isLicensePresent, emitter, webpackInstance.resourcePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function(input, map) {
|
||||||
|
this.cacheable && this.cacheable();
|
||||||
|
var callback = this.async();
|
||||||
|
|
||||||
|
var options = loaderUtils.getOptions(this);
|
||||||
|
licenseCheck(this, input, options);
|
||||||
|
callback(null, input, map);
|
||||||
|
};
|
10
ng2-components/ng2-alfresco-documentlist/config/helpers.js
Normal file
10
ng2-components/ng2-alfresco-documentlist/config/helpers.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var _root = path.resolve(__dirname, '..');
|
||||||
|
|
||||||
|
function root(args) {
|
||||||
|
args = Array.prototype.slice.call(arguments, 0);
|
||||||
|
return path.join.apply(path, [_root].concat(args));
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.root = root;
|
@@ -0,0 +1,124 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
resolveLoader: {
|
||||||
|
alias: {
|
||||||
|
"file-multi-loader": path.resolve(__dirname, "./custom-loaders/file-loader-multi"),
|
||||||
|
"license-check": path.resolve(__dirname, "./custom-loaders/license-check")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// require those dependencies but don't bundle them
|
||||||
|
externals: [
|
||||||
|
/^\@angular\//,
|
||||||
|
/^rxjs\//,
|
||||||
|
'moment',
|
||||||
|
'raphael',
|
||||||
|
'ng2-charts',
|
||||||
|
'alfresco-js-api',
|
||||||
|
'ng2-alfresco-core',
|
||||||
|
'ng2-alfresco-datatable',
|
||||||
|
'ng2-activiti-analytics',
|
||||||
|
'ng2-activiti-diagrams',
|
||||||
|
'ng2-activiti-form',
|
||||||
|
"ng2-activiti-tasklist",
|
||||||
|
'ng2-alfresco-documentlist'
|
||||||
|
],
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'tslint-loader',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
configFile: path.resolve(__dirname, './assets/tslint.json')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
use: ['ts-loader', 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'license-check',
|
||||||
|
options: {
|
||||||
|
emitErrors: true,
|
||||||
|
licenseFile: path.resolve(__dirname, './assets/license_header.txt')
|
||||||
|
},
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/, /rendering-queue.services.ts/ ],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
|
||||||
|
loader: 'file-multi-loader',
|
||||||
|
query: {
|
||||||
|
name: '[name].[hash].[ext]',
|
||||||
|
outputPath: (url, resourcePath)=> {
|
||||||
|
return resourcePath.replace('src', 'bundles') + url;
|
||||||
|
},
|
||||||
|
publicPath: (url, resourcePath)=> {
|
||||||
|
var component = resourcePath.substring(0, resourcePath.indexOf('src'));
|
||||||
|
var path = resourcePath.replace(component, '').replace('src', 'bundles');
|
||||||
|
return './' + path + url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [
|
||||||
|
'../ng2-components', 'node_modules'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.BannerPlugin(fs.readFileSync(path.resolve(__dirname, './assets/license_header_add.txt'), 'utf8')),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
)
|
||||||
|
],
|
||||||
|
|
||||||
|
devtool: 'cheap-module-source-map',
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
@@ -0,0 +1,85 @@
|
|||||||
|
const webpack = require('webpack');
|
||||||
|
const helpers = require('./helpers');
|
||||||
|
|
||||||
|
const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
devtool: 'inline-source-map',
|
||||||
|
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
symlinks: false,
|
||||||
|
modules: [helpers.root('../ng2-components'), helpers.root('node_modules')]
|
||||||
|
},
|
||||||
|
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'source-map-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.ts$/,
|
||||||
|
loaders: ['ts-loader?' + JSON.stringify({ transpileOnly: true}), 'angular2-template-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.html$/,
|
||||||
|
loader: 'html-loader',
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ['to-string-loader', 'css-loader'],
|
||||||
|
exclude: [/node_modules/, /bundles/, /dist/, /demo/]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico|pdf)$/,
|
||||||
|
loader: 'file-loader',
|
||||||
|
query: {
|
||||||
|
name: '[path][name].[ext]',
|
||||||
|
outputPath: (url)=> {
|
||||||
|
return url.replace('src', 'dist');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'post',
|
||||||
|
test: /\.ts$/,
|
||||||
|
loader: 'istanbul-instrumenter-loader',
|
||||||
|
exclude: [
|
||||||
|
/node_modules/,
|
||||||
|
/test/
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||||||
|
|
||||||
|
new webpack.ContextReplacementPlugin(
|
||||||
|
/angular(\\|\/)core(\\|\/)@angular/,
|
||||||
|
helpers.root('./src'),
|
||||||
|
{}
|
||||||
|
),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
'process.env': {
|
||||||
|
'ENV': JSON.stringify(ENV)
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new webpack.LoaderOptionsPlugin({
|
||||||
|
htmlLoader: {
|
||||||
|
minimize: false // workaround for ng2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
],
|
||||||
|
|
||||||
|
node: {
|
||||||
|
fs: 'empty',
|
||||||
|
module: false
|
||||||
|
}
|
||||||
|
};
|
@@ -21,11 +21,6 @@ module.exports = function (config) {
|
|||||||
{pattern: './node_modules/md-date-time-picker/**/*.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},
|
{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: 'karma-test-shim.js', watched: false},
|
||||||
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/assets/**/*.*', included: false, served: true, watched: false},
|
||||||
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
{pattern: './src/i18n/**/*.*', included: false, served: true, watched: false},
|
||||||
|
@@ -20,7 +20,6 @@
|
|||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
|
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
|
||||||
},
|
},
|
||||||
"license": "Apache-2.0",
|
|
||||||
"contributors": [
|
"contributors": [
|
||||||
{
|
{
|
||||||
"name": "Denys Vuika",
|
"name": "Denys Vuika",
|
||||||
@@ -115,13 +114,5 @@
|
|||||||
"webpack-merge": "2.6.1",
|
"webpack-merge": "2.6.1",
|
||||||
"wsrv": "^0.1.7"
|
"wsrv": "^0.1.7"
|
||||||
},
|
},
|
||||||
"license-check-config": {
|
"license": "Apache-2.0"
|
||||||
"src": [
|
|
||||||
"./src/**/*.ts"
|
|
||||||
],
|
|
||||||
"path": "assets/license_header.txt",
|
|
||||||
"blocking": true,
|
|
||||||
"logInfo": false,
|
|
||||||
"logError": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require("webpack");
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const commonConfig = require('../config/webpack.common.js');
|
const commonConfig = require('./config/webpack.common.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(commonConfig, {
|
module.exports = webpackMerge(commonConfig, {
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const webpackMerge = require('webpack-merge');
|
const webpackMerge = require('webpack-merge');
|
||||||
const testConfig = require('../config/webpack.test.js');
|
const testConfig = require('./config/webpack.test.js');
|
||||||
|
|
||||||
module.exports = webpackMerge(testConfig, {
|
module.exports = webpackMerge(testConfig, {
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user