From 354e8e2f75cf2e2d5c9bc16f397f51f29804a2eb Mon Sep 17 00:00:00 2001 From: Christian Crowhurst Date: Mon, 26 Sep 2016 19:08:11 +0100 Subject: [PATCH 1/9] chore(build): abandon use of linklocal In the end linklocal was causing to many problems: 1. duplicate typescript type declaration errors 2. friction with shrinkwrap and install/uninstall of deps The problem with duplicate declaration errors might be solveable either by: 1. ensuring demo-app and library code being organised into sibling folders that do NOT share a common node_modules parent folder 2. somehow teaching awsome-typescript-loader about where to resolve the @types (or maybe it's a bug in the vs of loader we're using as duplicate type errors have been removed as of typescript v2) --- .gitignore | 4 -- .npmignore | 1 + .travis.yml | 4 +- circle.yml | 2 +- demo-apps/es5/npm-shrinkwrap.json | 10 +++-- demo-apps/es5/package.json | 18 +++----- demo-apps/es6-systemjs/npm-shrinkwrap.json | 10 +++-- demo-apps/es6-systemjs/package.json | 18 +++----- demo-apps/es6-webpack/npm-shrinkwrap.json | 10 +++-- demo-apps/es6-webpack/package.json | 14 +------ demo-apps/es6-webpack/webpack.config.js | 4 +- demo-apps/ts-webpack/.gitignore | 4 ++ demo-apps/ts-webpack/npm-shrinkwrap.json | 10 +++-- demo-apps/ts-webpack/package.json | 17 ++------ demo-apps/ts-webpack/src/global.d.ts | 7 ++++ demo-apps/ts-webpack/tsconfig.json | 5 +-- demo-apps/ts-webpack/webpack.config.js | 4 +- npm-shrinkwrap.json | 48 +++------------------- package.json | 17 ++++---- scripts/webpack/appParts.js | 18 -------- 20 files changed, 71 insertions(+), 154 deletions(-) create mode 100644 demo-apps/ts-webpack/.gitignore create mode 100644 demo-apps/ts-webpack/src/global.d.ts diff --git a/.gitignore b/.gitignore index f715b2ad..df324433 100644 --- a/.gitignore +++ b/.gitignore @@ -14,9 +14,6 @@ e2e/**/*.js.map e2e/**/*.d.ts !e2e/**/global.d.ts !e2e/protractor*.js -demo-apps/ts-webpack/src/**/*.js -demo-apps/ts-webpack/src/**/*.js.map -demo-apps/ts-webpack/src/**/*.d.ts !demo-apps/es5/index.js !demo-apps/es6-systemjs/index.js test/**/*.d.ts @@ -24,7 +21,6 @@ test/**/*.js.map test/**/*.js !test/index.js !test/index.d.ts -# redundant webpack build artifacts produced by ExtractTextPlugin bundles build build-stats.json diff --git a/.npmignore b/.npmignore index 70440fa6..78d65db1 100644 --- a/.npmignore +++ b/.npmignore @@ -1,6 +1,7 @@ .vscode/ .idea/ .temp/ +# redundant webpack build artifacts produced by ExtractTextPlugin bundles/styles.* demo-apps/ demo-site/ diff --git a/.travis.yml b/.travis.yml index 99da0484..dc16c161 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,10 +15,10 @@ before_install: install: - npm prune && npm install -- npm run setup:demo-apps +- npm run setup:ci before_script: -- npm run build:all +- npm run build:demo-apps - '[ "${TRAVIS_PULL_REQUEST}" = "true" ] || npm run e2e-server:ci' script: diff --git a/circle.yml b/circle.yml index d2ad37f9..3f191b55 100644 --- a/circle.yml +++ b/circle.yml @@ -6,7 +6,7 @@ dependencies: pre: - npm install -g karma-cli - npm prune && npm install - - npm run build + - npm run setup:ci && npm run build:demo-apps cache_directories: - node_modules diff --git a/demo-apps/es5/npm-shrinkwrap.json b/demo-apps/es5/npm-shrinkwrap.json index 5d315ad6..a86daef1 100644 --- a/demo-apps/es5/npm-shrinkwrap.json +++ b/demo-apps/es5/npm-shrinkwrap.json @@ -3,14 +3,16 @@ "version": "1.0.0", "dependencies": { "@types/angular": { - "version": "1.5.16", + "version": "1.5.14", "from": "@types/angular@>=1.5.13 <2.0.0", - "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.5.16.tgz" + "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.5.14.tgz", + "dev": true }, "@types/jquery": { - "version": "2.0.32", + "version": "1.10.31", "from": "@types/jquery@*", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.32.tgz" + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-1.10.31.tgz", + "dev": true }, "angular": { "version": "1.5.8", diff --git a/demo-apps/es5/package.json b/demo-apps/es5/package.json index 285d93aa..0624e9c7 100644 --- a/demo-apps/es5/package.json +++ b/demo-apps/es5/package.json @@ -6,26 +6,18 @@ "description": "ng-table example app; app written in ECMAScript 5; ng-table added as global script tag", "private": true, "scripts": { - "_linklocal": "node ../../node_modules/linklocal/bin/linklocal.js", - "build:lib": "cd ../../ && npm run build", "build": "echo \"Nothing to build\"", "clean": "echo \"Nothing to clean\"", - "preinstall-dep": "npm run unlinklocal", - "install-dep": "npm install", - "postinstall-dep": "npm run linklocal", - "linklocal": "npm run _linklocal && npm prune", - "server": "node ../../node_modules/http-server/bin/http-server -c-1 -o", - "setup:local": "node ../../node_modules/npm-run-all/bin/npm-run-all --parallel build:lib linklocal", - "start": "npm run server", - "unlinklocal": "npm run _linklocal -- unlink && npm i", - "preuninstall-dep": "npm run unlinklocal", - "uninstall-dep": "npm uninstall", - "postuninstall-dep": "npm run linklocal" + "serve": "node ../../node_modules/http-server/bin/http-server -c-1", + "start": "npm run server -- -o" }, "keywords": [], "dependencies": { "angular": "1.5.8", "bootstrap": "3.3.7", "ng-table": "file:../../" + }, + "devDependencies": { + "@types/angular": "^1.5.13" } } diff --git a/demo-apps/es6-systemjs/npm-shrinkwrap.json b/demo-apps/es6-systemjs/npm-shrinkwrap.json index c468143b..02ac2dc0 100644 --- a/demo-apps/es6-systemjs/npm-shrinkwrap.json +++ b/demo-apps/es6-systemjs/npm-shrinkwrap.json @@ -3,14 +3,16 @@ "version": "1.0.0", "dependencies": { "@types/angular": { - "version": "1.5.16", + "version": "1.5.14", "from": "@types/angular@>=1.5.13 <2.0.0", - "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.5.16.tgz" + "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.5.14.tgz", + "dev": true }, "@types/jquery": { - "version": "2.0.32", + "version": "1.10.31", "from": "@types/jquery@*", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.32.tgz" + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-1.10.31.tgz", + "dev": true }, "angular": { "version": "1.5.8", diff --git a/demo-apps/es6-systemjs/package.json b/demo-apps/es6-systemjs/package.json index 238d7776..1d0c7e71 100644 --- a/demo-apps/es6-systemjs/package.json +++ b/demo-apps/es6-systemjs/package.json @@ -6,21 +6,10 @@ "description": "ng-table example app; app written in es2015; systemjs to load scripts", "private": true, "scripts": { - "_linklocal": "node ../../node_modules/linklocal/bin/linklocal.js", - "build:lib": "cd ../../ && npm run build", "build": "echo \"Nothing to build\"", "clean": "echo \"Nothing to clean\"", - "preinstall-dep": "npm run unlinklocal", - "install-dep": "npm install", - "postinstall-dep": "npm run linklocal", - "linklocal": "npm run _linklocal && npm prune", - "server": "node ../../node_modules/http-server/bin/http-server -c-1 -o", - "setup:local": "node ../../node_modules/npm-run-all/bin/npm-run-all --parallel build:lib linklocal", - "start": "npm run server", - "unlinklocal": "npm run _linklocal -- unlink && npm i", - "preuninstall-dep": "npm run unlinklocal", - "uninstall-dep": "npm uninstall", - "postuninstall-dep": "npm run linklocal" + "server": "node ../../node_modules/http-server/bin/http-server -c-1", + "start": "npm run server -- -o" }, "keywords": [], "dependencies": { @@ -30,5 +19,8 @@ "ng-table": "file:../../", "systemjs": "0.19.36", "systemjs-plugin-babel": "0.0.15" + }, + "devDependencies": { + "@types/angular": "^1.5.13" } } diff --git a/demo-apps/es6-webpack/npm-shrinkwrap.json b/demo-apps/es6-webpack/npm-shrinkwrap.json index d0a3b92e..e3b61ae5 100644 --- a/demo-apps/es6-webpack/npm-shrinkwrap.json +++ b/demo-apps/es6-webpack/npm-shrinkwrap.json @@ -3,14 +3,16 @@ "version": "1.0.0", "dependencies": { "@types/angular": { - "version": "1.5.16", + "version": "1.5.14", "from": "@types/angular@>=1.5.13 <2.0.0", - "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.5.16.tgz" + "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.5.14.tgz", + "dev": true }, "@types/jquery": { - "version": "2.0.32", + "version": "1.10.31", "from": "@types/jquery@*", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.32.tgz" + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-1.10.31.tgz", + "dev": true }, "acorn": { "version": "3.3.0", diff --git a/demo-apps/es6-webpack/package.json b/demo-apps/es6-webpack/package.json index d14031ab..7595ac59 100644 --- a/demo-apps/es6-webpack/package.json +++ b/demo-apps/es6-webpack/package.json @@ -6,25 +6,14 @@ "description": "ng-table example app; app written in es2015; webpack to load scripts", "private": true, "scripts": { - "_linklocal": "node ../../node_modules/linklocal/bin/linklocal.js", - "build:lib": "cd ../../ && npm run tsc", "prebuild": "npm run clean", "build": "node ../../node_modules/webpack/bin/webpack.js --env.debug", "prebuild:prod": "npm run clean", "build:prod": "node ../../node_modules/webpack/bin/webpack.js --env.prod", "clean": "node ../../node_modules/shx/lib/cli.js rm -rf build build-stats.json", - "preinstall-dep": "npm run unlinklocal", - "install-dep": "npm install", - "postinstall-dep": "npm run linklocal", - "linklocal": "npm run _linklocal && npm prune", - "setup:local": "node ../../node_modules/npm-run-all/bin/npm-run-all --parallel build:lib linklocal", - "server": "node ../../node_modules/http-server/bin/http-server build -c-1 -o", + "serve": "node ../../node_modules/http-server/bin/http-server build -c-1 -o", "start": "node ../../node_modules/webpack-dev-server/bin/webpack-dev-server.js --env.debug", "stats": "node ../../node_modules/webpack/bin/webpack.js --env.prod --profile --json > build-stats.json", - "unlinklocal": "npm run _linklocal -- unlink && npm i", - "preuninstall-dep": "npm run unlinklocal", - "uninstall-dep": "npm uninstall", - "postuninstall-dep": "npm run linklocal", "validate": "node ../../node_modules/webpack-validator/dist/bin/webpack-validator.js webpack.config.js" }, "keywords": [], @@ -34,6 +23,7 @@ "ng-table": "file:../../" }, "devDependencies": { + "@types/angular": "^1.5.13", "babel-core": "^6.13.2", "babel-loader": "^6.2.5", "babel-preset-es2015": "^6.13.2", diff --git a/demo-apps/es6-webpack/webpack.config.js b/demo-apps/es6-webpack/webpack.config.js index 52a730e1..df2d97e5 100644 --- a/demo-apps/es6-webpack/webpack.config.js +++ b/demo-apps/es6-webpack/webpack.config.js @@ -25,8 +25,6 @@ module.exports = (env = { prod: false, debug: false, port: 8080, host: 'localhos parts.inlineHtmlTemplates(), parts.inlineNgTableHtmlTemplates(), parts.useHtmlPlugin(), - parts.forEnvironment(), - // this is only required because we using symlinks - parts.resolveLibraryPeerDependencies() + parts.forEnvironment() ); } \ No newline at end of file diff --git a/demo-apps/ts-webpack/.gitignore b/demo-apps/ts-webpack/.gitignore new file mode 100644 index 00000000..866857c5 --- /dev/null +++ b/demo-apps/ts-webpack/.gitignore @@ -0,0 +1,4 @@ +src/**/*.js +src/**/*.js.map +src/**/*.d.ts +!src/global.d.ts \ No newline at end of file diff --git a/demo-apps/ts-webpack/npm-shrinkwrap.json b/demo-apps/ts-webpack/npm-shrinkwrap.json index b89d81c4..ae247e06 100644 --- a/demo-apps/ts-webpack/npm-shrinkwrap.json +++ b/demo-apps/ts-webpack/npm-shrinkwrap.json @@ -3,14 +3,16 @@ "version": "1.0.0", "dependencies": { "@types/angular": { - "version": "1.5.16", + "version": "1.5.14", "from": "@types/angular@>=1.5.13 <2.0.0", - "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.5.16.tgz" + "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.5.14.tgz", + "dev": true }, "@types/jquery": { - "version": "2.0.32", + "version": "1.10.31", "from": "@types/jquery@*", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.32.tgz" + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-1.10.31.tgz", + "dev": true }, "angular": { "version": "1.5.8", diff --git a/demo-apps/ts-webpack/package.json b/demo-apps/ts-webpack/package.json index 7e63fd28..a886abe9 100644 --- a/demo-apps/ts-webpack/package.json +++ b/demo-apps/ts-webpack/package.json @@ -6,26 +6,15 @@ "description": "ng-table example app; app written in typescript; webpack to load scripts", "private": true, "scripts": { - "_linklocal": "node ../../node_modules/linklocal/bin/linklocal.js", - "build:lib": "cd ../../ && npm run tsc", "prebuild": "npm run clean", "build": "node ../../node_modules/webpack/bin/webpack.js --env.debug", "prebuild:prod": "npm run clean", "build:prod": "node ../../node_modules/webpack/bin/webpack.js --progress --env.prod", "clean": "node ../../node_modules/shx/lib/cli.js rm -rf build build-stats.json", - "preinstall-dep": "npm run unlinklocal", - "install-dep": "npm install", - "postinstall-dep": "npm run linklocal", - "linklocal": "npm run _linklocal && npm prune", - "setup:local": "node ../../node_modules/npm-run-all/bin/npm-run-all --parallel build:lib linklocal", - "server": "node ../../node_modules/http-server/bin/http-server build -c-1 -o", + "serve": "node ../../node_modules/http-server/bin/http-server build -c-1 -o", "start": "node ../../node_modules/webpack-dev-server/bin/webpack-dev-server.js --progress --env.debug", "stats": "node ../../node_modules/webpack/bin/webpack.js --env.prod --profile --json > build-stats.json", "tsc": "node ../../node_modules/typescript/lib/typescript.js", - "unlinklocal": "npm run _linklocal -- unlink && npm i", - "preuninstall-dep": "npm run unlinklocal", - "uninstall-dep": "npm uninstall", - "postuninstall-dep": "npm run linklocal", "validate": "node ../../node_modules/webpack-validator/dist/bin/webpack-validator.js webpack.config.js" }, "keywords": [], @@ -34,5 +23,7 @@ "bootstrap-css-only": "^3.3.6", "ng-table": "file:../.." }, - "devDependencies": {} + "devDependencies": { + "@types/angular": "^1.5.13" + } } diff --git a/demo-apps/ts-webpack/src/global.d.ts b/demo-apps/ts-webpack/src/global.d.ts new file mode 100644 index 00000000..cc2be117 --- /dev/null +++ b/demo-apps/ts-webpack/src/global.d.ts @@ -0,0 +1,7 @@ +// fake the nodejs require function so that we can add 'require' calls for html files; +// these calls to 'require' will then be converted by webpack ngtemplate-loader +// note that I would have prefered to use standard es2015 import for these +// html files but that would have meant using typescript 2 feature of implicit +// ambient modules which in turn would have meant turning off noImplicitAny checks +// which is a VERY bad idea +declare function require(path: string): any; \ No newline at end of file diff --git a/demo-apps/ts-webpack/tsconfig.json b/demo-apps/ts-webpack/tsconfig.json index ae05eb8b..ff49eb05 100644 --- a/demo-apps/ts-webpack/tsconfig.json +++ b/demo-apps/ts-webpack/tsconfig.json @@ -10,10 +10,7 @@ "removeComments": false, "noImplicitAny": true, "noImplicitReturns": true, - "suppressImplicitAnyIndexErrors": true, - "typeRoots": [ - "../../node_modules/@types" - ] + "suppressImplicitAnyIndexErrors": true }, "exclude": ["node_modules"], "awesomeTypescriptLoaderOptions": { diff --git a/demo-apps/ts-webpack/webpack.config.js b/demo-apps/ts-webpack/webpack.config.js index c0f86c5c..98ada3e5 100644 --- a/demo-apps/ts-webpack/webpack.config.js +++ b/demo-apps/ts-webpack/webpack.config.js @@ -25,8 +25,6 @@ module.exports = (env = { prod: false, debug: false, port: 8080, host: 'localhos parts.inlineHtmlTemplates(), parts.inlineNgTableHtmlTemplates(), parts.useHtmlPlugin(), - parts.forEnvironment(), - // this is only required because we using symlinks - parts.resolveLibraryPeerDependencies() + parts.forEnvironment() ); } \ No newline at end of file diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 86534e44..331e4480 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,11 +1,12 @@ { "name": "ng-table", - "version": "1.0.0", + "version": "2.0.0", "dependencies": { "@types/angular": { "version": "1.5.14", "from": "@types/angular@>=1.5.13 <2.0.0", - "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.5.14.tgz" + "resolved": "https://registry.npmjs.org/@types/angular/-/angular-1.5.14.tgz", + "dev": true }, "@types/angular-mocks": { "version": "1.5.4", @@ -22,7 +23,8 @@ "@types/jquery": { "version": "1.10.31", "from": "@types/jquery@*", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-1.10.31.tgz" + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-1.10.31.tgz", + "dev": true }, "@types/karma-jasmine": { "version": "0.0.27", @@ -2800,32 +2802,6 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "dev": true }, - "linklocal": { - "version": "2.6.0", - "from": "theoy/linklocal#alwaysJunctionOnWindows", - "resolved": "git://github.com/theoy/linklocal.git#3f939171c3c925f2af831d78a3f2fbf9caa3002e", - "dev": true, - "dependencies": { - "commander": { - "version": "2.8.1", - "from": "commander@>=2.8.1 <2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "dev": true - }, - "glob": { - "version": "6.0.4", - "from": "glob@>=6.0.1 <7.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "dev": true - }, - "rimraf": { - "version": "2.4.5", - "from": "rimraf@>=2.4.3 <2.5.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "dev": true - } - } - }, "load-json-file": { "version": "1.1.0", "from": "load-json-file@>=1.0.0 <2.0.0", @@ -3154,20 +3130,6 @@ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.2.1.tgz", "dev": true }, - "map-limit": { - "version": "0.0.1", - "from": "map-limit@0.0.1", - "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", - "dev": true, - "dependencies": { - "once": { - "version": "1.3.3", - "from": "once@>=1.3.0 <1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "dev": true - } - } - }, "map-obj": { "version": "1.0.1", "from": "map-obj@>=1.0.1 <2.0.0", diff --git a/package.json b/package.json index 3895f627..e5244a13 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "module": "index.js", "typings": "index.d.ts", "devDependencies": { + "@types/angular": "^1.5.13", "@types/angular-mocks": "^1.5.4", "@types/jasmine": "^2.2.33", "@types/karma-jasmine": "0.0.27", @@ -38,7 +39,6 @@ "karma-phantomjs-launcher": "1.0.1", "karma-spec-reporter": "0.0.26", "karma-webpack": "^1.8.0", - "linklocal": "git://github.com/theoy/linklocal#3f939171c3c925f2af831d78a3f2fbf9caa3002e", "lodash": "~3.7.0", "ngtemplate-loader": "git://github.com/wearymonkey/ngtemplate-loader#63e3461d8b1298de913e3528766068260915ae1f", "node-sass": "^3.8.0", @@ -61,7 +61,7 @@ "webpack-validator": "^2.2.7" }, "scripts": { - "build:all": "npm-run-all --parallel build tsc --serial build:demo-apps", + "build:all": "npm-run-all --parallel build:full tsc --serial build:demo-apps", "build:demo-apps": "shx ls -d demo-apps/*/ | bulk -c \"npm run build\"", "build": "webpack --progress --profile --env.debug", "build:prod": "webpack --progress --profile --env.prod", @@ -77,24 +77,23 @@ "e2e": "protractor e2e/protractor.config.js", "e2e:ci": "protractor e2e/protractor-travis.config", "poste2e": "node ./scripts/open-e2e-report", - "presetup:demo-apps": "shx ls -d demo-apps/*/ | bulk -c \"npm install\"", - "setup:demo-apps": "shx ls -d demo-apps/*/ | bulk -c \"npm run linklocal\"", - "setup": "npm-run-all --parallel setup:demo-apps update-webdriver", + "setup:demo-apps": "shx ls -d demo-apps/*/ | bulk -c \"npm install\"", + "_setup:common": "npm-run-all --parallel build tsc --serial setup:demo-apps", + "setup:ci": "npm run _setup:common", + "setup": "npm-run-all --parallel _setup:common update-webdriver", "shrinkwrap:demo-apps": "shx ls -d demo-apps/*/ | bulk -c \"npm shrinkwrap --dev\"", "test": "karma start --single-run --no-auto-watch", "test:debug": "karma start --no-single-run --no-auto-watch", "tsc": "tsc", - "unlink:demo-apps": "shx ls -d demo-apps/*/ | bulk -c \"npm run unlinklocal\"", "update-webdriver": "webdriver-manager update", "validate-webpack": "webpack-validator webpack.config.js --env.dev --env.test --env.prod", "watch:debug": "webpack --watch --env.debug", "watch": "webpack --watch", "webpack": "webpack" }, - "dependencies": { - "@types/angular": "^1.5.13" - }, + "dependencies": {}, "peerDependencies": { + "@types/angular": "^1.5.13", "angular": "^1.2" } } diff --git a/scripts/webpack/appParts.js b/scripts/webpack/appParts.js index b56aad7d..434dfa4d 100644 --- a/scripts/webpack/appParts.js +++ b/scripts/webpack/appParts.js @@ -23,7 +23,6 @@ function createAppParts(rootDir, env = {}) { inlineHtmlTemplates, inlineNgTableHtmlTemplates, isDevServer, - resolveLibraryPeerDependencies, sass, useHtmlPlugin }); @@ -197,23 +196,6 @@ function createAppParts(rootDir, env = {}) { }; } - - /** - * override the webpack resolution logic but only for peer dependencies defined by ng-table. - * This is necessary because the standard resolve breaks down when using symlinks - */ - function resolveLibraryPeerDependencies() { - const ngTablePkgPath = path.join(rootDir, 'node_modules', 'ng-table', 'package'); - const ngTablePkg = require(ngTablePkgPath); - const alias = Object.keys(ngTablePkg.peerDependencies).reduce((acc, name) => { - acc[name] = path.join(rootDir, 'node_modules', name); - return acc; - }, {}); - return { - resolve: { alias } - }; - } - function sass(excludeFiles) { excludeFiles = excludeFiles || []; // note: would like to use sourcemaps in a deployed website (ie outside of dev-server) From 2c0d84f04a5e8741dd276e9f3451c6fcbaeb63a9 Mon Sep 17 00:00:00 2001 From: Christian Crowhurst Date: Mon, 3 Oct 2016 21:21:30 +0100 Subject: [PATCH 2/9] chore(ci): remove redundant pre-install step --- .travis.yml | 3 --- circle.yml | 1 - 2 files changed, 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index dc16c161..057391fc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,9 +10,6 @@ env: - secure: gnwapHmalQ00mis28sRZQwmrkOWU7CyIyU3iKc1bixgGKZu6dhMUwQt2WA8HDkOLgSxSCSMigtzwuPvkxH6CRLbMnYwCDkCHZS9SvjrOLX+jZkORbSKRJUjlkRS3cjkY9AzKOYAOngAN07j0iqvsKx6UtdtEvA4QVM/ToQzVfi0= - secure: J9OuScEujGDV/JKBvOz7pgh/hzA6QEqJKo8wtQprsSuUnP1zdUvlRV+oKuGXAGnfsFlr/aw+7+djz4QbqITQeQDJaQ4Ui4/M8dfDp4kLKGH6U8obrnX79IERjgKZubs17dW+NcbIt6pNzJavOdLlvAZiQtQMcdXbHI+Xa0PoTHs= -before_install: -- npm install -g karma-cli - install: - npm prune && npm install - npm run setup:ci diff --git a/circle.yml b/circle.yml index 3f191b55..896df730 100644 --- a/circle.yml +++ b/circle.yml @@ -4,7 +4,6 @@ machine: dependencies: pre: - - npm install -g karma-cli - npm prune && npm install - npm run setup:ci && npm run build:demo-apps cache_directories: From 34428fc6cafaf4cc2014ebc017f203153edc4da5 Mon Sep 17 00:00:00 2001 From: Christian Crowhurst Date: Mon, 3 Oct 2016 22:07:10 +0100 Subject: [PATCH 3/9] chore(build): add semantic release config options --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index e5244a13..2ee33e2d 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,9 @@ "main": "bundles/ng-table.js", "module": "index.js", "typings": "index.d.ts", + "release": { + "branch": "typescript" + }, "devDependencies": { "@types/angular": "^1.5.13", "@types/angular-mocks": "^1.5.4", From c3594716e8b9435aa9b49fc22f280fca534bb6db Mon Sep 17 00:00:00 2001 From: Christian Crowhurst Date: Mon, 3 Oct 2016 22:09:47 +0100 Subject: [PATCH 4/9] chore(build): publish to @next npm default --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 2ee33e2d..71c2af55 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,9 @@ "release": { "branch": "typescript" }, + "publishConfig": { + "tag": "next" + }, "devDependencies": { "@types/angular": "^1.5.13", "@types/angular-mocks": "^1.5.4", From 0e3554e5a76c6879795cb21285a6cc156a6f2ef9 Mon Sep 17 00:00:00 2001 From: Christian Crowhurst Date: Tue, 4 Oct 2016 21:08:08 +0100 Subject: [PATCH 5/9] chore(build): fix npm dependency reference --- npm-shrinkwrap.json | 38 +++++++++++++++++++------------------- package.json | 4 ++-- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 331e4480..134b4d7e 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -613,15 +613,15 @@ "dev": true }, "bulk": { - "version": "2.0.0", - "from": "kumarharsh/bulk#windows-support", - "resolved": "git://github.com/kumarharsh/bulk.git#14b9feacc5174c732fafa546b9cdbdea2cae410d", + "version": "2.0.1", + "from": "git+https://github.com/kumarharsh/bulk.git#68ac8daa57191f7ea79279b22b0876cf4ab19575", + "resolved": "git+https://github.com/kumarharsh/bulk.git#68ac8daa57191f7ea79279b22b0876cf4ab19575", "dev": true, "dependencies": { "cross-spawn": { - "version": "4.0.0", + "version": "4.0.2", "from": "cross-spawn@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", "dev": true }, "lru-cache": { @@ -629,6 +629,12 @@ "from": "lru-cache@>=4.0.1 <5.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz", "dev": true + }, + "split": { + "version": "1.0.0", + "from": "split@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.0.tgz", + "dev": true } } }, @@ -3284,8 +3290,8 @@ }, "ngtemplate-loader": { "version": "1.3.1", - "from": "wearymonkey/ngtemplate-loader#63e3461d8b1298de913e3528766068260915ae1f", - "resolved": "git://github.com/wearymonkey/ngtemplate-loader.git#63e3461d8b1298de913e3528766068260915ae1f", + "from": "git+https://github.com/wearymonkey/ngtemplate-loader.git#63e3461d8b1298de913e3528766068260915ae1f", + "resolved": "git+https://github.com/wearymonkey/ngtemplate-loader.git#63e3461d8b1298de913e3528766068260915ae1f", "dev": true }, "no-case": { @@ -5615,21 +5621,15 @@ "dev": true }, "through2": { - "version": "0.6.5", - "from": "through2@>=0.6.3 <0.7.0", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "version": "2.0.1", + "from": "through2@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", "dev": true, "dependencies": { - "isarray": { - "version": "0.0.1", - "from": "isarray@0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "dev": true - }, "readable-stream": { - "version": "1.0.34", - "from": "readable-stream@>=1.0.33-1 <1.1.0-0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "version": "2.0.6", + "from": "readable-stream@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "dev": true } } diff --git a/package.json b/package.json index 71c2af55..1ab32d48 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "angular": "^1.5.8", "angular-mocks": "^1.5.8", "awesome-typescript-loader": "^2.2.4", - "bulk": "git://github.com/kumarharsh/bulk#14b9feacc5174c732fafa546b9cdbdea2cae410d", + "bulk": "git+https://github.com/kumarharsh/bulk.git#68ac8daa57191f7ea79279b22b0876cf4ab19575", "coveralls": "~2.11.0", "css-loader": "^0.23.1", "extract-text-webpack-plugin": "^2.0.0-beta.3", @@ -46,7 +46,7 @@ "karma-spec-reporter": "0.0.26", "karma-webpack": "^1.8.0", "lodash": "~3.7.0", - "ngtemplate-loader": "git://github.com/wearymonkey/ngtemplate-loader#63e3461d8b1298de913e3528766068260915ae1f", + "ngtemplate-loader": "git+https://github.com/wearymonkey/ngtemplate-loader.git#63e3461d8b1298de913e3528766068260915ae1f", "node-sass": "^3.8.0", "npm-run-all": "^2.3.0", "open": "0.0.5", From c25f79c345cdb55302888f0bf33b6c589fb28a77 Mon Sep 17 00:00:00 2001 From: Christian Crowhurst Date: Wed, 5 Oct 2016 07:57:59 +0100 Subject: [PATCH 6/9] chore(build): auto publish to npm Uses semantic-release to automate the publish of ng-table to npm --- .travis.yml | 16 ++- npm-shrinkwrap.json | 331 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 4 +- 3 files changed, 343 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 057391fc..ac4f8d97 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,14 @@ +sudo: false language: node_js node_js: - node - +cache: + directories: + - node_modules +notifications: + email: false addons: sauce_connect: true - env: global: - secure: gnwapHmalQ00mis28sRZQwmrkOWU7CyIyU3iKc1bixgGKZu6dhMUwQt2WA8HDkOLgSxSCSMigtzwuPvkxH6CRLbMnYwCDkCHZS9SvjrOLX+jZkORbSKRJUjlkRS3cjkY9AzKOYAOngAN07j0iqvsKx6UtdtEvA4QVM/ToQzVfi0= @@ -22,8 +26,6 @@ script: - npm test - '[ "${TRAVIS_PULL_REQUEST}" = "true" ] || npm run e2e:ci' -after_success: cat out/coverage/*/lcov.info | ./node_modules/coveralls/bin/coveralls.js - -cache: - directories: - - node_modules \ No newline at end of file +after_success: +- cat out/coverage/*/lcov.info | ./node_modules/coveralls/bin/coveralls.js +- npm run semantic-release \ No newline at end of file diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 134b4d7e..e14abdde 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -2,6 +2,64 @@ "name": "ng-table", "version": "2.0.0", "dependencies": { + "@semantic-release/commit-analyzer": { + "version": "2.0.0", + "from": "@semantic-release/commit-analyzer@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-2.0.0.tgz", + "dev": true + }, + "@semantic-release/condition-travis": { + "version": "4.1.4", + "from": "@semantic-release/condition-travis@>=4.1.2 <5.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/condition-travis/-/condition-travis-4.1.4.tgz", + "dev": true, + "dependencies": { + "semver": { + "version": "5.3.0", + "from": "semver@^5.0.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "dev": true + } + } + }, + "@semantic-release/error": { + "version": "1.0.0", + "from": "@semantic-release/error@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-1.0.0.tgz", + "dev": true + }, + "@semantic-release/last-release-npm": { + "version": "1.2.1", + "from": "@semantic-release/last-release-npm@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/last-release-npm/-/last-release-npm-1.2.1.tgz", + "dev": true, + "dependencies": { + "are-we-there-yet": { + "version": "1.0.6", + "from": "are-we-there-yet@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz", + "dev": true + }, + "gauge": { + "version": "1.2.7", + "from": "gauge@>=1.2.0 <1.3.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", + "dev": true + }, + "npmlog": { + "version": "1.2.1", + "from": "npmlog@^1.2.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz", + "dev": true + } + } + }, + "@semantic-release/release-notes-generator": { + "version": "2.0.0", + "from": "@semantic-release/release-notes-generator@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-2.0.0.tgz", + "dev": true + }, "@types/angular": { "version": "1.5.14", "from": "@types/angular@>=1.5.13 <2.0.0", @@ -276,6 +334,12 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "dev": true }, + "asap": { + "version": "2.0.5", + "from": "asap@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz", + "dev": true + }, "asn1": { "version": "0.2.3", "from": "asn1@>=0.2.3 <0.3.0", @@ -332,6 +396,12 @@ "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", "dev": true }, + "asynckit": { + "version": "0.4.0", + "from": "asynckit@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "dev": true + }, "atob": { "version": "1.1.3", "from": "atob@>=1.1.0 <1.2.0", @@ -892,6 +962,26 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "dev": true }, + "concat-stream": { + "version": "1.5.2", + "from": "concat-stream@>=1.5.2 <2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", + "dev": true, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "from": "readable-stream@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "dev": true + } + } + }, + "config-chain": { + "version": "1.1.11", + "from": "config-chain@>=1.1.8 <1.2.0", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", + "dev": true + }, "connect": { "version": "3.5.0", "from": "connect@>=3.3.5 <4.0.0", @@ -940,6 +1030,20 @@ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", "dev": true }, + "conventional-changelog": { + "version": "0.0.17", + "from": "conventional-changelog@0.0.17", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-0.0.17.tgz", + "dev": true, + "dependencies": { + "normalize-package-data": { + "version": "1.0.3", + "from": "normalize-package-data@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-1.0.3.tgz", + "dev": true + } + } + }, "convert-source-map": { "version": "1.3.0", "from": "convert-source-map@>=1.1.1 <2.0.0", @@ -1220,6 +1324,12 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "dev": true }, + "dezalgo": { + "version": "1.0.3", + "from": "dezalgo@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "dev": true + }, "di": { "version": "0.0.1", "from": "di@>=0.0.1 <0.0.2", @@ -1744,6 +1854,12 @@ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "dev": true }, + "foreachasync": { + "version": "3.0.0", + "from": "foreachasync@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz", + "dev": true + }, "forever-agent": { "version": "0.6.1", "from": "forever-agent@>=0.6.1 <0.7.0", @@ -1854,6 +1970,36 @@ } } }, + "git-head": { + "version": "1.14.0", + "from": "git-head@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/git-head/-/git-head-1.14.0.tgz", + "dev": true + }, + "git-refs": { + "version": "1.1.3", + "from": "git-refs@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/git-refs/-/git-refs-1.1.3.tgz", + "dev": true + }, + "github": { + "version": "0.2.4", + "from": "github@>=0.2.4 <0.3.0", + "resolved": "https://registry.npmjs.org/github/-/github-0.2.4.tgz", + "dev": true + }, + "github-url-from-git": { + "version": "1.4.0", + "from": "github-url-from-git@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz", + "dev": true + }, + "github-url-from-username-repo": { + "version": "1.0.2", + "from": "github-url-from-username-repo@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz", + "dev": true + }, "glob": { "version": "5.0.15", "from": "glob@>=5.0.15 <6.0.0", @@ -3288,6 +3434,12 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.9.tgz", "dev": true }, + "nerf-dart": { + "version": "1.0.0", + "from": "nerf-dart@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", + "dev": true + }, "ngtemplate-loader": { "version": "1.3.1", "from": "git+https://github.com/wearymonkey/ngtemplate-loader.git#63e3461d8b1298de913e3528766068260915ae1f", @@ -3376,6 +3528,53 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.6.1.tgz", "dev": true }, + "npm-package-arg": { + "version": "4.2.0", + "from": "npm-package-arg@>=3.0.0 <4.0.0||>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.2.0.tgz", + "dev": true, + "dependencies": { + "semver": { + "version": "5.3.0", + "from": "semver@^5.1.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "dev": true + } + } + }, + "npm-registry-client": { + "version": "7.2.1", + "from": "npm-registry-client@>=7.0.1 <8.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-7.2.1.tgz", + "dev": true, + "dependencies": { + "form-data": { + "version": "2.0.0", + "from": "form-data@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz", + "dev": true + }, + "npmlog": { + "version": "3.1.2", + "from": "npmlog@>=2.0.0 <2.1.0||>=3.1.0 <3.2.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz", + "dev": true, + "optional": true + }, + "request": { + "version": "2.75.0", + "from": "request@>=2.74.0 <3.0.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz", + "dev": true + }, + "tough-cookie": { + "version": "2.3.1", + "from": "tough-cookie@>=2.3.0 <2.4.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.1.tgz", + "dev": true + } + } + }, "npm-run-all": { "version": "2.3.0", "from": "npm-run-all@>=2.3.0 <3.0.0", @@ -3396,6 +3595,20 @@ } } }, + "npmconf": { + "version": "2.1.2", + "from": "npmconf@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/npmconf/-/npmconf-2.1.2.tgz", + "dev": true, + "dependencies": { + "once": { + "version": "1.3.3", + "from": "once@>=1.3.0 <1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "dev": true + } + } + }, "npmlog": { "version": "4.0.0", "from": "npmlog@>=4.0.0 <5.0.0", @@ -3588,6 +3801,12 @@ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz", "dev": true }, + "parse-github-repo-url": { + "version": "1.3.0", + "from": "parse-github-repo-url@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.3.0.tgz", + "dev": true + }, "parse-glob": { "version": "3.0.4", "from": "parse-glob@>=3.0.4 <4.0.0", @@ -3666,6 +3885,20 @@ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "dev": true }, + "path-object": { + "version": "2.3.0", + "from": "path-object@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/path-object/-/path-object-2.3.0.tgz", + "dev": true, + "dependencies": { + "lodash.assign": { + "version": "3.2.0", + "from": "lodash.assign@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "dev": true + } + } + }, "path-to-regexp": { "version": "0.1.7", "from": "path-to-regexp@0.1.7", @@ -4752,6 +4985,12 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", "dev": true }, + "proto-list": { + "version": "1.2.4", + "from": "proto-list@>=1.2.1 <1.3.0", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "dev": true + }, "protractor": { "version": "4.0.9", "from": "protractor@>=4.0.5 <5.0.0", @@ -5048,6 +5287,12 @@ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "dev": true }, + "require-relative": { + "version": "0.8.7", + "from": "require-relative@>=0.8.7 <0.9.0", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "dev": true + }, "requires-port": { "version": "1.0.0", "from": "requires-port@>=1.0.0 <2.0.0", @@ -5080,6 +5325,12 @@ } } }, + "retry": { + "version": "0.10.0", + "from": "retry@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.0.tgz", + "dev": true + }, "rework": { "version": "1.0.1", "from": "rework@>=1.0.1 <2.0.0", @@ -5126,6 +5377,18 @@ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz", "dev": true }, + "run-auto": { + "version": "1.1.3", + "from": "run-auto@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/run-auto/-/run-auto-1.1.3.tgz", + "dev": true + }, + "run-series": { + "version": "1.1.4", + "from": "run-series@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.4.tgz", + "dev": true + }, "sass-graph": { "version": "2.1.2", "from": "sass-graph@>=2.1.1 <3.0.0", @@ -5202,6 +5465,44 @@ } } }, + "semantic-release": { + "version": "4.3.5", + "from": "semantic-release@latest", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-4.3.5.tgz", + "dev": true, + "dependencies": { + "are-we-there-yet": { + "version": "1.0.6", + "from": "are-we-there-yet@~1.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz", + "dev": true + }, + "gauge": { + "version": "1.2.7", + "from": "gauge@~1.2.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.9.3 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "dev": true + }, + "npmlog": { + "version": "1.2.1", + "from": "npmlog@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz", + "dev": true + }, + "semver": { + "version": "5.3.0", + "from": "semver@>=5.0.1 <6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "dev": true + } + } + }, "semver": { "version": "4.3.6", "from": "semver@>=4.3.3 <4.4.0", @@ -5302,6 +5603,18 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz", "dev": true }, + "slash": { + "version": "1.0.0", + "from": "slash@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "dev": true + }, + "slide": { + "version": "1.1.6", + "from": "slide@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "dev": true + }, "snake-case": { "version": "2.1.0", "from": "snake-case@>=2.1.0 <3.0.0", @@ -5733,6 +6046,12 @@ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", "dev": true }, + "typedarray": { + "version": "0.0.6", + "from": "typedarray@>=0.0.5 <0.1.0", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "dev": true + }, "typedoc": { "version": "0.4.5", "from": "typedoc@>=0.4.5 <0.5.0", @@ -5791,6 +6110,12 @@ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "dev": true }, + "uid-number": { + "version": "0.0.5", + "from": "uid-number@0.0.5", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz", + "dev": true + }, "ultron": { "version": "1.0.2", "from": "ultron@>=1.0.0 <1.1.0", @@ -5979,6 +6304,12 @@ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", "dev": true }, + "walk": { + "version": "2.3.9", + "from": "walk@>=2.3.9 <3.0.0", + "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz", + "dev": true + }, "watchpack": { "version": "1.1.0", "from": "watchpack@>=1.0.0 <2.0.0", diff --git a/package.json b/package.json index 1ab32d48..36ef850e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ng-table", - "version": "2.0.0", + "version": "0.0.0-semantic-release", "author": "Vitalii Savchuk ", "license": "BSD", "repository": { @@ -55,6 +55,7 @@ "protractor-jasmine2-screenshot-reporter": "^0.3.2", "resolve-url-loader": "^1.6.0", "sass-loader": "^4.0.0", + "semantic-release": "^4.3.5", "shx": "^0.1.4", "style-loader": "^0.13.1", "ts-node": "^1.3.0", @@ -83,6 +84,7 @@ "e2e": "protractor e2e/protractor.config.js", "e2e:ci": "protractor e2e/protractor-travis.config", "poste2e": "node ./scripts/open-e2e-report", + "semantic-release": "semantic-release pre && npm publish && semantic-release post", "setup:demo-apps": "shx ls -d demo-apps/*/ | bulk -c \"npm install\"", "_setup:common": "npm-run-all --parallel build tsc --serial setup:demo-apps", "setup:ci": "npm run _setup:common", From 710b9d5248ee8a0d4d633bb01c64040c7dd13919 Mon Sep 17 00:00:00 2001 From: Christian Crowhurst Date: Wed, 5 Oct 2016 08:11:21 +0100 Subject: [PATCH 7/9] chore(build): semantic-release config change --- package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 36ef850e..dd6d71b0 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,10 @@ "module": "index.js", "typings": "index.d.ts", "release": { - "branch": "typescript" + "branch": "typescript", + "fallbackTags": { + "next": "latest" + } }, "publishConfig": { "tag": "next" From 803e2611f8872bb77c218b733182ae0525675a11 Mon Sep 17 00:00:00 2001 From: Christian Crowhurst Date: Wed, 5 Oct 2016 08:17:19 +0100 Subject: [PATCH 8/9] chore(build): don't trigger CI build for git tags --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ac4f8d97..9a3a6cb3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,4 +28,8 @@ script: after_success: - cat out/coverage/*/lcov.info | ./node_modules/coveralls/bin/coveralls.js -- npm run semantic-release \ No newline at end of file +- npm run semantic-release + +branches: + except: + - "/^v\\d+\\.\\d+\\.\\d+$/" \ No newline at end of file From fb7cb41ce7dfd34d0596a9dc88692f5df662f692 Mon Sep 17 00:00:00 2001 From: Christian Crowhurst Date: Thu, 6 Oct 2016 17:52:32 +0100 Subject: [PATCH 9/9] chore(build): cleanup of compiled code --- demo-apps/ts-webpack/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo-apps/ts-webpack/package.json b/demo-apps/ts-webpack/package.json index a886abe9..613bb7cc 100644 --- a/demo-apps/ts-webpack/package.json +++ b/demo-apps/ts-webpack/package.json @@ -10,7 +10,7 @@ "build": "node ../../node_modules/webpack/bin/webpack.js --env.debug", "prebuild:prod": "npm run clean", "build:prod": "node ../../node_modules/webpack/bin/webpack.js --progress --env.prod", - "clean": "node ../../node_modules/shx/lib/cli.js rm -rf build build-stats.json", + "clean": "node ../../node_modules/shx/lib/cli.js rm -rf build build-stats.json src/**/*.js src/**/*.js.map", "serve": "node ../../node_modules/http-server/bin/http-server build -c-1 -o", "start": "node ../../node_modules/webpack-dev-server/bin/webpack-dev-server.js --progress --env.debug", "stats": "node ../../node_modules/webpack/bin/webpack.js --env.prod --profile --json > build-stats.json",