Renovate: group dependencies in one merge request - npm

I want to group all related dependencies in one merge request (MR), as the examples below:
In one MR (all starting #angular/ except #angular/cli):
"#angular/animations": "10.2.5",
"#angular/cdk": "10.2.5",
"#angular/common": "10.2.5",
"#angular/compiler": "10.2.5",
"#angular/core": "10.2.5",
"#angular/forms": "10.2.5",
"#angular/localize": "10.2.5",
"#angular/platform-browser": "10.2.5",
"#angular/platform-browser-dynamic": "10.2.5",
"#angular/router": "10.2.5",
"#angular/compiler-cli": "10.2.5"
In one MR:
"#ngrx/effects": "10.1.2",
"#ngrx/router-store": "10.1.2",
"#ngrx/store": "10.1.2",
"#ngrx/store-devtools": "10.1.2",
"#ngrx/schematics": "10.1.2",
In one MR:
"ag-grid-angular": "24.1.0",
"ag-grid-community": "24.1.0"
In one MR:
"#angular-eslint/builder": "1.2.0",
"#angular-eslint/eslint-plugin": "1.2.0",
"#angular-eslint/eslint-plugin-template": "1.2.0",
"#angular-eslint/schematics": "1.2.0",
"#angular-eslint/template-parser": "1.2.0",
If I have this package.json:
"dependencies": {
"#angular/animations": "10.2.5",
"#angular/cdk": "10.2.5",
"#angular/common": "10.2.5",
"#angular/compiler": "10.2.5",
"#angular/core": "10.2.5",
"#angular/forms": "10.2.5",
"#angular/localize": "10.2.5",
"#angular/platform-browser": "10.2.5",
"#angular/platform-browser-dynamic": "10.2.5",
"#angular/router": "10.2.5",
"#ng-bootstrap/ng-bootstrap": "7.0.0",
"#ng-select/ng-select": "5.1.0",
"#ngrx/effects": "10.1.2",
"#ngrx/router-store": "10.1.2",
"#ngrx/store": "10.1.2",
"#ngrx/store-devtools": "10.1.2",
"#ngx-translate/core": "13.0.0",
"#ngx-translate/http-loader": "6.0.0",
"ag-grid-angular": "24.1.0",
"ag-grid-community": "24.1.0",
"bootstrap": "4.6.0",
"crypto-js": "4.0.0",
"fbc-iam-angular": "2.0.0",
"ngx-toastr": "13.2.1",
"rxjs": "6.6.7",
"tslib": "2.1.0",
"zone.js": "0.11.4"
},
"devDependencies": {
"#angular-devkit/build-angular": "0.1002.1",
"#angular-eslint/builder": "1.2.0",
"#angular-eslint/eslint-plugin": "1.2.0",
"#angular-eslint/eslint-plugin-template": "1.2.0",
"#angular-eslint/schematics": "1.2.0",
"#angular-eslint/template-parser": "1.2.0",
"#angular/cli": "10.2.3",
"#angular/compiler-cli": "10.2.5",
"#foundation/npm-oss-clearing": "2.2.0",
"#ngrx/schematics": "10.1.2",
"#types/jest": "24.9.1",
"#typescript-eslint/eslint-plugin": "4.18.0",
"#typescript-eslint/parser": "4.18.0",
"eslint": "7.22.0",
"eslint-config-airbnb-typescript": "12.3.1",
"eslint-plugin-cypress": "2.11.2",
"eslint-plugin-header": "3.1.1",
"eslint-plugin-import": "2.22.1",
"eslint-plugin-jest": "24.3.6",
"eslint-plugin-promise": "4.3.1",
"eslint-plugin-rxjs": "3.1.3",
"eslint-plugin-unicorn": "28.0.2",
"https-proxy-agent": "2.2.4",
"jest": "24.9.0",
"jest-marbles": "2.5.1",
"jest-preset-angular": "7.1.1",
"jspdf": "2.3.1",
"ng-mocks": "11.9.1",
"ngx-translate-testing": "5.1.0",
"typescript": "4.0.3"
}
and I want to group some dependencies in one MR (in this case, group together the ones with the same name).
Test 1: Fails -> I get one MR with only #angular/cdk upgrade. Here the renovate.json:
{
"gradle-lite": {
"enabled": true
},
"gradle": {
"enabled": false
},
"docker-compose": {
"enabled": false
},
"dockerfile": {
"enabled": false
},
"gitlabci": {
"enabled": false
},
"packageRules": [
{
"groupName": "angular-eslint",
"matchPackagePatterns": [
"^#angular-eslint/"
]
},
{
"groupName": "typescript-eslint",
"matchPackagePatterns": [
"^#typescript-eslint/"
]
},
{
"groupName": "angular",
"matchPackagePatterns": [
"^#angular/"
],
"excludePackageNames": [
"#angular/cli"
]
},
{
"groupName": "ngrx",
"matchPackagePatterns": [
"^#ngrx/"
]
},
{
"groupName": "ag-grid",
"matchPackagePatterns": [
"^ag-grid-"
]
},
{
"groupName": "spring-boot",
"matchPackagePrefixes": [
"org.springframework.boot:"
]
},
{
"groupName": "mapstruct",
"matchPackagePrefixes": [
"org.mapstruct:"
]
},
{
"groupName": "springfox",
"matchPackagePrefixes": [
"io.springfox:"
]
}
],
"prConcurrentLimit": 1
}
Test 2: Fails -> I get one MR several updates (#angular-devkit/build-angular, #angular/cdk, #typescript-eslint/eslint-plugin,
#typescript-eslint/parser, cypress, org.apache.tika:tika-parsers, tslib, and much more (npm and gradle dependencies mixed)
{
"gradle-lite": {
"enabled": true
},
"gradle": {
"enabled": false
},
"docker-compose": {
"enabled": false
},
"dockerfile": {
"enabled": false
},
"gitlabci": {
"enabled": false
},
"packageRules": [
{
"groupName": "angular-eslint",
"matchPackagePrefixes": [
"#angular-eslint/"
]
},
{
"groupName": "typescript-eslint",
"matchPackagePrefixes": [
"#typescript-eslint/"
]
},
{
"groupName": "core-ui",
"matchPackagePrefixes": [
"#siemens/core-ui"
],
"excludePackageNames": [
"#siemens/core-ui-icons"
]
},
{
"groupName": "angular",
"matchPackagePrefixes": [
"#angular/"
],
"excludePackageNames": [
"#angular/cli"
]
},
{
"groupName": "ngrx",
"matchPackagePrefixes": [
"#ngrx/"
]
},
{
"groupName": "ag-grid",
"matchPackagePrefixes": [
"ag-grid-"
]
},
{
"groupName": "spring-boot",
"matchPackagePrefixes": [
"org.springframework.boot:"
]
},
{
"groupName": "mapstruct",
"matchPackagePrefixes": [
"org.mapstruct:"
]
},
{
"groupName": "springfox",
"matchPackagePrefixes": [
"io.springfox:"
]
}
],
"prConcurrentLimit": 1
}
In the first renovate.json I use matchPackagePatterns and in the second one matchPackagePrefixes, but no one is working. What should I do?
Note: There are java dependencies too, but I think that with the package.json is enough to understand the problem.
Thanks in advance

Apparently it was a bug
https://github.com/renovatebot/renovate/pull/9949
In the version 25.18.5 should be fixed

Related

JSPM_GITHUB_AUTH_TOKEN as header

I am having trouble with a github alert that is telling me the following:
"On September 11th, 2020 at 18:16 (UTC) your personal access token (JSPM_PRUEBA) using jspm was used as part of a query parameter to access an endpoint through the GitHub API:
Please use the Authorization HTTP header instead, as using the access_token query parameter is deprecated. If this token is being used by an app you don't have control over, be aware that it may stop working as a result of this deprecation."
The alert it is being triggered when I am doing a jspm install through a docker image that generates the dist folder with an npm install and then a jspm install inside it. The docker is being provided with a parameter JSPM_GITHUB_AUTH_TOKEN with a github PAT that is being generate and later obtained using:
jspm registry config github
jspm registry export github
I believe this is working fine because the alert is showing the right PAT name "JSPM_PRUEBA".
The actual question is, what is what I need to configure to include the access_token as a header and not as a query param while pulling the jspm dependencies.
Need some help please.
package.son
{
"name": "aleph-media-ui",
"version": "1.0.0",
"description": "aleph-media-ui",
"main": "app/app.js",
"scripts": {
"postinstall": "sh configure.sh"
},
"moduleConfig": {
"mainJs": "app/app.js",
"source": "app/**/*.js",
"templates": "app/**/*.html",
"sass": [
"styles/**/*.scss",
"styles/**/*.css"
],
"output": "dist/",
"build": "build/",
"port": "18093"
},
"jspm": {
"registry": "jspm",
"directories": {
"lib": "build"
},
"dependencies": {
"angular": "github:angular/bower-angular#1.4.5",
"angular-bootstrap": "bower:angular-bootstrap#0.13.4",
"angular-encode-uri": "bower:angular-encode-uri#^1.0.0",
"angular-environment": "npm:angular-environment#^1.0.8",
"angular-material": "github:angular/bower-material#0.10.1",
"angular-messages": "npm:angular-messages#^1.4.9",
"angular-resource": "github:angular/bower-angular-resource#1.4.5",
"angular-route": "github:angular/bower-angular-route#1.4.5",
"angular-ui-mask": "bower:angular-ui-mask#^1.8.3",
"angular-ui-router": "github:angular-ui/ui-router#0.2.15",
"clean-css": "npm:clean-css#3.4.1",
"css": "github:systemjs/plugin-css#0.1.15",
"jquery": "github:components/jquery#2.1.4",
"module-crud-ui": "npm-redbee:module-crud-ui#1.2.5-beta",
"module-layout-ui": "npm-redbee:module-layout-ui#1.3.9-SNAPSHOT",
"module-security-ui": "npm-redbee:module-security-ui#1.0.3-SNAPSHOT",
"remarkable-bootstrap-notify": "bower:remarkable-bootstrap-notify#^3.1.3"
},
"devDependencies": {
"babel": "npm:babel-core#^5.8.24",
"babel-runtime": "npm:babel-runtime#^5.8.24",
"core-js": "npm:core-js#^1.1.4"
}
},
"publishConfig": {
"registry": "https://nexus.uat.aleph.turner.com/repository/npm-redbee"
},
"devDependencies": {
"babel-core": "^5.8.22",
"browser-sync": "^2.9.3",
"del": "^1.2.1",
"gulp": "^3.9.0",
"gulp-angular-templatecache": "^1.7.0",
"gulp-babel": "^5.2.1",
"gulp-cached": "^1.1.0",
"gulp-cdnify": "^1.0.3-pre",
"gulp-changed": "^1.3.0",
"gulp-css-base64": "^1.3.2",
"gulp-img64": "0.0.6",
"gulp-inject": "^3.0.0",
"gulp-jshint": "^1.11.2",
"gulp-minify-html": "^1.0.4",
"gulp-ng-annotate": "^1.1.0",
"gulp-plumber": "^1.0.1",
"gulp-replace-task": "^0.11.0",
"gulp-run": "^1.6.10",
"gulp-sass": "^2.0.4",
"gulp-sonar": "^1.0.3",
"gulp-sourcemaps": "^1.5.2",
"gulp-strip-code": "^0.1.2",
"gulp-uglify": "^1.4.1",
"gulp-util": "^3.0.6",
"isparta": "^3.0.3",
"istanbul": "^0.3.18",
"jasmine-core": "^2.3.4",
"jshint-stylish": "^2.0.1",
"jspm": "^0.16.1",
"jspm-bower-endpoint": "^0.3.2",
"karma": "^0.13.9",
"karma-babel-preprocessor": "^5.2.1",
"karma-chrome-launcher": "^0.2.0",
"karma-coverage": "^0.5.0",
"karma-jasmine": "^0.3.6",
"karma-jspm": "^2.0.1",
"karma-junit-reporter": "^0.3.4",
"karma-phantomjs-launcher": "^0.2.1",
"karma-sourcemap-loader": "^0.3.5",
"phantomjs": "^1.9.18",
"proxy-middleware": "^0.14.0",
"require-dir": "^0.3.0",
"run-sequence": "^1.1.2",
"url": "^0.11.0",
"vinyl-paths": "^1.0.0",
"angular-environment": "^1.0.8"
}
}
config.js
System.config({
baseURL: "/",
defaultJSExtensions: true,
transpiler: "babel",
babelOptions: {
"optional": [
"runtime",
"optimisation.modules.system"
]
},
paths: {
"app/*": "dist/app/*",
"github:*": "jspm_packages/github/*",
"npm:*": "jspm_packages/npm/*",
"npm-redbee:*": "jspm_packages/npm-redbee/*",
"bower:*": "jspm_packages/bower/*"
},
map: {
"angular": "github:angular/bower-angular#1.4.5",
"angular-bootstrap": "bower:angular-bootstrap#0.13.4",
"angular-encode-uri": "bower:angular-encode-uri#1.0.0",
"angular-environment": "npm:angular-environment#1.0.8",
"angular-material": "github:angular/bower-material#0.10.1",
"angular-messages": "npm:angular-messages#1.4.9",
"angular-resource": "github:angular/bower-angular-resource#1.4.5",
"angular-route": "github:angular/bower-angular-route#1.4.5",
"angular-ui-mask": "bower:angular-ui-mask#1.8.3",
"angular-ui-router": "github:angular-ui/ui-router#0.2.15",
"babel": "npm:babel-core#5.8.35",
"babel-runtime": "npm:babel-runtime#5.8.35",
"bootstrap-sweetalert": "bower:bootstrap-sweetalert#0.4.5",
"clean-css": "npm:clean-css#3.4.1",
"core-js": "npm:core-js#1.2.6",
"css": "github:systemjs/plugin-css#0.1.15",
"jquery": "github:components/jquery#2.1.4",
"module-crud-ui": "npm-redbee:module-crud-ui#1.2.5-beta",
"module-layout-ui": "npm-redbee:module-layout-ui#1.3.9-SNAPSHOT",
"module-security-ui": "npm-redbee:module-security-ui#1.0.3-SNAPSHOT",
"remarkable-bootstrap-notify": "bower:remarkable-bootstrap-notify#3.1.3",
"bower:angular-bootstrap#0.13.4": {
"angular": "bower:angular#1.4.5"
},
"bower:angular-bootstrap#1.3.3": {
"angular": "bower:angular#1.5.5"
},
"bower:angular-cookies#1.4.5": {
"angular": "bower:angular#1.4.5"
},
"bower:angular-encode-uri#1.0.0": {
"angular": "bower:angular#1.4.5"
},
"bower:angular-growl-v2#0.7.9": {
"angular": "bower:angular#1.4.5",
"css": "github:systemjs/plugin-css#0.1.15"
},
"bower:angular-ui-mask#1.8.3": {
"angular": "bower:angular#1.5.5"
},
"bower:bootstrap-sweetalert#0.4.5": {
"css": "github:systemjs/plugin-css#0.1.15"
},
"bower:bootstrap#3.3.6": {
"jquery": "bower:jquery#2.2.1"
},
"bower:material-design-iconic-font#2.1.2": {
"css": "github:systemjs/plugin-css#0.1.15"
},
"bower:remarkable-bootstrap-notify#3.1.3": {
"bootstrap": "bower:bootstrap#3.3.6",
"jquery": "bower:jquery#2.2.1"
},
"github:angular-translate/bower-angular-translate-loader-static-files#2.10.0": {
"angular-translate": "github:angular-translate/bower-angular-translate#2.10.0"
},
"github:angular-translate/bower-angular-translate#2.10.0": {
"angular": "github:angular/bower-angular#1.4.5"
},
"github:angular-ui/ui-router#0.2.15": {
"angular": "github:angular/bower-angular#1.4.5"
},
"github:angular/bower-angular-animate#1.4.8": {
"angular": "github:angular/bower-angular#1.4.5"
},
"github:angular/bower-angular-aria#1.4.8": {
"angular": "github:angular/bower-angular#1.4.5"
},
"github:angular/bower-angular-cookies#1.5.0": {
"angular": "github:angular/bower-angular#1.4.5"
},
"github:angular/bower-angular-mocks#1.4.4": {
"angular": "github:angular/bower-angular#1.4.5"
},
"github:angular/bower-angular-route#1.4.4": {
"angular": "github:angular/bower-angular#1.4.5"
},
"github:angular/bower-angular-route#1.4.5": {
"angular": "github:angular/bower-angular#1.4.5"
},
"github:angular/bower-angular-sanitize#1.5.0": {
"angular": "github:angular/bower-angular#1.4.5"
},
"github:angular/bower-material#0.10.0": {
"angular": "github:angular/bower-angular#1.4.5",
"angular-animate": "github:angular/bower-angular-animate#1.4.8",
"angular-aria": "github:angular/bower-angular-aria#1.4.8",
"css": "github:systemjs/plugin-css#0.1.15"
},
"github:angular/bower-material#0.10.1": {
"angular": "github:angular/bower-angular#1.4.5",
"angular-animate": "github:angular/bower-angular-animate#1.4.8",
"angular-aria": "github:angular/bower-angular-aria#1.4.8",
"css": "github:systemjs/plugin-css#0.1.15"
},
"github:chieffancypants/angular-loading-bar#0.8.0": {
"angular": "github:angular/bower-angular#1.4.5",
"css": "github:systemjs/plugin-css#0.1.15"
},
"github:jspm/nodelibs-assert#0.1.0": {
"assert": "npm:assert#1.3.0"
},
"github:jspm/nodelibs-buffer#0.1.0": {
"buffer": "npm:buffer#3.6.0"
},
"github:jspm/nodelibs-events#0.1.1": {
"events": "npm:events#1.0.2"
},
"github:jspm/nodelibs-http#1.7.1": {
"Base64": "npm:Base64#0.2.1",
"events": "github:jspm/nodelibs-events#0.1.1",
"inherits": "npm:inherits#2.0.1",
"stream": "github:jspm/nodelibs-stream#0.1.0",
"url": "github:jspm/nodelibs-url#0.1.0",
"util": "github:jspm/nodelibs-util#0.1.0"
},
"github:jspm/nodelibs-https#0.1.0": {
"https-browserify": "npm:https-browserify#0.0.0"
},
"github:jspm/nodelibs-os#0.1.0": {
"os-browserify": "npm:os-browserify#0.1.2"
},
"github:jspm/nodelibs-path#0.1.0": {
"path-browserify": "npm:path-browserify#0.0.0"
},
"github:jspm/nodelibs-process#0.1.2": {
"process": "npm:process#0.11.2"
},
"github:jspm/nodelibs-stream#0.1.0": {
"stream-browserify": "npm:stream-browserify#1.0.0"
},
"github:jspm/nodelibs-url#0.1.0": {
"url": "npm:url#0.10.3"
},
"github:jspm/nodelibs-util#0.1.0": {
"util": "npm:util#0.10.3"
},
"npm-redbee:module-crud-ui#1.2.5-beta": {
"angular": "github:angular/bower-angular#1.4.5",
"angular-mocks": "github:angular/bower-angular-mocks#1.4.4",
"angular-resource": "github:angular/bower-angular-resource#1.4.4",
"angular-route": "github:angular/bower-angular-route#1.4.4",
"angular-ui-router": "github:angular-ui/ui-router#0.2.15"
},
"npm-redbee:module-layout-ui#1.3.9-SNAPSHOT": {
"angular": "github:angular/bower-angular#1.4.5",
"angular-bootstrap": "bower:angular-bootstrap#1.3.3",
"angular-cookies": "github:angular/bower-angular-cookies#1.5.0",
"angular-growl-v2": "bower:angular-growl-v2#0.7.9",
"angular-loading-bar": "github:chieffancypants/angular-loading-bar#0.8.0",
"angular-material": "github:angular/bower-material#0.10.0",
"angular-sanitize": "github:angular/bower-angular-sanitize#1.5.0",
"angular-translate": "github:angular-translate/bower-angular-translate#2.10.0",
"angular-translate-loader-static-files": "github:angular-translate/bower-angular-translate-loader-static-files#2.10.0",
"angular-ui-router": "github:angular-ui/ui-router#0.2.15",
"angular-utils-ui-breadcrumbs": "bower:angular-utils-ui-breadcrumbs#0.2.2",
"bootstrap-sweetalert": "bower:bootstrap-sweetalert#0.4.5",
"clean-css": "npm:clean-css#3.4.1",
"css": "github:systemjs/plugin-css#0.1.15",
"jquery": "github:components/jquery#2.1.4",
"material-design-iconic-font": "bower:material-design-iconic-font#2.1.2"
},
"npm-redbee:module-security-ui#1.0.3-SNAPSHOT": {
"angular-cookies": "bower:angular-cookies#1.4.5",
"angular-uuid": "npm:angular-uuid#0.0.2"
},
"npm:amdefine#1.0.0": {
"fs": "github:jspm/nodelibs-fs#0.1.2",
"module": "github:jspm/nodelibs-module#0.1.0",
"path": "github:jspm/nodelibs-path#0.1.0",
"process": "github:jspm/nodelibs-process#0.1.2"
},
"npm:angular-uuid#0.0.2": {
"buffer": "github:jspm/nodelibs-buffer#0.1.0"
},
"npm:assert#1.3.0": {
"util": "npm:util#0.10.3"
},
"npm:babel-runtime#5.8.35": {
"process": "github:jspm/nodelibs-process#0.1.2"
},
"npm:buffer#3.6.0": {
"base64-js": "npm:base64-js#0.0.8",
"child_process": "github:jspm/nodelibs-child_process#0.1.0",
"fs": "github:jspm/nodelibs-fs#0.1.2",
"ieee754": "npm:ieee754#1.1.6",
"isarray": "npm:isarray#1.0.0",
"process": "github:jspm/nodelibs-process#0.1.2"
},
"npm:clean-css#3.4.1": {
"buffer": "github:jspm/nodelibs-buffer#0.1.0",
"commander": "npm:commander#2.8.1",
"fs": "github:jspm/nodelibs-fs#0.1.2",
"http": "github:jspm/nodelibs-http#1.7.1",
"https": "github:jspm/nodelibs-https#0.1.0",
"os": "github:jspm/nodelibs-os#0.1.0",
"path": "github:jspm/nodelibs-path#0.1.0",
"process": "github:jspm/nodelibs-process#0.1.2",
"source-map": "npm:source-map#0.4.4",
"url": "github:jspm/nodelibs-url#0.1.0",
"util": "github:jspm/nodelibs-util#0.1.0"
},
"npm:commander#2.8.1": {
"child_process": "github:jspm/nodelibs-child_process#0.1.0",
"events": "github:jspm/nodelibs-events#0.1.1",
"fs": "github:jspm/nodelibs-fs#0.1.2",
"graceful-readlink": "npm:graceful-readlink#1.0.1",
"path": "github:jspm/nodelibs-path#0.1.0",
"process": "github:jspm/nodelibs-process#0.1.2"
},
"npm:core-js#1.2.6": {
"fs": "github:jspm/nodelibs-fs#0.1.2",
"path": "github:jspm/nodelibs-path#0.1.0",
"process": "github:jspm/nodelibs-process#0.1.2",
"systemjs-json": "github:systemjs/plugin-json#0.1.0"
},
"npm:core-util-is#1.0.2": {
"buffer": "github:jspm/nodelibs-buffer#0.1.0"
},
"npm:graceful-readlink#1.0.1": {
"fs": "github:jspm/nodelibs-fs#0.1.2"
},
"npm:https-browserify#0.0.0": {
"http": "github:jspm/nodelibs-http#1.7.1"
},
"npm:inherits#2.0.1": {
"util": "github:jspm/nodelibs-util#0.1.0"
},
"npm:os-browserify#0.1.2": {
"os": "github:jspm/nodelibs-os#0.1.0"
},
"npm:path-browserify#0.0.0": {
"process": "github:jspm/nodelibs-process#0.1.2"
},
"npm:process#0.11.2": {
"assert": "github:jspm/nodelibs-assert#0.1.0"
},
"npm:punycode#1.3.2": {
"process": "github:jspm/nodelibs-process#0.1.2"
},
"npm:readable-stream#1.1.13": {
"buffer": "github:jspm/nodelibs-buffer#0.1.0",
"core-util-is": "npm:core-util-is#1.0.2",
"events": "github:jspm/nodelibs-events#0.1.1",
"inherits": "npm:inherits#2.0.1",
"isarray": "npm:isarray#0.0.1",
"process": "github:jspm/nodelibs-process#0.1.2",
"stream-browserify": "npm:stream-browserify#1.0.0",
"string_decoder": "npm:string_decoder#0.10.31"
},
"npm:source-map#0.4.4": {
"amdefine": "npm:amdefine#1.0.0",
"process": "github:jspm/nodelibs-process#0.1.2"
},
"npm:stream-browserify#1.0.0": {
"events": "github:jspm/nodelibs-events#0.1.1",
"inherits": "npm:inherits#2.0.1",
"readable-stream": "npm:readable-stream#1.1.13"
},
"npm:string_decoder#0.10.31": {
"buffer": "github:jspm/nodelibs-buffer#0.1.0"
},
"npm:url#0.10.3": {
"assert": "github:jspm/nodelibs-assert#0.1.0",
"punycode": "npm:punycode#1.3.2",
"querystring": "npm:querystring#0.2.0",
"util": "github:jspm/nodelibs-util#0.1.0"
},
"npm:util#0.10.3": {
"inherits": "npm:inherits#2.0.1",
"process": "github:jspm/nodelibs-process#0.1.2"
}
}
});
Most likely, your are using an older version of the jspm github package. From the source code, it seems that it used the access_token query parameter in version < 1.0.0.
For instance, 0.13.20 version used the access_token query parameter contrary the newest package version (any version after 1.0.0)
It also seems that the package name has changed from jspm-github to #jspm/github for version >= 1.0.0. So you may just need to use the new #jspm/github package instead

How to configure vue project with custom configuration for prettier and eslint using vscode

When I save the project into VSCode I'm getting wrong break like into html tags, how to solve it? The error is explaned into the code / images down.
That is the non formated html.
<div class="a" :class="3" :data-option="2" :id="1" :title="'a'">Abcatece</div>
After run format getting that wrong formated Html Tags.
<div class="a" :class="3" :data-option="2" :id="1" :title="'a'"
>
Abcatece
</div
>
The formated html need to be in that way.
<div class="a" :class="3" :data-option="2" :id="1" :title="'a'">
Some text here
</div>
That is my configurations package.json and .prettierrc.js
Package.json
"name": "project-name",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"#coreui/coreui": "~3.0.0-beta.4",
"#coreui/icons": "^1.0.1",
"#coreui/icons-vue": "^1.3.1",
"#coreui/utils": "^1.2.2",
"#coreui/vue": "^3.0.0-beta.11",
"#fortawesome/fontawesome-free": "^5.13.0",
"#joeattardi/emoji-button": "^2.12.1",
"#microsoft/signalr": "3.1.3",
"#toast-ui/editor": "^2.0.1",
"axios": "^0.19.2",
"bootstrap": "^4.4.1",
"bootstrap-vue": "^2.9.0",
"highcharts": "^8.0.4",
"highcharts-vue": "^1.3.5",
"mic-recorder-to-mp3": "^2.2.1",
"uuid": "^7.0.2",
"vue": "^2.6.11",
"vue-i18n": "8.16.0",
"vue-notification": "1.3.20",
"vue-router": "^3.1.6",
"vue-select": "^3.9.5",
"vuex": "^3.1.3"
},
"devDependencies": {
"#vue/cli-plugin-babel": "^4.2.3",
"#vue/cli-plugin-eslint": "^4.2.3",
"#vue/cli-service": "^4.2.3",
"babel-eslint": "^10.1.0",
"#vue/eslint-config-prettier": "^6.0.0",
"babel-plugin-transform-remove-console": "^6.9.4",
"core-js": "^3.6.4",
"eslint": "^6.8.0",
"prettier": "^2.0.2",
"eslint-plugin-prettier": "^3.1.2",
"eslint-plugin-vue": "^6.2.2",
"vue-template-compiler": "^2.6.11",
"sass-loader": "^8.0.2",
"node-sass": "^4.13.1"
},
"eslintConfig": {
"root": true,
"env": {
"browser": true,
"node": true,
"es6": true
},
"extends": [
"eslint:recommended",
"#vue/prettier",
"plugin:prettier/recommended",
"plugin:vue/recommended"
],
"rules": {
"no-unused-vars": [
"warn"
],
"vue/component-tags-order": [
"off",
{
"order": [
"template",
"script",
"style"
]
}
],
"vue/singleline-html-element-content-newline": [
"off",
{
"ignoreWhenNoAttributes": true,
"ignoreWhenEmpty": true
}
],
"vue/html-indent": "off",
"vue/html-self-closing": [
"warn",
{
"html": {
"normal": "any",
"void": "any",
"component": "any"
}
}
],
"vue/attribute-hyphenation": [
"off",
{
"ignore": []
}
],
"max-len": [
"warn",
{
"code": 120,
"ignoreComments": true
}
],
"vue/max-attributes-per-line": [
"warn",
{
"singleline": 4,
"multiline": {
"max": 1,
"allowFirstLine": true
}
}
]
},
"parserOptions": {
"parser": "babel-eslint"
}
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}
.prettierrc.js
module.exports = {
tabWidth: 2,
tabs: false,
semi: true,
singleQuote: false,
quoteProps: "as-needed",
trailingComma: "none",
bracketSpacing: true,
jsxBracketSameLine: true,
arrowParens: "always",
endOfLine: "lf",
htmlWhitespaceSensitivity: "strict"
};

Getting import error vuejs + jest + Vuetify

I am getting following import error while running unit tests
● Test suite failed to run
/Users/aniruddha/works/awsportal_2/node_modules/vuetify/es5/components/VDivider/VDivider.js:3
import Themeable from '../../mixins/themeable';
^^^^^^
SyntaxError: Unexpected token import
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:305:17)
at Object.<anonymous> (src/components/Account.vue:17:67)
at Object.<anonymous> (test/unit/specs/Account.spec.js:5:16)
Here is debug output
{
"configs": [
{
"automock": false,
"browser": false,
"cache": true,
"cacheDirectory": "/var/folders/7y/_sh8syl163xdy6jfyc7bww8w0000gn/T/jest_dx",
"clearMocks": false,
"coveragePathIgnorePatterns": [
"/node_modules/"
],
"globals": {},
"haste": {
"providesModuleNodeModules": []
},
"moduleDirectories": [
"node_modules",
"/Users/aniruddha/works/awsportal_2"
],
"moduleFileExtensions": [
"js",
"json",
"vue"
],
"moduleNameMapper": [
[
"^#/(.*)$",
"/Users/aniruddha/works/awsportal_2/src/$1"
],
[
"^vue$",
"vue/dist/vue.common.js"
]
],
"modulePathIgnorePatterns": [],
"name": "a49c5965915e40b9abc5a5cfedaeeb54",
"resetMocks": false,
"resetModules": false,
"rootDir": "/Users/aniruddha/works/awsportal_2",
"roots": [
"/Users/aniruddha/works/awsportal_2"
],
"runner": "jest-runner",
"setupFiles": [
"/Users/aniruddha/works/awsportal_2/test/unit/setup.js"
],
"snapshotSerializers": [],
"testEnvironment": "jest-environment-jsdom",
"testMatch": [
"**/__tests__/**/*.js?(x)",
"**/?(*.)(spec|test).js?(x)"
],
"testPathIgnorePatterns": [
"/node_modules/"
],
"testRegex": "",
"testRunner": "/Users/aniruddha/works/awsportal_2/node_modules/jest-jasmine2/build/index.js",
"testURL": "about:blank",
"timers": "real",
"transform": [
[
"^.+\\.js$",
"/Users/aniruddha/works/awsportal_2/node_modules/babel-jest/build/index.js"
],
[
".*\\.(vue)$",
"/Users/aniruddha/works/awsportal_2/node_modules/jest-vue-preprocessor/index.js"
]
],
"transformIgnorePatterns": [
"/node_modules/"
],
"watchPathIgnorePatterns": []
}
],
"globalConfig": {
"bail": false,
"changedFilesWithAncestor": false,
"collectCoverage": true,
"collectCoverageFrom": [
"src/**/*.{js,vue}",
"!src/main.js",
"!src/router/index.js",
"!**/node_modules/**"
],
"coverageDirectory": "/Users/aniruddha/works/awsportal_2/coverage",
"coverageReporters": [
"html"
],
"expand": false,
"listTests": false,
"mapCoverage": true,
"maxWorkers": 3,
"noStackTrace": false,
"nonFlagArgs": [
"test/unit/specs"
],
"notify": false,
"onlyChanged": false,
"rootDir": "/Users/aniruddha/works/awsportal_2",
"runTestsByPath": false,
"testFailureExitCode": 1,
"testPathPattern": "test/unit/specs",
"testResultsProcessor": null,
"updateSnapshot": "new",
"useStderr": false,
"verbose": true,
"watch": false,
"watchman": true
},
"version": "21.2.1"
}
PASS test/unit/specs/ConfigRule.spec.js
ConfigRule.vue
✓ component have title (4ms)
✓ render template correctly (38ms)
FAIL test/unit/specs/Account.spec.js
● Test suite failed to run
/Users/aniruddha/works/awsportal_2/node_modules/vuetify/es5/components/VDivider/VDivider.js:3
import Themeable from '../../mixins/themeable';
^^^^^^
SyntaxError: Unexpected token import
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:305:17)
at Object.<anonymous> (src/components/Account.vue:17:67)
at Object.<anonymous> (test/unit/specs/Account.spec.js:5:16)
Test Suites: 1 failed, 1 passed, 2 total
Tests: 2 passed, 2 total
Snapshots: 0 total
Time: 3.064s
Ran all test suites matching /test\/unit\/specs/i.
=============================== Coverage summary ===============================
Statements : 0.13% ( 1/775 )
Branches : 0% ( 0/277 )
Functions : 0.51% ( 1/198 )
Lines : 0.14% ( 1/706 )
================================================================================
package.json
{
"name": "awsportal_redesigned",
"version": "1.0.0",
"description": "POC",
"author": "Aniruddha Gaikwad <anieruddhad#gmail.com>",
"private": true,
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"test": "jest test/unit/specs --coverage",
"lint": "eslint --ext .vue src test/unit/specs",
"build": "node build/build.js"
},
"dependencies": {
"vue": "^2.5.3",
"vue-router": "^3.0.1",
"vue-session": "^0.9.10",
"vuelidate": "^0.6.1",
"vuetify": "^0.17.4",
"vuex": "^3.0.1"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.26.0",
"babel-eslint": "^7.1.1",
"babel-jest": "^21.2.0",
"babel-loader": "^7.1.1",
"babel-plugin-add-filehash": "^6.9.4",
"babel-plugin-dynamic-import-node": "^1.2.0",
"babel-plugin-module-resolver": "^3.0.0",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-system-import-transformer": "^3.1.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-preset-env": "^1.6.1",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
"chalk": "^2.0.1",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.0",
"eslint": "^3.19.0",
"eslint-config-airbnb-base": "^11.3.0",
"eslint-friendly-formatter": "^3.0.0",
"eslint-import-resolver-webpack": "^0.8.3",
"eslint-loader": "^1.7.1",
"eslint-plugin-html": "^3.0.0",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-vue": "^4.0.0",
"eventsource-polyfill": "^0.9.6",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1",
"jest": "^21.2.0",
"jest-babel-preprocessor": "^0.3.0",
"jest-cli": "^22.0.4",
"jest-vue-preprocessor": "^1.3.1",
"jsdom": "^11.5.1",
"node-notifier": "^5.1.2",
"node-sass": "^4.7.2",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0",
"portfinder": "^1.0.13",
"postcss-import": "^11.0.0",
"postcss-loader": "^2.0.8",
"rimraf": "^2.6.0",
"sass-loader": "^6.0.6",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"stylus": "^0.54.5",
"stylus-loader": "^3.0.1",
"url-loader": "^0.5.8",
"vue-jest": "^1.0.2",
"vue-loader": "^13.3.0",
"vue-server-renderer": "^2.5.13",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.3",
"vue-test-utils": "^1.0.0-beta.9",
"webpack": "^3.6.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0"
},
"jest": {
"verbose": true,
"moduleDirectories": [
"node_modules",
"<rootDir>/"
],
"moduleFileExtensions": [
"js",
"json",
"vue"
],
"moduleNameMapper": {
"^#/(.*)$": "<rootDir>/src/$1",
"^vue$": "vue/dist/vue.common.js"
},
"transform": {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest",
".*\\.(vue)$": "<rootDir>/node_modules/jest-vue-preprocessor",
".*": "<rootDir>/node_modules/babel-jest"
},
"setupFiles": [
"<rootDir>/test/unit/setup"
],
"mapCoverage": true,
"collectCoverageFrom": [
"src/**/*.{js,vue}",
"!src/main.js",
"!src/router/index.js",
"!**/node_modules/**"
],
"collectCoverage": true,
"coverageReporters": [
"html"
],
"coverageDirectory": "./coverage",
"unmockedModulePathPatterns": [
"<rootDir>/node_modules/react"
]
},
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
problem was with babel configuration. After going through different posts, following configuration in .babelrc works for me
{
"presets": [
["env", {"modules": false}],
["stage-2"]
],
"env": {
"test": {
"presets": [
["env", { "targets": { "node": "current" }}]
]
}
}
}

