[ACA-3821] Add lite-serve with VSCode launcher (#1584)

* Add lite-serve with VSCode launcher

* Make lite-serve smarter to work with Basic authtype as well

* Change and unify app-config-replace script
This commit is contained in:
Popovics András 2020-08-08 13:12:47 +02:00 committed by GitHub
parent d7e61e8fcb
commit 32502e60b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 973 additions and 213 deletions

1
.gitignore vendored
View File

@ -19,6 +19,7 @@
# IDE - VSCode # IDE - VSCode
.vscode/* .vscode/*
!.vscode/closest-config-finder.sh
!.vscode/settings.json !.vscode/settings.json
!.vscode/tasks.json !.vscode/tasks.json
!.vscode/launch.json !.vscode/launch.json

17
.vscode/closest-config-finder.sh vendored Executable file
View File

@ -0,0 +1,17 @@
specFile=$1;
configFile=$2;
findconfig() {
if [ -f "$1" ]; then
printf '%s\n' "${PWD%/}/$1"
elif [ "$PWD" = / ]; then
false
else
(cd .. && findconfig $1)
fi
}
DIR=$(dirname "$specFile")
cd $DIR
configFile=`findconfig "$configFile"`;
echo "$configFile";

21
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,21 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "e2e",
"program": "${workspaceFolder}/node_modules/protractor/bin/protractor",
"args": ["`${workspaceFolder}/.vscode/closest-config-finder.sh ${file} protractor.conf.js`", "--specs=${file}"],
"envFile": "${workspaceFolder}/.env",
"console": "integratedTerminal",
"sourceMaps": true,
"smartStep": true,
"skipFiles": ["${workspaceFolder}/node_modules/**/*.js", "<node_internals>/**/*.js"],
"internalConsoleOptions": "neverOpen"
}
]
}

View File

@ -171,6 +171,11 @@
"options": { "options": {
"publicHost": "http://localhost:4200", "publicHost": "http://localhost:4200",
"browserTarget": "app:build" "browserTarget": "app:build"
},
"configurations": {
"standalone": {
"watch": true
}
} }
}, },
"extract-i18n": { "extract-i18n": {
@ -380,5 +385,8 @@
"@schematics/angular:directive": { "@schematics/angular:directive": {
"prefix": "aca" "prefix": "aca"
} }
},
"cli": {
"analytics": "a5069b3a-642d-4d97-b810-0c24d7628413"
} }
} }

505
package-lock.json generated
View File