npm loads a version of a package (angularfire2) different from the one specified in package.json

I am trying to create a new development environment for an app using angularfire2 package, downloading the source code from a repository.
The package.json file points to version 2.0.0-beta.6 of angularfire2, as in the following snippet
{
"name": "blah blah",
"author": "blah blah",
...
"dependencies": {
....
"angularfire2": "^2.0.0-beta.6",
...
}
.....
}
I run npm install to download all the packages I need.
Unfortunately, in case of angularfire2, what gets downloaded seems to be a different version of the package (probably 2.0.0-beta.8) which has several breaking changes with respect to version 2.0.0-beta.6.
How is this possible?
The package.json file within the angularfire2 directory (under node_modules) is the following
{
"_args": [
[
{
"raw": "angularfire2#^2.0.0-beta.6",
"scope": null,
"escapedName": "angularfire2",
"name": "angularfire2",
"rawSpec": "^2.0.0-beta.6",
"spec": ">=2.0.0-beta.6 <3.0.0",
"type": "range"
},
"/Users/penrico/ThoughWorks/code/angular/castella"
]
],
"_from": "angularfire2#>=2.0.0-beta.6 <3.0.0",
"_id": "angularfire2#2.0.0-beta.8",
"_inCache": true,
"_location": "/angularfire2",
"_nodeVersion": "6.9.1",
"_npmOperationalInternal": {
"host": "packages-18-east.internal.npmjs.com",
"tmp": "tmp/angularfire2-2.0.0-beta.8.tgz_1487250058126_0.7350442344322801"
},
"_npmUser": {
"name": "davideast",
"email": "dceast#gmail.com"
},
"_npmVersion": "3.10.8",
"_phantomChildren": {},
"_requested": {
"raw": "angularfire2#^2.0.0-beta.6",
"scope": null,
"escapedName": "angularfire2",
"name": "angularfire2",
"rawSpec": "^2.0.0-beta.6",
"spec": ">=2.0.0-beta.6 <3.0.0",
"type": "range"
},
"_requiredBy": [
"/"
],
"_resolved": "https://registry.npmjs.org/angularfire2/-/angularfire2-2.0.0-beta.8.tgz",
"_shasum": "8ec172ff17448c3ccdb79e9c6179da556ff05e1b",
"_shrinkwrap": null,
"_spec": "angularfire2#^2.0.0-beta.6",
"_where": "/Users/penrico/ThoughWorks/code/angular/castella",
"author": {
"name": "jeffbcross,davideast"
},
"bugs": {
"url": "https://github.com/angular/angularfire2/issues"
},
"dependencies": {},
"description": "<p align=\"center\"> <h1 align=\"center\">AngularFire2</h1> <p align=\"center\">The official library for Firebase and Angular 2</p> </p>",
"devDependencies": {
"#angular/compiler-cli": "^2.0.0",
"#angular/platform-server": "^2.0.0-rc.5",
"#types/jasmine": "^2.5.36",
"#types/request": "0.0.30",
"concurrently": "^2.2.0",
"conventional-changelog-cli": "^1.2.0",
"es6-module-loader": "^0.17.10",
"es6-shim": "^0.35.0",
"gulp": "^3.9.0",
"gulp-jasmine": "^2.2.1",
"gulp-typescript": "^2.10.0",
"http-server": "^0.8.5",
"jasmine": "^2.4.1",
"jasmine-core": "^2.4.1",
"json": "^9.0.3",
"karma": "^0.13.19",
"karma-chrome-launcher": "^0.2.2",
"karma-firefox-launcher": "^0.1.7",
"karma-jasmine": "^0.3.6",
"karma-mocha-reporter": "^2.0.2",
"karma-systemjs": "^0.10.0",
"ncp": "^2.0.0",
"parse5": "^1.3.2",
"protractor": "3.0.0",
"reflect-metadata": "0.1.2",
"rimraf": "^2.5.4",
"rollup": "^0.35.11",
"rollup-watch": "^2.5.0",
"systemjs": "^0.19.16",
"systemjs-builder": "^0.15.7",
"traceur": "0.0.96",
"typedoc": "github:jeffbcross/typedoc",
"typescript": "^2.0.2",
"zone.js": "^0.7.2"
},
"directories": {},
"dist": {
"shasum": "8ec172ff17448c3ccdb79e9c6179da556ff05e1b",
"tarball": "https://registry.npmjs.org/angularfire2/-/angularfire2-2.0.0-beta.8.tgz"
},
"homepage": "https://github.com/angular/angularfire2#readme",
"keywords": [
"angular2",
"angular",
"firebase"
],
"license": "MIT",
"main": "bundles/angularfire2.umd.js",
"maintainers": [
{
"name": "angularcore",
"email": "angular-core+npm#google.com"
},
{
"name": "davideast",
"email": "dceast#gmail.com"
},
{
"name": "jeffbcross",
"email": "middlefloor#gmail.com"
}
],
"module": "index.js",
"name": "angularfire2",
"optionalDependencies": {},
"peerDependencies": {
"#angular/common": "^2.0.0",
"#angular/compiler": "^2.0.0",
"#angular/core": "^2.0.0",
"#angular/platform-browser": "^2.0.0",
"#angular/platform-browser-dynamic": "^2.0.0",
"firebase": "^3.0.0",
"rxjs": "^5.0.1"
},
"readme": "ERROR: No README data found!",
"repository": {
"type": "git",
"url": "git+https://github.com/angular/angularfire2.git"
},
"scripts": {},
"typings": "index.d.ts",
"version": "2.0.0-beta.8"
}
The first breaking change (just to make an example that sustains my theory that this is a different version of the package) is that there is no more FirebaseAuth (which seems to be substituted by AngularFireAuth).
It's installing a later version, as that version satisfies the caret range you have specified in the package.json file:
"angularfire2": "^2.0.0-beta.6"
If you want a specific version, remove the caret:
"angularfire2": "2.0.0-beta.6"
Looking at the spec - under that NPM has filled out under _requested in the package.json file that's in node_modules/angularfire2 - you can see that caret range you have specified is equivalent to:
"spec": ">=2.0.0-beta.6 <3.0.0",

Browserify Task error

Just started using gulp not long ago, everything works fine before this when I'm stuck at this error. I've tried
//gulpfile.js
var gulp = require('gulp'),
browserify = require('browserify'),
source = require('vinyl-source-stream');
// Browserify task
gulp.task('browserify', function() {
return browserify(['app/scripts/app.js'], {debug:true})
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('dist/scripts'))
});
Error when running gulp browserify
events.js:141
throw er; // Unhandled 'error' event
^
SyntaxError: Unterminated string constant
Where does this syntax error point to? I've read up some articles on the errors in package.json file too.
"devDependencies": {
"browserify": "^13.0.0",
"gulp": "^3.9.1",
"gulp-autoprefixer": "^3.1.0",
"gulp-clean-css": "^2.0.4",
"gulp-connect": "^3.2.1",
"gulp-imagemin": "^2.4.0",
"gulp-less": "^3.0.5",
"gulp-plumber": "^1.1.0",
"gulp-uglify": "^1.5.3",
"vinyl-source-stream": "^1.1.0"
},
"dependencies": {
"angular": "^1.5.3",
"imagemin-pngquant": "^4.2.2"
}
//browserify package.json
{
"name": "browserify",
"version": "13.0.0",
"description": "browser-side require() the node way",
"main": "index.js",
"bin": {
"browserify": "bin/cmd.js"
},
"repository": {
"type": "git",
"url": "git+ssh://git#github.com/substack/node-browserify.git"
},
"keywords": [
"browser",
"require",
"commonjs",
"commonj-esque",
"bundle",
"npm",
"javascript"
],
"dependencies": {
"JSONStream": "^1.0.3",
"assert": "~1.3.0",
"browser-pack": "^6.0.1",
"browser-resolve": "^1.11.0",
"browserify-zlib": "~0.1.2",
"buffer": "^4.1.0",
"concat-stream": "~1.5.1",
"console-browserify": "^1.1.0",
"constants-browserify": "~1.0.0",
"crypto-browserify": "^3.0.0",
"defined": "^1.0.0",
"deps-sort": "^2.0.0",
"domain-browser": "~1.1.0",
"duplexer2": "~0.1.2",
"events": "~1.1.0",
"glob": "^5.0.15",
"has": "^1.0.0",
"htmlescape": "^1.1.0",
"stream-http": "^2.0.0",
"https-browserify": "~0.0.0",
"inherits": "~2.0.1",
"insert-module-globals": "^7.0.0",
"isarray": "0.0.1",
"labeled-stream-splicer": "^2.0.0",
"module-deps": "^4.0.2",
"os-browserify": "~0.1.1",
"parents": "^1.0.1",
"path-browserify": "~0.0.0",
"process": "~0.11.0",
"punycode": "^1.3.2",
"querystring-es3": "~0.2.0",
"read-only-stream": "^2.0.0",
"readable-stream": "^2.0.2",
"resolve": "^1.1.4",
"shasum": "^1.0.0",
"shell-quote": "^1.4.3",
"stream-browserify": "^2.0.0",
"string_decoder": "~0.10.0",
"subarg": "^1.0.0",
"syntax-error": "^1.1.1",
"through2": "^2.0.0",
"timers-browserify": "^1.0.1",
"tty-browserify": "~0.0.0",
"url": "~0.11.0",
"util": "~0.10.1",
"vm-browserify": "~0.0.1",
"xtend": "^4.0.0"
},
"devDependencies": {
"backbone": "~0.9.2",
"browser-unpack": "^1.1.1",
"coffee-script": "~1.10.0",
"coffeeify": "~1.1.0",
"es6ify": "~0.4.8",
"isstream": "^0.1.2",
"seq": "0.3.5",
"tap": "^2.2.0",
"temp": "^0.8.1",
"through": "^2.3.4"
},
"author": {
"name": "James Halliday",
"email": "mail#substack.net",
"url": "http://substack.net"
},
"scripts": {
"test": "tap test/*.js"
},
"license": "MIT",
"gitHead": "5b82a2f1bc061cb47ff4aa7c702ed79fc20effa8",
"bugs": {
"url": "https://github.com/substack/node-browserify/issues"
},
"homepage": "https://github.com/substack/node-browserify#readme",
"_id": "browserify#13.0.0",
"_shasum": "8f223bb24ff4ee4335e6bea9671de294e43ba6a3",
"_from": "browserify#latest",
"_npmVersion": "2.14.7",
"_nodeVersion": "4.2.3",
"_npmUser": {
"name": "feross",
"email": "feross#feross.org"
},
"dist": {
"shasum": "8f223bb24ff4ee4335e6bea9671de294e43ba6a3",
"tarball": "http://registry.npmjs.org/browserify/-/browserify- 13.0.0.tgz"
},
"maintainers": [
{
"name": "domenic",
"email": "d#domenic.me"
},
{
"name": "dominictarr",
"email": "dominic.tarr#gmail.com"
},
{
"name": "feross",
"email": "feross#feross.org"
},
{
"name": "jmm",
"email": "npm-public#jessemccarthy.net"
},
{
"name": "mafintosh",
"email": "mathiasbuus#gmail.com"
},
{
"name": "maxogden",
"email": "max#maxogden.com"
},
{
"name": "mellowmelon",
"email": "palmermebane#gmail.com"
},
{
"name": "substack",
"email": "substack#gmail.com"
},
{
"name": "terinjokes",
"email": "terinjokes#gmail.com"
},
{
"name": "thlorenz",
"email": "thlorenz#gmx.de"
},
{
"name": "zertosh",
"email": "zertosh#gmail.com"
}
],
"directories": {},
"_resolved": "https://registry.npmjs.org/browserify/-/browserify-13.0.0.tgz",
"readme": "ERROR: No README data found!"
}
I manage to run this without error by adding
{
"devDependencies": {
"browserify": "^13.0.0",
"gulp": "^3.9.1",
"gulp-autoprefixer": "^3.1.0",
"gulp-clean-css": "^2.0.4",
"gulp-connect": "^3.2.1",
"gulp-imagemin": "^2.4.0",
"gulp-less": "^3.0.5",
"gulp-plumber": "^1.1.0",
"gulp-uglify": "^1.5.3",
"vinyl-source-stream": "^1.1.0"
},
"dependencies": {
"angular": "^1.5.3",
"imagemin-pngquant": "^4.2.2"
},
//Tells browserify to use browserify-shim
"browserify": {
"transform": [ "browserify-shim" ]
},
"browserify-shim": {
"./app/scripts/app.js": "$"
}
}