@ -5,9 +5,9 @@
"requires": true, "requires": true,
"dependencies": { "dependencies": {
"@alfresco/adf-cli": { "@alfresco/adf-cli": {
"version": "3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac", "version": "3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab",
"resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac.tgz", "resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab.tgz",
"integrity": "sha512-CyYT/+/X1nKJ92VFd60CcSDHiLH0Y2FztGRAhOkcIfL/x0RAXp8OLXrSXImwsJVAcKeIR+WJZiy9sAACndElyw==", "integrity": "sha512-Vq7J5D7YpvP7b8eJsauCykS3yNZElsUJwqQV9ZQ+B00HvHCMW2UUUd5VWLb9F/n82hKlsY9k8WSsDnP4aRcSIw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@alfresco/js-api": "3.10.0-23b97d354151ced90eb2fc68f9d57cad852376d7", "@alfresco/js-api": "3.10.0-23b97d354151ced90eb2fc68f9d57cad852376d7",
@ -29,33 +29,33 @@
} }
}, },
"@alfresco/adf-content-services": { "@alfresco/adf-content-services": {
"version": "3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac", "version": "3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab",
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac.tgz", "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab.tgz",
"integrity": "sha512-37lZG0s9WfyZYvuwiA/JZPO8iHWarRPUHujQbPPCGhRBUqCteix/7Qj2QXkF5aqjkkLpN4tAej/OyU18edYc2Q==", "integrity": "sha512-i89GrjsnhugcsNeAbBH/XEwAnEZI7fO9TezuAzBAw9pl2fr0jyjwvcHtrs0BmIT7+HsNv4AJ8ar9bCo7GDy0zg==",
"requires": { "requires": {
"tslib": "^2.0.0" "tslib": "^2.0.0"
} }
}, },
"@alfresco/adf-core": { "@alfresco/adf-core": {
"version": "3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac", "version": "3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab",
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac.tgz", "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab.tgz",
"integrity": "sha512-B2LQ6OU/qT8lhDbX4t6ZMa/zSTYDyse9VuzJwzAC2s0ppLcypp6AzNNeuTMdlyJyLEPXviSXVIAjxT1DJvMFbg==", "integrity": "sha512-di++9RaUxJhHfb4N33+Bf/4QmxRG2b7FHZcS3qkTlk28S0GqobzsMizkccMHmwEU5nOF/yJHJGVpaFvF7zHNSg==",
"requires": { "requires": {
"tslib": "^2.0.0" "tslib": "^2.0.0"
} }
}, },
"@alfresco/adf-extensions": { "@alfresco/adf-extensions": {
"version": "3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac", "version": "3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab",
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac.tgz", "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab.tgz",
"integrity": "sha512-DIC1QKnOaVugsNr2+nqH8BhfspN6/1MEovIf4IERuc142viGyDpGxkgaTzF/qDnYMBoAzDf1x2Qfz0y97g+HWw==", "integrity": "sha512-ped6r42Exxl17MtXUjEyPh/U5kZGfeGcT80qhQ9aqPOjfAZnmcfSPz7u+/j5jScHWDRbgTFCltiwwxl3N+2m1w==",
"requires": { "requires": {
"tslib": "^2.0.0" "tslib": "^2.0.0"
} }
}, },
"@alfresco/adf-testing": { "@alfresco/adf-testing": {
"version": "3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac", "version": "3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab",
"resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac.tgz", "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab.tgz",
"integrity": "sha512-4Pj8G8QXmyuLJir8CP9G57SprZfIxfwY3L3JWrQmwLLFTQdw+pEDlrNAD42yvUfSN42g+RvFs3zZTxVPhb7GwA==", "integrity": "sha512-2hJpNATtoHN+YdLodnekmE9J6R6Qo9sxvwCyFRUYdbVCZiv4smWysOuuCNHQt1o2KD/syxYrwnG8HO2X9YZCRQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"tslib": "^2.0.0" "tslib": "^2.0.0"
@ -490,6 +490,28 @@
"rxjs": "6.5.5" "rxjs": "6.5.5"
}, },
"dependencies": { "dependencies": {
"ansi-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
"dev": true
},
"ora": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/ora/-/ora-4.0.4.tgz",
"integrity": "sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==",
"dev": true,
"requires": {
"chalk": "^3.0.0",
"cli-cursor": "^3.1.0",
"cli-spinners": "^2.2.0",
"is-interactive": "^1.0.0",
"log-symbols": "^3.0.0",
"mute-stream": "0.0.8",
"strip-ansi": "^6.0.0",
"wcwidth": "^1.0.1"
}
},
"rxjs": { "rxjs": {
"version": "6.5.5", "version": "6.5.5",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
@ -499,6 +521,15 @@
"tslib": "^1.9.0" "tslib": "^1.9.0"
} }
}, },
"strip-ansi": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": {
"ansi-regex": "^5.0.0"
}
},
"tslib": { "tslib": {
"version": "1.13.0", "version": "1.13.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
@ -2996,7 +3027,6 @@
"version": "4.3.1", "version": "4.3.1",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
"integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
"dev": true,
"requires": { "requires": {
"type-fest": "^0.11.0" "type-fest": "^0.11.0"
} }
@ -4202,22 +4232,55 @@
"dev": true "dev": true
}, },
"chalk": { "chalk": {
"version": "1.1.3", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"requires": { "requires": {
"ansi-styles": "^2.2.1", "ansi-styles": "^4.1.0",
"escape-string-regexp": "^1.0.2", "supports-color": "^7.1.0"
"has-ansi": "^2.0.0", },
"strip-ansi": "^3.0.0", "dependencies": {
"supports-color": "^2.0.0" "ansi-styles": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
"requires": {
"@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"requires": {
"has-flag": "^4.0.0"
}
}
} }
}, },
"chardet": { "chardet": {
"version": "0.7.0", "version": "0.7.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
"dev": true
}, },
"chokidar": { "chokidar": {
"version": "3.4.1", "version": "3.4.1",
@ -4318,7 +4381,6 @@
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"dev": true,
"requires": { "requires": {
"restore-cursor": "^3.1.0" "restore-cursor": "^3.1.0"
} }
@ -4326,8 +4388,7 @@
"cli-spinners": { "cli-spinners": {
"version": "2.4.0", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.4.0.tgz", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.4.0.tgz",
"integrity": "sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA==", "integrity": "sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA=="
"dev": true
}, },
"cli-truncate": { "cli-truncate": {
"version": "2.1.0", "version": "2.1.0",
@ -4382,8 +4443,7 @@
"cli-width": { "cli-width": {
"version": "2.2.1", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
"integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw=="
"dev": true
}, },
"cliui": { "cliui": {
"version": "5.0.0", "version": "5.0.0",
@ -4592,17 +4652,40 @@
"version": "1.5.3", "version": "1.5.3",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
"integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
"dev": true,
"requires": { "requires": {
"color-name": "^1.0.0", "color-name": "^1.0.0",
"simple-swizzle": "^0.2.2" "simple-swizzle": "^0.2.2"
} }
}, },
"colornames": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz",
"integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y="
},
"colors": { "colors": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
"dev": true },
"colorspace": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz",
"integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==",
"requires": {
"color": "3.0.x",
"text-hex": "1.0.x"
},
"dependencies": {
"color": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz",
"integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==",
"requires": {
"color-convert": "^1.9.1",
"color-string": "^1.5.2"
}
}
}
}, },
"combined-stream": { "combined-stream": {
"version": "1.0.8", "version": "1.0.8",
@ -5061,8 +5144,7 @@
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
"dev": true
}, },
"cosmiconfig": { "cosmiconfig": {
"version": "5.2.1", "version": "5.2.1",
@ -6070,7 +6152,6 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"dev": true,
"requires": { "requires": {
"clone": "^1.0.2" "clone": "^1.0.2"
}, },
@ -6078,8 +6159,7 @@
"clone": { "clone": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
"dev": true
} }
} }
}, },
@ -6250,6 +6330,16 @@
"integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
"dev": true "dev": true
}, },
"diagnostics": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz",
"integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==",
"requires": {
"colorspace": "1.1.x",
"enabled": "1.0.x",
"kuler": "1.0.x"
}
},
"diff": { "diff": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@ -6551,6 +6641,14 @@
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true "dev": true
}, },
"enabled": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz",
"integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=",
"requires": {
"env-variable": "0.0.x"
}
},
"encodeurl": { "encodeurl": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@ -6710,6 +6808,11 @@
"integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
"dev": true "dev": true
}, },
"env-variable": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz",
"integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg=="
},
"err-code": { "err-code": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
@ -7208,7 +7311,6 @@
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
"integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
"dev": true,
"requires": { "requires": {
"chardet": "^0.7.0", "chardet": "^0.7.0",
"iconv-lite": "^0.4.24", "iconv-lite": "^0.4.24",
@ -7364,6 +7466,11 @@
"websocket-driver": ">=0.5.1" "websocket-driver": ">=0.5.1"
} }
}, },
"fecha": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz",
"integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg=="
},
"figgy-pudding": { "figgy-pudding": {
"version": "3.5.2", "version": "3.5.2",
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
@ -7374,7 +7481,6 @@
"version": "3.2.0", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
"integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
"dev": true,
"requires": { "requires": {
"escape-string-regexp": "^1.0.5" "escape-string-regexp": "^1.0.5"
} }
@ -7974,8 +8080,7 @@
"has-flag": { "has-flag": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
"dev": true
}, },
"has-own-prop": { "has-own-prop": {
"version": "2.0.0", "version": "2.0.0",
@ -8752,7 +8857,6 @@
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
"integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
"dev": true,
"requires": { "requires": {
"ansi-escapes": "^4.2.1", "ansi-escapes": "^4.2.1",
"chalk": "^3.0.0", "chalk": "^3.0.0",
@ -8772,67 +8876,22 @@
"ansi-regex": { "ansi-regex": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
"dev": true
},
"ansi-styles": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
"dev": true,
"requires": {
"@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
}, },
"emoji-regex": { "emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
"dev": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
}, },
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
"dev": true
}, },
"string-width": { "string-width": {
"version": "4.2.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
"integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": { "requires": {
"emoji-regex": "^8.0.0", "emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0", "is-fullwidth-code-point": "^3.0.0",
@ -8843,19 +8902,9 @@
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": { "requires": {
"ansi-regex": "^5.0.0" "ansi-regex": "^5.0.0"
} }
},
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
} }
} }
}, },
@ -9096,8 +9145,7 @@
"is-interactive": { "is-interactive": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
"integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
"dev": true
}, },
"is-module": { "is-module": {
"version": "1.0.0", "version": "1.0.0",
@ -9202,8 +9250,7 @@
"is-stream": { "is-stream": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
"dev": true
}, },
"is-svg": { "is-svg": {
"version": "3.0.0", "version": "3.0.0",
@ -9962,6 +10009,14 @@
"integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
"dev": true "dev": true
}, },
"kuler": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz",
"integrity": "sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==",
"requires": {
"colornames": "^1.1.1"
}
},
"latest-version": { "latest-version": {
"version": "5.1.0", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
@ -10505,7 +10560,6 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
"integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
"dev": true,
"requires": { "requires": {
"chalk": "^2.4.2" "chalk": "^2.4.2"
}, },
@ -10514,7 +10568,6 @@
"version": "3.2.1", "version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": { "requires": {
"color-convert": "^1.9.0" "color-convert": "^1.9.0"
} }
@ -10523,7 +10576,6 @@
"version": "2.4.2", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": { "requires": {
"ansi-styles": "^3.2.1", "ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5", "escape-string-regexp": "^1.0.5",
@ -10534,7 +10586,6 @@
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": { "requires": {
"has-flag": "^3.0.0" "has-flag": "^3.0.0"
} }
@ -10653,6 +10704,18 @@
"streamroller": "^2.2.4" "streamroller": "^2.2.4"
} }
}, },
"logform": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz",
"integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==",
"requires": {
"colors": "^1.2.1",
"fast-safe-stringify": "^2.0.4",
"fecha": "^4.2.0",
"ms": "^2.1.1",
"triple-beam": "^1.3.0"
}
},
"loglevel": { "loglevel": {
"version": "1.6.8", "version": "1.6.8",
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz",
@ -10909,8 +10972,7 @@
"mimic-fn": { "mimic-fn": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
"dev": true
}, },
"mimic-response": { "mimic-response": {
"version": "1.0.1", "version": "1.0.1",
@ -11192,8 +11254,7 @@
"mute-stream": { "mute-stream": {
"version": "0.0.8", "version": "0.0.8",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
"dev": true
}, },
"nan": { "nan": {
"version": "2.14.1", "version": "2.14.1",
@ -11874,11 +11935,15 @@
"wrappy": "1" "wrappy": "1"
} }
}, },
"one-time": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz",
"integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4="
},
"onetime": { "onetime": {
"version": "5.1.0", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
"integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
"dev": true,
"requires": { "requires": {
"mimic-fn": "^2.1.0" "mimic-fn": "^2.1.0"
} }
@ -11924,10 +11989,9 @@
} }
}, },
"ora": { "ora": {
"version": "4.0.4", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/ora/-/ora-4.0.4.tgz", "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz",
"integrity": "sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==", "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==",
"dev": true,
"requires": { "requires": {
"chalk": "^3.0.0", "chalk": "^3.0.0",
"cli-cursor": "^3.1.0", "cli-cursor": "^3.1.0",
@ -11942,67 +12006,15 @@
"ansi-regex": { "ansi-regex": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
"dev": true
},
"ansi-styles": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
"dev": true,
"requires": {
"@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
}, },
"strip-ansi": { "strip-ansi": {
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": { "requires": {
"ansi-regex": "^5.0.0" "ansi-regex": "^5.0.0"
} }
},
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
} }
} }
}, },
@ -12030,8 +12042,7 @@
"os-tmpdir": { "os-tmpdir": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
"dev": true
}, },
"osenv": { "osenv": {
"version": "0.1.5", "version": "0.1.5",
@ -13275,8 +13286,7 @@
"process-nextick-args": { "process-nextick-args": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
"dev": true
}, },
"promise-inflight": { "promise-inflight": {
"version": "1.0.1", "version": "1.0.1",
@ -13354,6 +13364,19 @@
"integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==",
"dev": true "dev": true
}, },
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
},
"q": { "q": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
@ -14148,7 +14171,6 @@
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"dev": true,
"requires": { "requires": {
"onetime": "^5.1.0", "onetime": "^5.1.0",
"signal-exit": "^3.0.2" "signal-exit": "^3.0.2"
@ -14267,8 +14289,7 @@
"run-async": { "run-async": {
"version": "2.4.1", "version": "2.4.1",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
"integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ=="
"dev": true
}, },
"run-parallel": { "run-parallel": {
"version": "1.1.9", "version": "1.1.9",
@ -14902,14 +14923,12 @@
"signal-exit": { "signal-exit": {
"version": "3.0.3", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
"dev": true
}, },
"simple-swizzle": { "simple-swizzle": {
"version": "0.2.2", "version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
"integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
"dev": true,
"requires": { "requires": {
"is-arrayish": "^0.3.1" "is-arrayish": "^0.3.1"
}, },
@ -14917,8 +14936,7 @@
"is-arrayish": { "is-arrayish": {
"version": "0.3.2", "version": "0.3.2",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
"dev": true
} }
} }
}, },
@ -15646,6 +15664,11 @@
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
"dev": true "dev": true
}, },
"stack-trace": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
"integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA="
},
"static-extend": { "static-extend": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
@ -16328,6 +16351,11 @@
} }
} }
}, },
"text-hex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
"integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
},
"tfunk": { "tfunk": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz", "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz",
@ -16335,13 +16363,26 @@
"requires": { "requires": {
"chalk": "^1.1.1", "chalk": "^1.1.1",
"object-path": "^0.9.0" "object-path": "^0.9.0"
},
"dependencies": {
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
}
} }
}, },
"through": { "through": {
"version": "2.3.8", "version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
"dev": true
}, },
"through2": { "through2": {
"version": "2.0.5", "version": "2.0.5",
@ -16416,7 +16457,6 @@
"version": "0.0.33", "version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
"dev": true,
"requires": { "requires": {
"os-tmpdir": "~1.0.2" "os-tmpdir": "~1.0.2"
} }
@ -16535,6 +16575,11 @@
"escape-string-regexp": "^1.0.2" "escape-string-regexp": "^1.0.2"
} }
}, },
"triple-beam": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
"integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
},
"ts-node": { "ts-node": {
"version": "8.10.2", "version": "8.10.2",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz",
@ -16735,8 +16780,7 @@
"type-fest": { "type-fest": {
"version": "0.11.0", "version": "0.11.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
"integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ=="
"dev": true
}, },
"type-is": { "type-is": {
"version": "1.6.18", "version": "1.6.18",
@ -17557,7 +17601,6 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
"integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
"dev": true,
"requires": { "requires": {
"defaults": "^1.0.3" "defaults": "^1.0.3"
} }
@ -17629,6 +17672,19 @@
"array-uniq": "^1.0.1" "array-uniq": "^1.0.1"
} }
}, },
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
},
"del": { "del": {
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
@ -18533,6 +18589,75 @@
} }
} }
}, },
"winston": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz",
"integrity": "sha512-zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw==",
"requires": {
"async": "^2.6.1",
"diagnostics": "^1.1.1",
"is-stream": "^1.1.0",
"logform": "^2.1.1",
"one-time": "0.0.4",
"readable-stream": "^3.1.1",
"stack-trace": "0.0.x",
"triple-beam": "^1.3.0",
"winston-transport": "^4.3.0"
},
"dependencies": {
"async": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
"requires": {
"lodash": "^4.17.14"
}
}
}
},
"winston-transport": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz",
"integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==",
"requires": {
"readable-stream": "^2.3.7",
"triple-beam": "^1.2.0"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"worker-farm": { "worker-farm": {
"version": "1.7.0", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",

View File

@ -17,6 +17,7 @@
"build.e2e": "npm run build.app -- --prod --configuration=e2e", "build.e2e": "npm run build.app -- --prod --configuration=e2e",
"test": "ng test app --code-coverage", "test": "ng test app --code-coverage",
"unit": "ng test --browsers=Chrome --watch", "unit": "ng test --browsers=Chrome --watch",
"lite-serve": "./scripts/run lite-serve",
"test:ci": "npm run build.extensions && ng test adf-office-services-ext --watch=false && ng test app --code-coverage --watch=false", "test:ci": "npm run build.extensions && ng test adf-office-services-ext --watch=false && ng test app --code-coverage --watch=false",
"lint": "ng lint && npm run spellcheck && npm run e2e.typecheck", "lint": "ng lint && npm run spellcheck && npm run e2e.typecheck",
"update-webdriver": "./scripts/update-webdriver.sh", "update-webdriver": "./scripts/update-webdriver.sh",
@ -33,11 +34,11 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@alfresco/adf-content-services": "3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac", "@alfresco/adf-content-services": "3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab",
"@alfresco/adf-core": "3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac", "@alfresco/adf-core": "3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab",
"@alfresco/adf-extensions": "3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac", "@alfresco/adf-extensions": "3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab",
"@alfresco/js-api": "3.10.0-23b97d354151ced90eb2fc68f9d57cad852376d7", "@alfresco/js-api": "3.10.0-23b97d354151ced90eb2fc68f9d57cad852376d7",
"@angular-custom-builders/lite-serve": "0.2.2", "@angular-custom-builders/lite-serve": "^0.2.2",
"@angular/animations": "10.0.4", "@angular/animations": "10.0.4",
"@angular/cdk": "^10.0.2", "@angular/cdk": "^10.0.2",
"@angular/common": "10.0.4", "@angular/common": "10.0.4",
@ -58,17 +59,21 @@
"@ngrx/store-devtools": "^9.2.0", "@ngrx/store-devtools": "^9.2.0",
"@ngx-translate/core": "^13.0.0", "@ngx-translate/core": "^13.0.0",
"browser-sync": "^2.26.12", "browser-sync": "^2.26.12",
"chalk": "^3.0.0",
"inquirer": "^7.1.0",
"minimatch-browser": "^1.0.0", "minimatch-browser": "^1.0.0",
"moment": "^2.27.0", "moment": "^2.27.0",
"moment-es6": "1.0.0", "moment-es6": "1.0.0",
"ora": "^4.0.3",
"pdfjs-dist": "2.4.456", "pdfjs-dist": "2.4.456",
"rxjs": "^6.6.2", "rxjs": "^6.6.2",
"tslib": "^2.0.1", "tslib": "^2.0.1",
"winston": "^3.2.1",
"zone.js": "~0.10.2" "zone.js": "~0.10.2"
}, },
"devDependencies": { "devDependencies": {
"@alfresco/adf-cli": "3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac", "@alfresco/adf-cli": "3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab",
"@alfresco/adf-testing": "3.10.0-89b37067ff6b1ccde8af1a1611828ee61da0bcac", "@alfresco/adf-testing": "3.10.0-61cac20ab3b1a76069dcfbfbe37619126d4b51ab",
"@angular-devkit/build-angular": "~0.1000.4", "@angular-devkit/build-angular": "~0.1000.4",
"@angular-devkit/build-ng-packagr": "~0.1000.5", "@angular-devkit/build-ng-packagr": "~0.1000.5",
"@angular/cli": "^10.0.5", "@angular/cli": "^10.0.5",

View File

@ -4,51 +4,73 @@ const program = require('commander');
require('dotenv').config({ path: process.env.ENV_FILE }); require('dotenv').config({ path: process.env.ENV_FILE });
const fs = require('fs'); const fs = require('fs');
const API_CONTENT_HOST = process.env.API_CONTENT_HOST || 'api'; const API_HOST = process.env.API_HOST || null;
const OAUTH_HOST = process.env.OAUTH_HOST || 'keycloak'; const API_CONTENT_HOST = process.env.API_CONTENT_HOST || API_HOST;
const API_PROCESS_HOST = process.env.API_PROCESS_HOST || API_HOST;
const API_AOS_HOST = process.env.AOS_HOST || API_HOST;
const OAUTH_HOST = process.env.OAUTH_HOST || 'oauth-host-default-replaced-value';
const IDENTITY_HOST = process.env.IDENTITY_HOST || 'identity-host-default-replaced-value';
const NOTIFICATION_LAST = parseInt(process.env.NOTIFICATION_LAST, 10) || 2000;
const options = { const options = {
apiHost: { apiHost: {
flags: '-a, --api-host', flags: '-a, --api-host',
description: "set apiHost's and ecmHost's value with API_CONTENT_HOST", description:
set: appConfig => { 'set apiHost=API_HOST, bpmHost=API_PROCESS_HOST, ecmHost=API_CONTENT_HOST, aosHost = API_AOS_HOST if present or fall back to API_HOST in each case',
set: (appConfig) => {
appConfig.apiHost = API_HOST;
appConfig.bpmHost = API_PROCESS_HOST;
appConfig.ecmHost = API_CONTENT_HOST; appConfig.ecmHost = API_CONTENT_HOST;
appConfig.aosHost = API_CONTENT_HOST + '/alfresco/aos'; appConfig.aosHost = API_AOS_HOST;
}
},
indentityHost: {
flags: '-i, --indentity-host',
description: "set identityHost's value with IDENTITY_HOST",
set: (appConfig) => {
appConfig.authType = 'OAUTH';
appConfig.identityHost = IDENTITY_HOST;
} }
}, },
oauthHost: { oauthHost: {
flags: '-o, --oauth-host', flags: '-o, --oauth-host',
description: "set oauth2.host's value with OAUTH_HOST", description: "set oauth2.host's value with OAUTH_HOST",
set: appConfig => { set: (appConfig) => {
appConfig.authType = 'OAUTH'; appConfig.authType = 'OAUTH';
appConfig.oauth2.host = OAUTH_HOST; appConfig.oauth2.host = OAUTH_HOST;
} }
},
notification: {
flags: '-n, --notification',
description: "set notificationDefaultDuration's value with <duration> and switch on showNotificationHistory",
set: (appConfig) => {
appConfig.showNotificationHistory = true;
appConfig.notificationDefaultDuration = NOTIFICATION_LAST;
}
} }
}; };
program program.version('0.0.1').requiredOption('-c, --config <path>', 'path to the app.config.json to reset its values with env vars');
.version('0.0.1')
.requiredOption(
'-c, --config <path>',
'path to the app.config.json to reset its values with env vars'
);
Object.keys(options).forEach(option => { Object.keys(options).forEach((option) => {
program.option(options[option].flags, options[option].description); program.option(options[option].flags, options[option].description);
}); });
program.parse(process.argv); program.parse(process.argv);
fs.readFile(program.config, (err, appConfigString) => { fs.readFile(program.config, (err, appConfigString) => {
if (err) throw err; if (err) {
let appConfig = JSON.parse(appConfigString); throw err;
}
Object.keys(options).forEach(option => { const appConfig = JSON.parse(appConfigString);
Object.keys(options).forEach((option) => {
if (program[option]) { if (program[option]) {
options[option].set(appConfig); options[option].set(appConfig);
} }
}); });
let appConfigReplacedJson = JSON.stringify(appConfig, null, 4); const appConfigReplacedJson = JSON.stringify(appConfig, null, 4);
fs.writeFileSync(program.config, appConfigReplacedJson); fs.writeFileSync(program.config, appConfigReplacedJson);
}); });

View File

@ -0,0 +1,38 @@
/*
* Copyright 2005-2019 Alfresco Software, Ltd. All rights reserved.
*
* License rights for this program may be obtained from Alfresco Software, Ltd.
* pursuant to a written agreement and any use of this program without such an
* agreement is prohibited.
*/
import { ParamType } from './params';
export type CommanderProcessor = (arg1: any, arg2: any) => void;
export type CommanderOptionParams = [string, string, CommanderProcessor?, any?];
export interface BaseParamOptions {
name: string;
alias: string;
title: string;
required: boolean;
processor?: CommanderProcessor;
default?: any;
}
export abstract class BaseParam {
protected type: ParamType;
constructor(protected options: BaseParamOptions) {}
abstract get commanderOption(): CommanderOptionParams;
abstract get inquirerOption(): any;
get isRequired() {
return this.options.required;
}
get name() {
return this.options.name;
}
}

View File

@ -0,0 +1,40 @@
/*
* Copyright 2005-2019 Alfresco Software, Ltd. All rights reserved.
*
* License rights for this program may be obtained from Alfresco Software, Ltd.
* pursuant to a written agreement and any use of this program without such an
* agreement is prohibited.
*/
import { ParamType } from './params';
import { BaseParamOptions, CommanderOptionParams, BaseParam } from './base-param';
export class BooleanParam extends BaseParam {
protected type = ParamType.confirm;
get commanderOption(): CommanderOptionParams {
const optionParams: CommanderOptionParams = [`-${this.options.alias}, --${this.options.name}`, this.options.title];
if (this.options.processor !== undefined) {
optionParams.push(this.options.processor);
} else {
optionParams.push((value, previousValue) => {
return value !== undefined ? !!value : previousValue;
});
}
if (this.options.default !== undefined) {
optionParams.push(this.options.default);
}
return optionParams;
}
get inquirerOption() {
return {
type: this.type,
name: this.options.name,
message: this.options.title
};
}
}

View File

@ -0,0 +1,58 @@
/*
* Copyright 2005-2019 Alfresco Software, Ltd. All rights reserved.
*
* License rights for this program may be obtained from Alfresco Software, Ltd.
* pursuant to a written agreement and any use of this program without such an
* agreement is prohibited.
*/
import { ParamType } from './params';
import { BaseParamOptions, CommanderOptionParams, BaseParam } from './base-param';
export interface ComplexCheckboxChoice {
name: string;
value?: any;
checked?: boolean;
short?: string;
}
export interface ChekboxParamOptions extends BaseParamOptions {
choices: string[] | ComplexCheckboxChoice[];
default?: any[];
}
export class CheckboxParam extends BaseParam {
protected type = ParamType.checkbox;
constructor(protected options: ChekboxParamOptions) {
super(options);
}
get commanderOption(): CommanderOptionParams {
const optionParams: CommanderOptionParams = [`-${this.options.alias}, --${this.options.name} <${this.options.name}>`, this.options.title];
if (this.options.processor !== undefined) {
optionParams.push(this.options.processor);
} else {
optionParams.push((value, previousValue) => {
return value !== undefined ? value.split(',') : previousValue;
});
}
if (this.options.default !== undefined) {
optionParams.push(this.options.default);
}
return optionParams;
}
get inquirerOption() {
return {
type: this.type,
name: this.options.name,
message: this.options.title,
choices: this.options.choices,
default: this.options.default
};
}
}

View File

@ -0,0 +1,55 @@
/*
* Copyright 2005-2019 Alfresco Software, Ltd. All rights reserved.
*
* License rights for this program may be obtained from Alfresco Software, Ltd.
* pursuant to a written agreement and any use of this program without such an
* agreement is prohibited.
*/
import commander, { program } from 'commander';
import * as inquirer from 'inquirer';
import { BooleanParam } from './boolean-param';
import { InputParam } from './input-param';
import { ListParam } from './list-param';
import { CheckboxParam } from './checkbox-param';
import * as logger from '../../tools/helpers/logger';
export type CliParam = ListParam | InputParam | BooleanParam | CheckboxParam;
export class CliReader {
private program: commander.Command;
constructor(name: string, usage: string, description: string, version: string) {
this.program = program;
this.program
.name(name)
.usage(usage)
.description(description)
.version(version)
.option('-d, --debug <level>', 'Set the output information level (silly, debug, verbose, info, warn, error)', 'info');
}
*getReader(params: CliParam[], cliArgs: string[]): Generator {
params.forEach((param) => {
program.option.apply(this.program, param.commanderOption);
});
this.program.parse(cliArgs);
logger.level = this.program.debug;
const commanderParams = params
.filter((param) => this.program[param.name] !== undefined)
.reduce((paramsAcc, param) => ({ ...paramsAcc, [param.name]: this.program[param.name] }), {});
yield commanderParams;
let unsetRequiredParams;
if (Object.keys(commanderParams).length) {
unsetRequiredParams = params.filter((param) => param.isRequired && this.program[param.name] === undefined).map((param) => param.inquirerOption);
} else {
unsetRequiredParams = params.map((param) => param.inquirerOption);
}
return yield inquirer.prompt(unsetRequiredParams).then((inquiredParams) => ({ ...commanderParams, ...inquiredParams }));
}
}

View File

@ -0,0 +1,36 @@
/*
* Copyright 2005-2019 Alfresco Software, Ltd. All rights reserved.
*
* License rights for this program may be obtained from Alfresco Software, Ltd.
* pursuant to a written agreement and any use of this program without such an
* agreement is prohibited.
*/
import { ParamType } from './params';
import { BaseParam, BaseParamOptions, CommanderOptionParams } from './base-param';
export class InputParam extends BaseParam {
protected type = ParamType.input;
get commanderOption(): CommanderOptionParams {
const optionParams: CommanderOptionParams = [`-${this.options.alias}, --${this.options.name} <${this.options.name}>`, this.options.title];
if (this.options.processor !== undefined) {
optionParams.push(this.options.processor);
}
if (this.options.default !== undefined) {
optionParams.push(this.options.default);
}
return optionParams;
}
get inquirerOption() {
return {
type: this.type,
name: this.options.name,
message: this.options.title
};
}
}

View File

@ -0,0 +1,54 @@
/*
* Copyright 2005-2019 Alfresco Software, Ltd. All rights reserved.
*
* License rights for this program may be obtained from Alfresco Software, Ltd.
* pursuant to a written agreement and any use of this program without such an
* agreement is prohibited.
*/
import { ParamType } from './params';
import { BaseParamOptions, CommanderOptionParams, BaseParam } from './base-param';
export interface ComplexListChoice {
name: string;
value?: any;
disabled?: boolean;
short?: string;
}
export interface ListParamOptions extends BaseParamOptions {
choices: string[] | ComplexListChoice[];
pageSize?: number;
}
export class ListParam extends BaseParam {
protected type = ParamType.list;
constructor(protected options: ListParamOptions) {
super(options);
}
get commanderOption(): CommanderOptionParams {
const optionParams: CommanderOptionParams = [`-${this.options.alias}, --${this.options.name} <${this.options.name}>`, this.options.title];
if (this.options.processor !== undefined) {
optionParams.push(this.options.processor);
}
if (this.options.default !== undefined) {
optionParams.push(this.options.default);
}
return optionParams;
}
get inquirerOption() {
return {
type: this.type,
name: this.options.name,
message: this.options.title,
choices: this.options.choices,
pageSize: this.options.pageSize
};
}
}

View File

@ -0,0 +1,14 @@
/*
* Copyright 2005-2019 Alfresco Software, Ltd. All rights reserved.
*
* License rights for this program may be obtained from Alfresco Software, Ltd.
* pursuant to a written agreement and any use of this program without such an
* agreement is prohibited.
*/
export enum ParamType {
input = 'input',
list = 'list',
checkbox = 'checkbox',
confirm = 'confirm'
}

View File

@ -0,0 +1,29 @@
/*
* Copyright 2005-2019 Alfresco Software, Ltd. All rights reserved.
*
* License rights for this program may be obtained from Alfresco Software, Ltd.
* pursuant to a written agreement and any use of this program without such an
* agreement is prohibited.
*/
import * as angularJson from 'angular.json';
export const getApps = () => {
return Object.keys(angularJson.projects)
.map((projectName) => ({ name: projectName, ...angularJson.projects[projectName] }))
.filter((project) => project.projectType === 'application')
.filter((project) => project.name.indexOf('e2e') === -1);
};
export const getE2Es = () => {
return Object.keys(angularJson.projects)
.map((projectName) => ({ name: projectName, ...angularJson.projects[projectName] }))
.filter((project) => project.projectType === 'application')
.filter((project) => project.name.endsWith('-e2e'));
};
export const getLibs = () => {
return Object.keys(angularJson.projects)
.map((projectName) => ({ name: projectName, ...angularJson.projects[projectName] }))
.filter((project) => project.projectType === 'library');
};

159
scripts/npm/lite-serve.ts Executable file
View File

@ -0,0 +1,159 @@
/*
* Copyright 2005-2019 Alfresco Software, Ltd. All rights reserved.
*
* License rights for this program may be obtained from Alfresco Software, Ltd.
* pursuant to a written agreement and any use of this program without such an
* agreement is prohibited.
*/
import { getApps } from './helpers/project-selectors';
import { existsSync } from 'fs';
import { resolve } from 'path';
import { spawn } from 'child_process';
import { yellow, green, red } from 'chalk';
import { ListParam, ComplexListChoice } from 'clireader/list-param';
import { CheckboxParam } from '../clireader/checkbox-param';
import { CliReader, CliParam } from 'clireader/cli-reader';
import * as logger from '../../tools/helpers/logger';
import * as ora from 'ora';
require('dotenv').config({ path: process.env.ENV_FILE });
const API_HOST = process.env.API_HOST;
const OAUTH_HOST = process.env.OAUTH_HOST;
const IDENTITY_HOST = process.env.IDENTITY_HOST;
const NOTIFICATION_LAST = process.env.NOTIFICATION_LAST;
interface LiteServeRunnerInputs {
app: string;
configRewrite: string[];
}
export default class LiteServeRunner {
private cliReader: CliReader;
private inputParams: CliParam[];
constructor(private cliArgs: any[]) {
this.cliReader = new CliReader('lite-serve', '[options]', 'Start lite-serve for previously built app', '0.0.1');
this.inputParams = [
new ListParam({
name: 'app',
alias: 'a',
title: `Which ${yellow('prebuilt')} application to serve with lite-serve?`,
required: true,
choices: this.getAppList.bind(this),
pageSize: 30
}),
new CheckboxParam({
name: 'configRewrite',
alias: 'c',
title: 'Rewrite app.config.json with the following environment vars?',
required: false,
choices: [
...(API_HOST !== undefined ? [{ name: `API_HOST=${API_HOST}`, value: 'a', short: 'API_HOST', checked: true }] : []),
...(OAUTH_HOST !== undefined
? [{ name: `OAUTH_HOST=${OAUTH_HOST} ${red('+ authType=OAUTH also!!!')}`, value: 'o', short: 'OAUTH_HOST', checked: true }]
: []),
...(IDENTITY_HOST !== undefined
? [{ name: `IDENTITY_HOST=${IDENTITY_HOST} ${red('+ authType=OAUTH also!!!')}`, value: 'i', short: 'IDENTITY_HOST', checked: true }]
: []),
...(NOTIFICATION_LAST !== undefined
? [{ name: `NOTIFICATION_LAST=${NOTIFICATION_LAST}`, value: 'n', short: 'NOTIFICATION_LAST', checked: true }]
: [])
]
})
];
}
run() {
const readerGenerator = this.cliReader.getReader(this.inputParams, this.cliArgs);
const program: Object = readerGenerator.next().value;
const builtApps = this.getAppList().filter((app) => !app.disabled);
if (!builtApps.length) {
logger.error('No prebuilt app found.');
process.exit(0);
}
const inputInquirer = <Promise<Object>>readerGenerator.next().value;
return inputInquirer.then(this.appConfigReplace.bind(this)).then(this.spawnLiteServer.bind(this)).catch(logger.error.bind(logger));
}
private appConfigReplace(inputParams: LiteServeRunnerInputs) {
return new Promise((resolvePromise, reject) => {
if (!inputParams['configRewrite'] || !inputParams['configRewrite'].length) {
logger.verbose(green('No rewrite has been made'));
resolvePromise(inputParams);
return;
}
let appPath = getApps()
.filter((app) => app.name === inputParams.app)
.map((project) => this.getOutputPath(project))[0];
appPath = resolve(appPath, 'app.config.json');
const rewriteFlags = `-${inputParams['configRewrite'].join('')}`;
const spinner = ora(`Rewriting ${appPath} with flags: ${rewriteFlags}`).start();
const replace = spawn(process.cwd() + '/scripts/app-config-replace.js', [`--config=${appPath}`, rewriteFlags]);
replace.stdout.on('data', (data) => logger.verbose(data.toString()));
replace.stderr.on('data', (data) => {
logger.error(data.toString());
reject();
});
replace.on('exit', (code) => {
spinner.succeed();
logger.verbose(green(`Rewrite ${appPath} succeeded!`));
resolvePromise(inputParams);
});
});
}
private spawnLiteServer(inputParams: LiteServeRunnerInputs) {
const spinner = ora(`Starting lite-serve, please wait and don't move!`).start();
return new Promise((resolvePromise, reject) => {
const liteServe = spawn('npm', ['run', '--quiet', 'ng', 'run', `${inputParams.app}:lite-serve:standalone`]);
process.on('SIGINT', () => {
liteServe.kill('SIGINT');
spinner.text = red('Lite-serve terminated.');
spinner.fail();
});
liteServe.stdout.on('data', (data) => {
if (data.toString().includes(`lite-serve serving folder`)) {
spinner.text = green('Lite-serve is running.');
}
logger.verbose(data.toString());
});
liteServe.stderr.on('data', (data) => {
logger.error(data.toString());
reject();
});
liteServe.on('exit', (code) => {
logger.verbose('Lite-serve process exited with code ' + code.toString());
resolvePromise();
});
});
}
private getOutputPath(project) {
return resolve(process.cwd(), project.architect.build.options.outputPath);
}
private getAppList(): ComplexListChoice[] {
return getApps().map((project) => {
if (existsSync(this.getOutputPath(project))) {
return {
name: project.name,
disabled: false
};
}
return {
name: `${project.name} (not built)`,
disabled: true
};
});
}
}

20
scripts/run Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env node
const path = require('path');
const tsConfigPath = path.resolve(__dirname, 'tsconfig.json');
const tsConfig = require(tsConfigPath);
require('ts-node').register({ project: tsConfigPath });
require('tsconfig-paths').register({
project: tsConfigPath,
baseUrl: path.resolve(__dirname),
paths: tsConfig.compilerOptions.paths
});
const handlerParam = process.argv[2];
const RunnerClass = require(`./npm/${handlerParam}.ts`).default;
const runnerArgs = [ ...process.argv ];
runnerArgs.splice(2, 1);
const runner = new RunnerClass(runnerArgs);
runner.run();

32
scripts/tsconfig.json Normal file
View File

@ -0,0 +1,32 @@
{
"compilerOptions": {
"outDir": "./dist/scripts",
"module": "commonjs",
"target": "es5",
"baseUrl": ".",
"sourceMap": false,
"declaration": false,
"moduleResolution": "node",
"resolveJsonModule": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"skipLibCheck": true,
"noUnusedLocals": false,
"noUnusedParameters": false,
"noImplicitReturns": true,
"allowSyntheticDefaultImports": true,
"typeRoots": [
"node_modules/@types",
"node_modules/commander/typings/index.d.ts"
],
"lib": ["es2018", "dom"],
"types": ["node", "jasmine", "jest"],
"paths": {
"angular.json": ["../angular.json"]
}
},
"exclude": ["node_modules"],
"angularCompilerOptions": {
"preserveWhitespaces": false
}
}

26
tools/helpers/logger.js Normal file
View File

@ -0,0 +1,26 @@
const { createLogger, transports, format } = require('winston');
const { yellow, green, red, blue, magenta, cyan } = require('chalk');
const levels = {
error: red,
warn: yellow,
info: cyan,
verbose: magenta,
debug: green,
silly: blue
};
const myFormat = format.printf(({ level, message, label, timestamp }) => {
return `[${levels[level](timestamp)}]: ${message}`;
});
module.exports = createLogger({
level: 'silly',
format: format.combine(
// format.splat(),
format.timestamp(),
format.prettyPrint(),
myFormat
),
transports: [new transports.Console()]
});