mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-05-10 06:59:46 +00:00
refactor: app deployment
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"all": true,
|
"all": true,
|
||||||
"src": "./src",
|
"src": "./src",
|
||||||
"reporter": ["text", "text-summary", "cobertura", "html"]
|
"reporter": ["text", "text-summary", "cobertura"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
**/node_modules
|
|
||||||
**/docs
|
|
||||||
**/coverage
|
|
||||||
**/.turbo
|
|
||||||
**/.idea
|
|
||||||
**/.vscode
|
|
||||||
**/.env*
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -17,6 +17,7 @@ www/
|
|||||||
|
|
||||||
.docs.json
|
.docs.json
|
||||||
coverage.xml
|
coverage.xml
|
||||||
|
report-junit.xml
|
||||||
.deploy/
|
.deploy/
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
|
image: registry.gitlab.com/openstapps/projectmanagement/builder:v18
|
||||||
include: '/backend/backend/.gitlab-ci.yml'
|
include: '/backend/backend/.gitlab-ci.yml'
|
||||||
|
|
||||||
|
#variables:
|
||||||
|
# GIT_CLEAN_FLAGS: -ffdx -e www/
|
||||||
|
|
||||||
default:
|
default:
|
||||||
image: registry.gitlab.com/openstapps/projectmanagement/builder:v18
|
|
||||||
tags:
|
tags:
|
||||||
- performance
|
- performance
|
||||||
|
interruptible: true
|
||||||
before_script:
|
before_script:
|
||||||
- echo TURBO_API=$TURBO_API >> .env.local
|
- echo TURBO_API=$TURBO_API >> .env.local
|
||||||
- echo TURBO_TOKEN=$TURBO_TOKEN >> .env.local
|
- echo TURBO_TOKEN=$TURBO_TOKEN >> .env.local
|
||||||
@@ -12,54 +16,89 @@ default:
|
|||||||
cache: &pnpm_cache
|
cache: &pnpm_cache
|
||||||
key:
|
key:
|
||||||
files:
|
files:
|
||||||
- pnpm-lock.yaml
|
- pnpm-lock.yaml
|
||||||
paths:
|
paths:
|
||||||
- .pnpm-store/
|
- .pnpm-store/
|
||||||
- node-modules/
|
|
||||||
policy: pull
|
policy: pull
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
|
- images
|
||||||
- test
|
- test
|
||||||
- deploy
|
- deploy
|
||||||
|
|
||||||
build:
|
build:
|
||||||
stage: build
|
stage: build
|
||||||
interruptible: true
|
|
||||||
script:
|
script:
|
||||||
- pnpm install
|
- pnpm config set recursive-install false
|
||||||
|
- pnpm i --prefer-offline
|
||||||
|
- pnpm build:full:skip || pnpm i -r --prefer-offline
|
||||||
- pnpm build:full
|
- pnpm build:full
|
||||||
- mv frontend/app/www www
|
- mv frontend/app/www www
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- www
|
- www
|
||||||
|
- ./**/.turbo/
|
||||||
|
- ./backend/backend/lib
|
||||||
|
- ./backend/proxy/lib
|
||||||
|
- ./configuration/projectmanagement/lib
|
||||||
|
- ./examples/minimal-connector/lib
|
||||||
|
- ./examples/minimal-plugin/lib
|
||||||
|
- ./packages/api-cli/lib
|
||||||
|
- ./packages/api-plugin/lib
|
||||||
|
- ./packages/api/lib
|
||||||
|
- ./packages/collection-utils/lib
|
||||||
|
- ./packages/core-tools/lib
|
||||||
|
- ./packages/core/lib
|
||||||
|
- ./packages/easy-ast/lib
|
||||||
|
- ./packages/es-mapping-generator/lib
|
||||||
|
- ./packages/gitlab-api/lib
|
||||||
|
- ./packages/logger/lib
|
||||||
cache:
|
cache:
|
||||||
<<: *pnpm_cache
|
<<: *pnpm_cache
|
||||||
policy: pull-push
|
policy: pull-push
|
||||||
# rules:
|
|
||||||
# - if: $CI_COMMIT_BRANCH == "develop"
|
|
||||||
# when: never
|
|
||||||
# - if: $CI_COMMIT_BRANCH == "master"
|
|
||||||
# when: never
|
|
||||||
# - when: always
|
|
||||||
|
|
||||||
unit:
|
unit:
|
||||||
stage: test
|
stage: test
|
||||||
interruptible: true
|
|
||||||
script:
|
script:
|
||||||
- pnpm install
|
- pnpm config set recursive-install false
|
||||||
|
- pnpm i --prefer-offline
|
||||||
|
- pnpm test:skip || pnpm i -r --prefer-offline
|
||||||
- pnpm test
|
- pnpm test
|
||||||
coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/'
|
coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/'
|
||||||
artifacts:
|
artifacts:
|
||||||
|
when: always
|
||||||
|
paths:
|
||||||
|
- report-junit.xml
|
||||||
|
- coverage.xml
|
||||||
reports:
|
reports:
|
||||||
|
junit:
|
||||||
|
- report-junit.xml
|
||||||
coverage_report:
|
coverage_report:
|
||||||
coverage_format: cobertura
|
coverage_format: cobertura
|
||||||
path: coverage.xml
|
path: coverage.xml
|
||||||
|
|
||||||
|
image:database:
|
||||||
|
stage: images
|
||||||
|
image:
|
||||||
|
name: gcr.io/kaniko-project/executor:v1.9.0-debug
|
||||||
|
entrypoint: [""]
|
||||||
|
before_script: []
|
||||||
|
cache: []
|
||||||
|
script:
|
||||||
|
- /kaniko/executor
|
||||||
|
--context "${CI_PROJECT_DIR}/backend/database"
|
||||||
|
--dockerfile "${CI_PROJECT_DIR}/backend/database/Dockerfile"
|
||||||
|
--destination "${CI_REGISTRY_IMAGE}/database:${CI_COMMIT_BRANCH}"
|
||||||
|
only:
|
||||||
|
refs:
|
||||||
|
- branches
|
||||||
|
changes:
|
||||||
|
- backend/database/**/*
|
||||||
|
|
||||||
# TODO!!
|
# TODO!!
|
||||||
# integration:
|
# integration:
|
||||||
# stage: test
|
# stage: test
|
||||||
# interruptible: true
|
|
||||||
# variables:
|
# variables:
|
||||||
# DOCKER_DRIVER: overlay2
|
# DOCKER_DRIVER: overlay2
|
||||||
# services:
|
# services:
|
||||||
|
|||||||
6
.gitlab/ci/install-for-turbo.sh
Normal file
6
.gitlab/ci/install-for-turbo.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
if pnpm dlx turbo-ignore "$@"
|
||||||
|
then
|
||||||
|
pnpm config --location=project set recursive-install false
|
||||||
|
fi
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
{
|
{
|
||||||
"extension": ["ts"],
|
"extension": ["ts"],
|
||||||
"node-option": ["loader=ts-node/esm"],
|
"node-option": ["loader=ts-node/esm"],
|
||||||
|
"reporter": "mocha-junit-reporter",
|
||||||
|
"reporter-option": ["mochaFile=coverage/report-junit.xml"],
|
||||||
"spec": ["test/**/*.spec.ts"]
|
"spec": ["test/**/*.spec.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
3
.npmrc
3
.npmrc
@@ -1 +1,2 @@
|
|||||||
auto-install-peers=true
|
auto-install-peers=true
|
||||||
|
recursive-install=false
|
||||||
|
|||||||
12
Dockerfile
12
Dockerfile
@@ -1,12 +0,0 @@
|
|||||||
FROM registry.gitlab.com/openstapps/projectmanagement/node:v18 as workspace
|
|
||||||
|
|
||||||
USER root
|
|
||||||
RUN apk add --update python3 py3-pip make g++ gcompat
|
|
||||||
|
|
||||||
WORKDIR /build
|
|
||||||
COPY pnpm-lock.yaml ./
|
|
||||||
RUN pnpm fetch --prod
|
|
||||||
|
|
||||||
ADD . ./
|
|
||||||
|
|
||||||
RUN pnpm install -r --offline --prod
|
|
||||||
@@ -1,15 +1,21 @@
|
|||||||
integration:backend:
|
integration:backend:
|
||||||
image: registry.gitlab.com/openstapps/projectmanagement/builder:v18
|
image: registry.gitlab.com/openstapps/projectmanagement/builder:v18
|
||||||
stage: test
|
stage: test
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
variables:
|
variables:
|
||||||
DOCKER_DRIVER: overlay2
|
DOCKER_DRIVER: overlay2
|
||||||
|
WAIT_FOR_SERVICES_TIMEOUT: 1
|
||||||
services:
|
services:
|
||||||
- docker:dind
|
- name: registry.gitlab.com/openstapps/database:latest
|
||||||
|
alias: elasticsearch
|
||||||
script:
|
script:
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
- pnpm --filter=@openstapps/backend --filter=@openstapps/api-cli install --prefer-offline
|
||||||
- pnpm install --offline
|
|
||||||
- pnpm test:integration
|
- pnpm test:integration
|
||||||
tags:
|
tags:
|
||||||
- secrecy
|
- performance
|
||||||
|
artifacts:
|
||||||
|
when: always
|
||||||
|
paths:
|
||||||
|
- backend/backend/coverage/integration-report-junit.xml
|
||||||
|
reports:
|
||||||
|
junit:
|
||||||
|
- backend/backend/coverage/integration-report-junit.xml
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
FROM registry.gitlab.com/openstapps/projectmanagement/node:v18
|
FROM registry.gitlab.com/openstapps/projectmanagement/node:v18
|
||||||
|
|
||||||
|
USER root
|
||||||
|
RUN apk add --update python3 py3-pip make g++ gcompat
|
||||||
|
|
||||||
USER node
|
USER node
|
||||||
|
ADD --chown=node:node . /app
|
||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY --chown=node:node --from=pruned pruned .
|
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
ENTRYPOINT ["node", "app.js"]
|
ENTRYPOINT ["node", "app.js"]
|
||||||
|
|||||||
22
backend/backend/integration-test.sh
Executable file
22
backend/backend/integration-test.sh
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
ES_HOST="elasticsearch"
|
||||||
|
BACKEND_HOST="localhost"
|
||||||
|
if [ -z $GITLAB_CI ]; then
|
||||||
|
ES_HOST=localhost
|
||||||
|
fi
|
||||||
|
|
||||||
|
( STAPPS_LOG_LEVEL=31 STAPPS_EXIT_LEVEL=8 NODE_CONFIG_ENV=elasticsearch NODE_ENV=integration-test ALLOW_NO_TRANSPORT=true ES_ADDR=http://$ES_HOST:9200 node app.js ) & backend_pid=$!
|
||||||
|
( openstapps-api e2e http://$BACKEND_HOST:3000 --reportPath coverage/integration-report-junit.xml --waiton tcp:$BACKEND_HOST:3000 --samples node_modules/@openstapps/core/test/resources/indexable ) & api_cli_pid=$!
|
||||||
|
|
||||||
|
## Check output codes
|
||||||
|
# api-cli output defines passing the test
|
||||||
|
# backend should not exit early
|
||||||
|
|
||||||
|
wait $api_cli_pid
|
||||||
|
api_cli_exit=$?
|
||||||
|
wait $backend_pid
|
||||||
|
backend_exit=$?
|
||||||
|
|
||||||
|
if [ "$api_cli_exit" -eq "0" ]; then
|
||||||
|
echo "FINISHED";
|
||||||
|
exit;
|
||||||
|
fi
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
build: .
|
build:
|
||||||
|
dockerfile: ./Dockerfile
|
||||||
|
context: ../../.deploy/backend
|
||||||
ports:
|
ports:
|
||||||
- '3000:3000'
|
- '3000:3000'
|
||||||
environment:
|
environment:
|
||||||
@@ -11,6 +13,7 @@ services:
|
|||||||
NODE_ENV: 'integration-test'
|
NODE_ENV: 'integration-test'
|
||||||
ALLOW_NO_TRANSPORT: 'true'
|
ALLOW_NO_TRANSPORT: 'true'
|
||||||
ES_ADDR: 'http://elasticsearch:9200'
|
ES_ADDR: 'http://elasticsearch:9200'
|
||||||
|
command: wait-for http://elasticsearch:9200 -t 120 -- node app.js
|
||||||
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
build: ../database
|
build: ../database
|
||||||
@@ -18,7 +21,9 @@ services:
|
|||||||
- '9200:9200'
|
- '9200:9200'
|
||||||
|
|
||||||
api-cli:
|
api-cli:
|
||||||
build: ../../packages/api-cli
|
build:
|
||||||
|
dockerfile: ../../packages/api-cli/Dockerfile
|
||||||
|
context: ../../.deploy/api-cli
|
||||||
environment:
|
environment:
|
||||||
STAPPS_LOG_LEVEL: '31'
|
STAPPS_LOG_LEVEL: '31'
|
||||||
STAPPS_EXIT_LEVEL: '8'
|
STAPPS_EXIT_LEVEL: '8'
|
||||||
|
|||||||
@@ -21,21 +21,22 @@
|
|||||||
"app.js",
|
"app.js",
|
||||||
"lib",
|
"lib",
|
||||||
"config",
|
"config",
|
||||||
|
"Dockerfile",
|
||||||
"README.md",
|
"README.md",
|
||||||
"ROUTES.md"
|
"ROUTES.md"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup-node",
|
"build": "tsup-node",
|
||||||
|
"deploy": "pnpm --prod --filter=@openstapps/backend deploy ../../.deploy/backend",
|
||||||
"dev": "tsup --watch --onSuccess \"pnpm run start\"",
|
"dev": "tsup --watch --onSuccess \"pnpm run start\"",
|
||||||
"format": "prettier . -c --ignore-path ../../.gitignore",
|
"format": "prettier . -c --ignore-path ../../.gitignore",
|
||||||
"format:fix": "prettier --write . --ignore-path ../../.gitignore",
|
"format:fix": "prettier --write . --ignore-path ../../.gitignore",
|
||||||
"lint": "tsc --noEmit && eslint --ext .ts src/",
|
"lint": "tsc --noEmit && eslint --ext .ts src/",
|
||||||
"lint:fix": "eslint --fix --ext .ts src/",
|
"lint:fix": "eslint --fix --ext .ts src/",
|
||||||
"prune:integration": "pnpm --filter=backend --prod deploy pruned && pnpm --filter=api-cli --prod deploy ../../packages/api-cli/pruned",
|
|
||||||
"start": "cross-env NODE_CONFIG_ENV=elasticsearch ALLOW_NO_TRANSPORT=true node app.js",
|
"start": "cross-env NODE_CONFIG_ENV=elasticsearch ALLOW_NO_TRANSPORT=true node app.js",
|
||||||
"start:debug": "cross-env STAPPS_LOG_LEVEL=31 NODE_CONFIG_ENV=elasticsearch ALLOW_NO_TRANSPORT=true node app.js",
|
"start:debug": "cross-env STAPPS_LOG_LEVEL=31 NODE_CONFIG_ENV=elasticsearch ALLOW_NO_TRANSPORT=true node app.js",
|
||||||
"test": "pnpm run test:unit",
|
"test": "pnpm run test:unit",
|
||||||
"test:integration": "pnpm prune:integration && docker-compose -f integration-test.yml up --abort-on-container-exit --exit-code-from api-cli",
|
"test:integration": "sh integration-test.sh",
|
||||||
"test:unit": "cross-env NODE_CONFIG_ENV=elasticsearch ALLOW_NO_TRANSPORT=true STAPPS_LOG_LEVEL=0 mocha --exit"
|
"test:unit": "cross-env NODE_CONFIG_ENV=elasticsearch ALLOW_NO_TRANSPORT=true STAPPS_LOG_LEVEL=0 mocha --exit"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -71,6 +72,7 @@
|
|||||||
"uuid": "8.3.2"
|
"uuid": "8.3.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@openstapps/api-cli": "workspace:*",
|
||||||
"@openstapps/eslint-config": "workspace:*",
|
"@openstapps/eslint-config": "workspace:*",
|
||||||
"@openstapps/prettier-config": "workspace:*",
|
"@openstapps/prettier-config": "workspace:*",
|
||||||
"@openstapps/tsconfig": "workspace:*",
|
"@openstapps/tsconfig": "workspace:*",
|
||||||
@@ -89,6 +91,7 @@
|
|||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"get-port": "5.1.1",
|
"get-port": "5.1.1",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"mocked-env": "1.3.5",
|
"mocked-env": "1.3.5",
|
||||||
"redoc-cli": "0.13.20",
|
"redoc-cli": "0.13.20",
|
||||||
"sinon": "15.0.4",
|
"sinon": "15.0.4",
|
||||||
@@ -118,12 +121,5 @@
|
|||||||
"overrides": [
|
"overrides": [
|
||||||
"test"
|
"test"
|
||||||
]
|
]
|
||||||
},
|
|
||||||
"pnpm": {
|
|
||||||
"peerDependencyRules": {
|
|
||||||
"allowedVersions": {
|
|
||||||
"rxjs": "7.x"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": ["//"],
|
|
||||||
"pipeline": {
|
|
||||||
"TODO:test:integration": {
|
|
||||||
"dependsOn": [
|
|
||||||
"@openstapps/database#build:docker",
|
|
||||||
"@openstapps/backend#build:docker",
|
|
||||||
"@openstapps/api-cli#build:docker"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -68,6 +68,7 @@
|
|||||||
"c8": "7.14.0",
|
"c8": "7.14.0",
|
||||||
"chai": "4.3.7",
|
"chai": "4.3.7",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"sinon": "15.0.4",
|
"sinon": "15.0.4",
|
||||||
"sinon-chai": "3.7.0",
|
"sinon-chai": "3.7.0",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
|
|||||||
@@ -15,11 +15,6 @@
|
|||||||
"README.md"
|
"README.md"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"changelog": "npx conventional-changelog-cli -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'",
|
|
||||||
"postversion": "npm run changelog",
|
|
||||||
"prepublishOnly": "npm test",
|
|
||||||
"preversion": "npm run prepublishOnly",
|
|
||||||
"push": "git push && git push origin \"v$npm_package_version\"",
|
|
||||||
"test": "npx prettier --config index.json --check \"test/*.js\""
|
"test": "npx prettier --config index.json --check \"test/*.js\""
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -58,6 +58,7 @@
|
|||||||
"chai": "4.3.7",
|
"chai": "4.3.7",
|
||||||
"chai-as-promised": "7.1.1",
|
"chai-as-promised": "7.1.1",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
|
|||||||
10
coverage.mjs
10
coverage.mjs
@@ -2,8 +2,16 @@
|
|||||||
import {promisify} from 'node:util';
|
import {promisify} from 'node:util';
|
||||||
import {glob} from 'glob';
|
import {glob} from 'glob';
|
||||||
import {exec} from 'node:child_process';
|
import {exec} from 'node:child_process';
|
||||||
|
import {mergeFiles} from 'junit-report-merger';
|
||||||
|
|
||||||
const files = await glob('./*/*/coverage/cobertura-coverage.xml');
|
const files = await glob('./*/*/coverage/cobertura-coverage.xml');
|
||||||
const args = files.map(it => `${it.split('/', 2)[1]}='${it}'`);
|
const args = files.map(it => `${it.split('/', 2)[1]}='${it}'`);
|
||||||
|
|
||||||
console.log(await promisify(exec)(`cobertura-merge -o ./coverage.xml ${args.join(' ')}`));
|
console.log(
|
||||||
|
'Collecting coverage...',
|
||||||
|
await promisify(exec)(`cobertura-merge -o ./coverage.xml ${args.join(' ')}`),
|
||||||
|
);
|
||||||
|
|
||||||
|
const reportFiles = await glob('./*/*/coverage/report-junit.xml');
|
||||||
|
console.log('Collecting reports...', reportFiles);
|
||||||
|
await mergeFiles('./report-junit.xml', reportFiles);
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
"chai-as-promised": "7.1.1",
|
"chai-as-promised": "7.1.1",
|
||||||
"conventional-changelog-cli": "2.2.2",
|
"conventional-changelog-cli": "2.2.2",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"nock": "13.3.1",
|
"nock": "13.3.1",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
"$schema": "./node_modules/@angular-devkit/core/src/workspace/workspace-schema.json",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"defaultProject": "app",
|
"defaultProject": "app",
|
||||||
"newProjectRoot": "projects",
|
"newProjectRoot": "projects",
|
||||||
|
|||||||
@@ -14,10 +14,10 @@
|
|||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"analyze": "webpack-bundle-analyzer www/stats.json",
|
"analyze": "webpack-bundle-analyzer www/stats.json",
|
||||||
"build": "ng build --configuration=production",
|
"build:prod": "ng build --configuration=production",
|
||||||
"build:analyze": "npm run build:stats && npm run analyze",
|
"build:analyze": "npm run build:stats && npm run analyze",
|
||||||
"build:android": "ionic capacitor build android --no-open && cd android && ./gradlew clean assembleDebug && cd ..",
|
"build:android": "ionic capacitor build android --no-open && cd android && ./gradlew clean assembleDebug && cd ..",
|
||||||
"build:dev": "ng build",
|
"build": "ng build",
|
||||||
"build:stats": "ng build --configuration=production --stats-json",
|
"build:stats": "ng build --configuration=production --stats-json",
|
||||||
"changelog": "conventional-changelog -p angular -i src/assets/about/CHANGELOG.md -s -r 0",
|
"changelog": "conventional-changelog -p angular -i src/assets/about/CHANGELOG.md -s -r 0",
|
||||||
"check-icons": "ts-node scripts/check-icon-correctness.ts",
|
"check-icons": "ts-node scripts/check-icon-correctness.ts",
|
||||||
@@ -38,13 +38,14 @@
|
|||||||
"minify-icons": "ts-node scripts/minify-icon-font.ts",
|
"minify-icons": "ts-node scripts/minify-icon-font.ts",
|
||||||
"ng": "ng",
|
"ng": "ng",
|
||||||
"postinstall": "jetify || echo \"skipping jetify in production mode\"",
|
"postinstall": "jetify || echo \"skipping jetify in production mode\"",
|
||||||
|
"preview": "http-server www --p 8101 -o",
|
||||||
"push": "git push && git push origin \"v$npm_package_version\"",
|
"push": "git push && git push origin \"v$npm_package_version\"",
|
||||||
"resources:android": "cordova-res android --skip-config --copy",
|
"resources:android": "cordova-res android --skip-config --copy",
|
||||||
"resources:ios": "cordova-res ios --skip-config --copy",
|
"resources:ios": "cordova-res ios --skip-config --copy",
|
||||||
"run:android": "ionic capacitor run android --livereload --external",
|
"run:android": "ionic capacitor run android --livereload --external",
|
||||||
"start": "ionic serve",
|
"start": "ionic serve",
|
||||||
"start:external": "ionic serve --external",
|
"start:external": "ionic serve --external",
|
||||||
"start:prod": "ionic serve -- --configuration=production",
|
"start:prod": "ionic serve --prod",
|
||||||
"test": "ng test"
|
"test": "ng test"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -78,7 +79,6 @@
|
|||||||
"@hugotomazi/capacitor-navigation-bar": "2.0.0",
|
"@hugotomazi/capacitor-navigation-bar": "2.0.0",
|
||||||
"@ionic-native/core": "5.36.0",
|
"@ionic-native/core": "5.36.0",
|
||||||
"@ionic/angular": "6.3.9",
|
"@ionic/angular": "6.3.9",
|
||||||
"@ionic/core": "6.6.1",
|
|
||||||
"@ionic/storage-angular": "3.0.6",
|
"@ionic/storage-angular": "3.0.6",
|
||||||
"@ngx-translate/core": "14.0.0",
|
"@ngx-translate/core": "14.0.0",
|
||||||
"@ngx-translate/http-loader": "7.0.0",
|
"@ngx-translate/http-loader": "7.0.0",
|
||||||
@@ -148,6 +148,7 @@
|
|||||||
"eslint-plugin-unicorn": "45.0.2",
|
"eslint-plugin-unicorn": "45.0.2",
|
||||||
"fontkit": "2.0.2",
|
"fontkit": "2.0.2",
|
||||||
"glob": "10.2.7",
|
"glob": "10.2.7",
|
||||||
|
"http-server": "14.1.1",
|
||||||
"is-docker": "2.2.1",
|
"is-docker": "2.2.1",
|
||||||
"jasmine-core": "4.5.0",
|
"jasmine-core": "4.5.0",
|
||||||
"jasmine-spec-reporter": "7.0.0",
|
"jasmine-spec-reporter": "7.0.0",
|
||||||
|
|||||||
@@ -4,7 +4,8 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "dotenv -c -- turbo run build",
|
"build": "dotenv -c -- turbo run build",
|
||||||
"build:docker-workspace": "docker build -t openstapps:workspace .",
|
"build:docker-workspace": "docker build -t openstapps:workspace .",
|
||||||
"build:full": "dotenv -c -- turbo run syncpack build lint format",
|
"build:full": "dotenv -c -- turbo run syncpack build lint format --summarize",
|
||||||
|
"build:full:skip": "dotenv -c -- turbo-ignore --task='build lint format'",
|
||||||
"dev": "dotenv -c -- turbo run dev",
|
"dev": "dotenv -c -- turbo run dev",
|
||||||
"docs": "dotenv -c -- turbo run docs && typedoc",
|
"docs": "dotenv -c -- turbo run docs && typedoc",
|
||||||
"format": "dotenv -c -- turbo run format",
|
"format": "dotenv -c -- turbo run format",
|
||||||
@@ -14,7 +15,8 @@
|
|||||||
"publish-packages": "dotenv -c -- turbo run build format lint test && changeset version && changeset publish",
|
"publish-packages": "dotenv -c -- turbo run build format lint test && changeset version && changeset publish",
|
||||||
"syncpack": "syncpack list-mismatches && syncpack lint-semver-ranges",
|
"syncpack": "syncpack list-mismatches && syncpack lint-semver-ranges",
|
||||||
"syncpack:fix": "syncpack format && syncpack fix-mismatches",
|
"syncpack:fix": "syncpack format && syncpack fix-mismatches",
|
||||||
"test": "dotenv -c -- turbo run test --filter=!@openstapps/app && node coverage.mjs",
|
"test": "trap 'node coverage.mjs' EXIT && dotenv -c -- turbo run test --filter=!@openstapps/app",
|
||||||
|
"test:skip": "dotenv -c -- turbo-ignore --task='test' --filter=!@openstapps/app",
|
||||||
"test:integration": "dotenv -c -- turbo run test:integration",
|
"test:integration": "dotenv -c -- turbo run test:integration",
|
||||||
"turboify-pipeline": "node deploy.mjs backend,api-cli,database && pnpm build:full && pnpm test && pnpm run docs"
|
"turboify-pipeline": "node deploy.mjs backend,api-cli,database && pnpm build:full && pnpm test && pnpm run docs"
|
||||||
},
|
},
|
||||||
@@ -24,8 +26,10 @@
|
|||||||
"deepmerge": "4.3.1",
|
"deepmerge": "4.3.1",
|
||||||
"dotenv-cli": "7.2.1",
|
"dotenv-cli": "7.2.1",
|
||||||
"glob": "10.2.7",
|
"glob": "10.2.7",
|
||||||
|
"junit-report-merger": "6.0.2",
|
||||||
"syncpack": "10.5.1",
|
"syncpack": "10.5.1",
|
||||||
"turbo": "1.10.3",
|
"turbo": "1.10.3",
|
||||||
|
"turbo-ignore": "1.10.6",
|
||||||
"typedoc": "0.24.8",
|
"typedoc": "0.24.8",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ USER node
|
|||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY --chown=node:node pruned .
|
COPY --chown=node:node . .
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
ENTRYPOINT ["node", "app.js"]
|
ENTRYPOINT ["node", "app.js"]
|
||||||
CMD ["--help"]
|
|
||||||
|
|||||||
@@ -21,11 +21,12 @@
|
|||||||
"files": [
|
"files": [
|
||||||
"app.js",
|
"app.js",
|
||||||
"lib",
|
"lib",
|
||||||
|
"Dockerfile",
|
||||||
"README.md"
|
"README.md"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup-node",
|
"build": "tsup-node",
|
||||||
"build:docker": "docker build -t openstapps:api-cli .",
|
"deploy": "pnpm --prod --filter=@openstapps/api-cli deploy ../../.deploy/api-cli",
|
||||||
"format": "prettier . -c --ignore-path ../../.gitignore",
|
"format": "prettier . -c --ignore-path ../../.gitignore",
|
||||||
"format:fix": "prettier --write . --ignore-path ../../.gitignore",
|
"format:fix": "prettier --write . --ignore-path ../../.gitignore",
|
||||||
"lint": "tsc --noEmit && eslint --ext .ts src/",
|
"lint": "tsc --noEmit && eslint --ext .ts src/",
|
||||||
@@ -41,6 +42,7 @@
|
|||||||
"@types/cli-progress": "3.11.0",
|
"@types/cli-progress": "3.11.0",
|
||||||
"@types/express": "4.17.17",
|
"@types/express": "4.17.17",
|
||||||
"@types/fs-extra": "9.0.13",
|
"@types/fs-extra": "9.0.13",
|
||||||
|
"@types/junit-report-builder": "3.0.0",
|
||||||
"@types/json-schema": "7.0.11",
|
"@types/json-schema": "7.0.11",
|
||||||
"@types/mocha": "10.0.1",
|
"@types/mocha": "10.0.1",
|
||||||
"@types/node": "18.15.3",
|
"@types/node": "18.15.3",
|
||||||
@@ -48,6 +50,7 @@
|
|||||||
"cli-progress": "3.12.0",
|
"cli-progress": "3.12.0",
|
||||||
"commander": "10.0.0",
|
"commander": "10.0.0",
|
||||||
"fs-extra": "10.1.0",
|
"fs-extra": "10.1.0",
|
||||||
|
"junit-report-builder": "3.0.1",
|
||||||
"wait-on": "6.0.1"
|
"wait-on": "6.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -61,6 +64,7 @@
|
|||||||
"chai-as-promised": "7.1.1",
|
"chai-as-promised": "7.1.1",
|
||||||
"chai-spies": "1.0.0",
|
"chai-spies": "1.0.0",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"nock": "13.3.1",
|
"nock": "13.3.1",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ commander
|
|||||||
'./node_modules/@openstapps/core/test/resources/indexable',
|
'./node_modules/@openstapps/core/test/resources/indexable',
|
||||||
)
|
)
|
||||||
.option('-w --waiton [resource]', 'wait-on resource parameter see "www.npmjs.com/wait-on"')
|
.option('-w --waiton [resource]', 'wait-on resource parameter see "www.npmjs.com/wait-on"')
|
||||||
|
.option('-r --reportPath [reportPath]', 'JUnit Report Path')
|
||||||
// eslint-disable-next-line unicorn/prevent-abbreviations
|
// eslint-disable-next-line unicorn/prevent-abbreviations
|
||||||
.action(async (to, e2eCommand) => {
|
.action(async (to, e2eCommand) => {
|
||||||
let toURL = '';
|
let toURL = '';
|
||||||
@@ -73,7 +74,11 @@ commander
|
|||||||
});
|
});
|
||||||
Logger.info(`Resource became available`);
|
Logger.info(`Resource became available`);
|
||||||
}
|
}
|
||||||
await e2eRun(client, {to: toURL, samplesLocation: e2eCommand.samples});
|
await e2eRun(client, {
|
||||||
|
to: toURL,
|
||||||
|
samplesLocation: e2eCommand.samples,
|
||||||
|
reportLocation: e2eCommand.reportPath,
|
||||||
|
});
|
||||||
Logger.ok('Done');
|
Logger.ok('Done');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
await Logger.error(error);
|
await Logger.error(error);
|
||||||
|
|||||||
@@ -21,10 +21,29 @@ import {readdir, readFile} from 'fs';
|
|||||||
import path from 'path';
|
import path from 'path';
|
||||||
import {promisify} from 'util';
|
import {promisify} from 'util';
|
||||||
import {ConnectorClient, HttpClientInterface} from '@openstapps/api';
|
import {ConnectorClient, HttpClientInterface} from '@openstapps/api';
|
||||||
|
import junit from 'junit-report-builder';
|
||||||
|
|
||||||
const localItemMap: Map<string, SCThings> = new Map();
|
const localItemMap: Map<string, SCThings> = new Map();
|
||||||
const remoteItemMap: Map<string, SCThings> = new Map();
|
const remoteItemMap: Map<string, SCThings> = new Map();
|
||||||
|
|
||||||
|
async function runTest(name: string, scope: () => Promise<void>, suite: junit.TestSuite, errors: string[]) {
|
||||||
|
const testCase = suite.testCase().name(name);
|
||||||
|
process.stdout.addListener('data', testCase.standardOutput);
|
||||||
|
process.stderr.addListener('data', testCase.standardError);
|
||||||
|
|
||||||
|
const start = performance.now();
|
||||||
|
await scope().catch(async error => {
|
||||||
|
await Logger.error(error);
|
||||||
|
testCase.failure(error.message);
|
||||||
|
errors.push(error.message);
|
||||||
|
});
|
||||||
|
process.stdout.removeListener('data', testCase.standardOutput);
|
||||||
|
process.stderr.removeListener('data', testCase.standardError);
|
||||||
|
|
||||||
|
const end = performance.now();
|
||||||
|
testCase.time((end - start) / 1000);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Options to set up indexing core test files to backend
|
* Options to set up indexing core test files to backend
|
||||||
*/
|
*/
|
||||||
@@ -38,34 +57,54 @@ export interface E2EOptions {
|
|||||||
* URL of the backend to index to
|
* URL of the backend to index to
|
||||||
*/
|
*/
|
||||||
to: string;
|
to: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Location of the report
|
||||||
|
*/
|
||||||
|
reportLocation?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function that can be used for integration tests.
|
* Function that can be used for integration tests.
|
||||||
* Adds all the SCThings that getItemsFromSamples() returns to the backend.
|
* Adds all the SCThings that getItemsFromSamples() returns to the backend.
|
||||||
* Afterwards retrieves the items from backend and checks for differences with original ones.
|
* Afterward, retrieves the items from backend and checks for differences with original ones.
|
||||||
*/
|
*/
|
||||||
export async function e2eRun(client: HttpClientInterface, options: E2EOptions): Promise<void> {
|
export async function e2eRun(client: HttpClientInterface, options: E2EOptions): Promise<string[]> {
|
||||||
localItemMap.clear();
|
localItemMap.clear();
|
||||||
remoteItemMap.clear();
|
remoteItemMap.clear();
|
||||||
|
const builder = junit.newBuilder();
|
||||||
|
const errors: string[] = [];
|
||||||
|
|
||||||
const api = new ConnectorClient(client, options.to);
|
const api = new ConnectorClient(client, options.to);
|
||||||
try {
|
try {
|
||||||
await indexSamples(api, options);
|
const indexSuite = builder.testSuite().name('e2e index');
|
||||||
|
await indexSamples(api, options, indexSuite, errors);
|
||||||
Logger.info(`All samples have been indexed via the backend`);
|
Logger.info(`All samples have been indexed via the backend`);
|
||||||
|
|
||||||
await retrieveItems(api);
|
const retrieveSuite = builder.testSuite().name('e2e retrieve');
|
||||||
|
await retrieveItems(api, retrieveSuite, errors);
|
||||||
Logger.info(`All samples have been retrieved from the backend`);
|
Logger.info(`All samples have been retrieved from the backend`);
|
||||||
compareItems();
|
|
||||||
|
const compareSuite = builder.testSuite().name('e2e compare');
|
||||||
|
await compareItems(compareSuite, errors);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (options.reportLocation) {
|
||||||
|
builder.writeTo(options.reportLocation);
|
||||||
|
}
|
||||||
|
await (errors.length > 0
|
||||||
|
? Logger.error(`\n${errors.length} failed test cases`)
|
||||||
|
: Logger.ok('All tests passed.'));
|
||||||
|
|
||||||
|
return errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retieves all samples previously index using the api
|
* Retrieves all samples previously index using the api
|
||||||
*/
|
*/
|
||||||
async function retrieveItems(api: ConnectorClient): Promise<void> {
|
async function retrieveItems(api: ConnectorClient, suite: junit.TestSuite, errors: string[]): Promise<void> {
|
||||||
const singleItemSearchRequest: SCSearchRequest = {
|
const singleItemSearchRequest: SCSearchRequest = {
|
||||||
filter: {
|
filter: {
|
||||||
arguments: {
|
arguments: {
|
||||||
@@ -76,61 +115,83 @@ async function retrieveItems(api: ConnectorClient): Promise<void> {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
for (const uid of localItemMap.keys()) {
|
for (const uid of localItemMap.keys()) {
|
||||||
singleItemSearchRequest.filter!.arguments.value = uid;
|
await runTest(
|
||||||
const searchResonse = await api.search(singleItemSearchRequest);
|
`Should find ${uid}`,
|
||||||
if (searchResonse.data.length !== 1) {
|
async () => {
|
||||||
throw new Error(
|
singleItemSearchRequest.filter!.arguments.value = uid;
|
||||||
`Search for single SCThing with uid: ${uid} returned ${searchResonse.data.length} results`,
|
const searchResponse = await api.search(singleItemSearchRequest);
|
||||||
);
|
if (searchResponse.data.length !== 1) {
|
||||||
}
|
throw new Error(
|
||||||
remoteItemMap.set(uid, searchResonse.data[0]);
|
`Search for single SCThing with uid: ${uid} returned ${searchResponse.data.length} results`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
remoteItemMap.set(uid, searchResponse.data[0]);
|
||||||
|
},
|
||||||
|
suite,
|
||||||
|
errors,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compares all samples (local and remote) with the same uid and throws if they're not deep equal
|
* Compares all samples (local and remote) with the same uid and throws if they're not deep equal
|
||||||
*/
|
*/
|
||||||
function compareItems() {
|
async function compareItems(suite: junit.TestSuite, errors: string[]) {
|
||||||
for (const localThing of localItemMap.values()) {
|
for (const localThing of localItemMap.values()) {
|
||||||
/* istanbul ignore next retrieveItems will throw before*/
|
await runTest(
|
||||||
if (!remoteItemMap.has(localThing.uid)) {
|
`Should be the same for ${localThing.uid}`,
|
||||||
throw new Error(`Did not retrieve expected SCThing with uid: ${localThing.uid}`);
|
async () => {
|
||||||
}
|
/* istanbul ignore next retrieveItems will throw before*/
|
||||||
const remoteThing = remoteItemMap.get(localThing.uid);
|
if (!remoteItemMap.has(localThing.uid)) {
|
||||||
deepStrictEqual(remoteThing, localThing, `Unexpected difference between original and retrieved sample`);
|
throw new Error(`Did not retrieve expected SCThing with uid: ${localThing.uid}`);
|
||||||
|
}
|
||||||
|
const remoteThing = remoteItemMap.get(localThing.uid);
|
||||||
|
deepStrictEqual(
|
||||||
|
remoteThing,
|
||||||
|
localThing,
|
||||||
|
`Unexpected difference between original and retrieved sample`,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
suite,
|
||||||
|
errors,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
Logger.info(
|
Logger.info(`All samples retrieved from the backend have been compared`);
|
||||||
`All samples retrieved from the backend are the same (deep equal) as the original ones submitted`,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Function to add all the SCThings that getItemsFromSamples() returns to the backend
|
* Function to add all the SCThings that getItemsFromSamples() returns to the backend
|
||||||
*/
|
*/
|
||||||
async function indexSamples(api: ConnectorClient, options: E2EOptions): Promise<void> {
|
async function indexSamples(
|
||||||
try {
|
api: ConnectorClient,
|
||||||
const items = await getItemsFromSamples(options.samplesLocation);
|
options: E2EOptions,
|
||||||
|
suite: junit.TestSuite,
|
||||||
|
errors: string[],
|
||||||
|
): Promise<void> {
|
||||||
|
const items = await getItemsFromSamples(options.samplesLocation);
|
||||||
|
|
||||||
if (items.length === 0) {
|
if (items.length === 0) {
|
||||||
throw new Error('Could not index samples. None were retrieved from the file system.');
|
throw new Error('Could not index samples. None were retrieved from the file system.');
|
||||||
}
|
}
|
||||||
|
|
||||||
// sort items by type
|
// sort items by type
|
||||||
const itemMap: Map<SCThingType, SCThings[]> = new Map();
|
const itemMap: Map<SCThingType, SCThings[]> = new Map();
|
||||||
for (const item of items) {
|
for (const item of items) {
|
||||||
if (!itemMap.has(item.type)) {
|
if (!itemMap.has(item.type)) {
|
||||||
itemMap.set(item.type, []);
|
itemMap.set(item.type, []);
|
||||||
}
|
|
||||||
const itemsOfSameType = itemMap.get(item.type) as SCThings[];
|
|
||||||
itemsOfSameType.push(item);
|
|
||||||
itemMap.set(item.type, itemsOfSameType);
|
|
||||||
localItemMap.set(item.uid, item);
|
|
||||||
}
|
}
|
||||||
// add items depending on their type property with one type per bulk
|
const itemsOfSameType = itemMap.get(item.type) as SCThings[];
|
||||||
for (const type of itemMap.keys()) {
|
itemsOfSameType.push(item);
|
||||||
await api.index(itemMap.get(type) as SCThings[], 'stapps-core-sample-data');
|
itemMap.set(item.type, itemsOfSameType);
|
||||||
}
|
localItemMap.set(item.uid, item);
|
||||||
} catch (error) {
|
}
|
||||||
throw error;
|
// add items depending on their type property with one type per bulk
|
||||||
|
for (const type of itemMap.keys()) {
|
||||||
|
await runTest(
|
||||||
|
`Should index ${type}`,
|
||||||
|
async () => api.index(itemMap.get(type) as SCThings[], 'stapps-core-sample-data'),
|
||||||
|
suite,
|
||||||
|
errors,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import chaiAsPromised from 'chai-as-promised';
|
|||||||
import chaiSpies from 'chai-spies';
|
import chaiSpies from 'chai-spies';
|
||||||
import {existsSync, mkdirSync, rmdirSync, unlinkSync} from 'fs';
|
import {existsSync, mkdirSync, rmdirSync, unlinkSync} from 'fs';
|
||||||
import {createFileSync} from 'fs-extra';
|
import {createFileSync} from 'fs-extra';
|
||||||
import {ApiError, HttpClient, HttpClientRequest, HttpClientResponse} from '@openstapps/api';
|
import {HttpClient, HttpClientRequest, HttpClientResponse} from '@openstapps/api';
|
||||||
import {RecursivePartial} from './copy.spec.js';
|
import {RecursivePartial} from './copy.spec.js';
|
||||||
import {expect} from 'chai';
|
import {expect} from 'chai';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
@@ -147,7 +147,7 @@ describe('e2e Connector', function () {
|
|||||||
await e2eRun(httpClient, {
|
await e2eRun(httpClient, {
|
||||||
to: 'http://localhost',
|
to: 'http://localhost',
|
||||||
samplesLocation: './node_modules/@openstapps/core/test/resources',
|
samplesLocation: './node_modules/@openstapps/core/test/resources',
|
||||||
});
|
}).should.eventually.have.length(0);
|
||||||
|
|
||||||
failOnLookup = true;
|
failOnLookup = true;
|
||||||
failOnCompare = false;
|
failOnCompare = false;
|
||||||
@@ -155,7 +155,9 @@ describe('e2e Connector', function () {
|
|||||||
await e2eRun(httpClient, {
|
await e2eRun(httpClient, {
|
||||||
to: 'http://localhost',
|
to: 'http://localhost',
|
||||||
samplesLocation: './node_modules/@openstapps/core/test/resources',
|
samplesLocation: './node_modules/@openstapps/core/test/resources',
|
||||||
}).should.be.rejectedWith('Search for single SCThing with uid');
|
}).should.eventually.include(
|
||||||
|
'Search for single SCThing with uid: 184b717a-d020-46f5-995c-03023670cc62 returned 0 results',
|
||||||
|
);
|
||||||
|
|
||||||
failOnLookup = false;
|
failOnLookup = false;
|
||||||
failOnCompare = true;
|
failOnCompare = true;
|
||||||
@@ -163,7 +165,7 @@ describe('e2e Connector', function () {
|
|||||||
await e2eRun(httpClient, {
|
await e2eRun(httpClient, {
|
||||||
to: 'http://localhost',
|
to: 'http://localhost',
|
||||||
samplesLocation: './node_modules/@openstapps/core/test/resources',
|
samplesLocation: './node_modules/@openstapps/core/test/resources',
|
||||||
}).should.be.rejectedWith('Unexpected difference');
|
}).should.eventually.include('Unexpected difference between original and retrieved sample');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should fail to index', async function () {
|
it('should fail to index', async function () {
|
||||||
@@ -180,7 +182,7 @@ describe('e2e Connector', function () {
|
|||||||
return e2eRun(httpClient, {
|
return e2eRun(httpClient, {
|
||||||
to: 'http://localhost',
|
to: 'http://localhost',
|
||||||
samplesLocation: './node_modules/@openstapps/core/test/resources',
|
samplesLocation: './node_modules/@openstapps/core/test/resources',
|
||||||
}).should.be.rejectedWith(ApiError);
|
}).should.eventually.include('');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should fail to index directory without data', async function () {
|
it('should fail to index directory without data', async function () {
|
||||||
|
|||||||
9
packages/api-cli/turbo.json
Normal file
9
packages/api-cli/turbo.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"extends": ["//"],
|
||||||
|
"pipeline": {
|
||||||
|
"deploy": {
|
||||||
|
"dependsOn": ["@openstapps/api-cli#build"],
|
||||||
|
"outputs": [".deploy/api-cli"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"format:fix": "prettier --write . --ignore-path ../../.gitignore",
|
"format:fix": "prettier --write . --ignore-path ../../.gitignore",
|
||||||
"lint": "eslint --ext .ts src/",
|
"lint": "eslint --ext .ts src/",
|
||||||
"lint:fix": "eslint --fix --ext .ts src/",
|
"lint:fix": "eslint --fix --ext .ts src/",
|
||||||
"test": "c8 mocha"
|
"test": "c8 mocha --exit"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@openstapps/api": "workspace:*",
|
"@openstapps/api": "workspace:*",
|
||||||
@@ -58,6 +58,7 @@
|
|||||||
"chai-spies": "1.0.0",
|
"chai-spies": "1.0.0",
|
||||||
"conventional-changelog-cli": "2.2.2",
|
"conventional-changelog-cli": "2.2.2",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"nock": "13.3.1",
|
"nock": "13.3.1",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
|
|||||||
@@ -51,6 +51,7 @@
|
|||||||
"conventional-changelog-cli": "2.2.2",
|
"conventional-changelog-cli": "2.2.2",
|
||||||
"date-fns": "2.30.0",
|
"date-fns": "2.30.0",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"traverse": "0.6.7",
|
"traverse": "0.6.7",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
"c8": "7.14.0",
|
"c8": "7.14.0",
|
||||||
"chai": "4.3.7",
|
"chai": "4.3.7",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
"typedoc": "0.24.8",
|
"typedoc": "0.24.8",
|
||||||
|
|||||||
@@ -79,6 +79,7 @@
|
|||||||
"c8": "7.14.0",
|
"c8": "7.14.0",
|
||||||
"chai": "4.3.7",
|
"chai": "4.3.7",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"nock": "13.3.1",
|
"nock": "13.3.1",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
|
|||||||
@@ -67,6 +67,7 @@
|
|||||||
"chai": "4.3.7",
|
"chai": "4.3.7",
|
||||||
"conditional-type-checks": "1.0.6",
|
"conditional-type-checks": "1.0.6",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"source-map-support": "0.5.21",
|
"source-map-support": "0.5.21",
|
||||||
"surge": "0.23.1",
|
"surge": "0.23.1",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
"c8": "7.14.0",
|
"c8": "7.14.0",
|
||||||
"chai": "4.3.7",
|
"chai": "4.3.7",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
"typedoc": "0.24.8"
|
"typedoc": "0.24.8"
|
||||||
|
|||||||
@@ -43,6 +43,7 @@
|
|||||||
"c8": "7.14.0",
|
"c8": "7.14.0",
|
||||||
"chai": "4.3.7",
|
"chai": "4.3.7",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"nock": "13.3.1",
|
"nock": "13.3.1",
|
||||||
"rimraf": "5.0.0",
|
"rimraf": "5.0.0",
|
||||||
"ts-node": "10.9.1"
|
"ts-node": "10.9.1"
|
||||||
|
|||||||
91
packages/gitlab-api/.gitignore
vendored
91
packages/gitlab-api/.gitignore
vendored
@@ -1,91 +0,0 @@
|
|||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
||||||
lib-cov
|
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
|
||||||
coverage
|
|
||||||
|
|
||||||
# nyc test coverage
|
|
||||||
.nyc_output
|
|
||||||
|
|
||||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
|
||||||
.grunt
|
|
||||||
|
|
||||||
# Bower dependency directory (https://bower.io/)
|
|
||||||
bower_components
|
|
||||||
|
|
||||||
# node-waf configuration
|
|
||||||
.lock-wscript
|
|
||||||
|
|
||||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
|
||||||
build/Release
|
|
||||||
|
|
||||||
# Dependency directories
|
|
||||||
node_modules/
|
|
||||||
jspm_packages/
|
|
||||||
|
|
||||||
# TypeScript v1 declaration files
|
|
||||||
typings/
|
|
||||||
|
|
||||||
# Optional npm cache directory
|
|
||||||
.npm
|
|
||||||
|
|
||||||
# Optional eslint cache
|
|
||||||
.eslintcache
|
|
||||||
|
|
||||||
# Optional REPL history
|
|
||||||
.node_repl_history
|
|
||||||
|
|
||||||
# Output of 'npm pack'
|
|
||||||
*.tgz
|
|
||||||
|
|
||||||
# Yarn Integrity file
|
|
||||||
.yarn-integrity
|
|
||||||
|
|
||||||
# dotenv environment variables file
|
|
||||||
.env
|
|
||||||
|
|
||||||
# parcel-bundler cache (https://parceljs.org/)
|
|
||||||
.cache
|
|
||||||
|
|
||||||
# next.js build output
|
|
||||||
.next
|
|
||||||
|
|
||||||
# nuxt.js build output
|
|
||||||
.nuxt
|
|
||||||
|
|
||||||
# vuepress build output
|
|
||||||
.vuepress/dist
|
|
||||||
|
|
||||||
# Serverless directories
|
|
||||||
.serverless/
|
|
||||||
|
|
||||||
# FuseBox cache
|
|
||||||
.fusebox/
|
|
||||||
|
|
||||||
#DynamoDB Local files
|
|
||||||
.dynamodb/
|
|
||||||
|
|
||||||
########## end of https://github.com/github/gitignore/blob/master/Node.gitignore
|
|
||||||
|
|
||||||
# ignore ide files
|
|
||||||
.idea
|
|
||||||
.vscode
|
|
||||||
|
|
||||||
# ignore lib
|
|
||||||
lib
|
|
||||||
|
|
||||||
# ignore docs
|
|
||||||
docs
|
|
||||||
@@ -46,6 +46,7 @@
|
|||||||
"chai-as-promised": "7.1.1",
|
"chai-as-promised": "7.1.1",
|
||||||
"chai-spies": "1.0.0",
|
"chai-spies": "1.0.0",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
|
"mocha-junit-reporter": "2.2.0",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
"typedoc": "0.24.8",
|
"typedoc": "0.24.8",
|
||||||
|
|||||||
244
pnpm-lock.yaml
generated
244
pnpm-lock.yaml
generated
@@ -1,4 +1,4 @@
|
|||||||
lockfileVersion: '6.1'
|
lockfileVersion: '6.0'
|
||||||
|
|
||||||
settings:
|
settings:
|
||||||
autoInstallPeers: true
|
autoInstallPeers: true
|
||||||
@@ -23,12 +23,18 @@ importers:
|
|||||||
glob:
|
glob:
|
||||||
specifier: 10.2.7
|
specifier: 10.2.7
|
||||||
version: 10.2.7
|
version: 10.2.7
|
||||||
|
junit-report-merger:
|
||||||
|
specifier: 6.0.2
|
||||||
|
version: 6.0.2
|
||||||
syncpack:
|
syncpack:
|
||||||
specifier: 10.5.1
|
specifier: 10.5.1
|
||||||
version: 10.5.1
|
version: 10.5.1
|
||||||
turbo:
|
turbo:
|
||||||
specifier: 1.10.3
|
specifier: 1.10.3
|
||||||
version: 1.10.3
|
version: 1.10.3
|
||||||
|
turbo-ignore:
|
||||||
|
specifier: 1.10.6
|
||||||
|
version: 1.10.6
|
||||||
typedoc:
|
typedoc:
|
||||||
specifier: 0.24.8
|
specifier: 0.24.8
|
||||||
version: 0.24.8(typescript@4.9.5)
|
version: 0.24.8(typescript@4.9.5)
|
||||||
@@ -129,6 +135,9 @@ importers:
|
|||||||
specifier: 8.3.2
|
specifier: 8.3.2
|
||||||
version: 8.3.2
|
version: 8.3.2
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
'@openstapps/api-cli':
|
||||||
|
specifier: workspace:*
|
||||||
|
version: link:../../packages/api-cli
|
||||||
'@openstapps/eslint-config':
|
'@openstapps/eslint-config':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../configuration/eslint-config
|
version: link:../../configuration/eslint-config
|
||||||
@@ -204,6 +213,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
mocked-env:
|
mocked-env:
|
||||||
specifier: 1.3.5
|
specifier: 1.3.5
|
||||||
version: 1.3.5
|
version: 1.3.5
|
||||||
@@ -333,6 +345,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
prettier:
|
prettier:
|
||||||
specifier: 2.8.6
|
specifier: 2.8.6
|
||||||
version: 2.8.6
|
version: 2.8.6
|
||||||
@@ -512,6 +527,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
prettier:
|
prettier:
|
||||||
specifier: 2.8.6
|
specifier: 2.8.6
|
||||||
version: 2.8.6
|
version: 2.8.6
|
||||||
@@ -602,6 +620,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
nock:
|
nock:
|
||||||
specifier: 13.3.1
|
specifier: 13.3.1
|
||||||
version: 13.3.1
|
version: 13.3.1
|
||||||
@@ -783,9 +804,6 @@ importers:
|
|||||||
'@ionic/angular':
|
'@ionic/angular':
|
||||||
specifier: 6.3.9
|
specifier: 6.3.9
|
||||||
version: 6.3.9(@angular/core@13.3.11)(@angular/forms@13.3.11)(@angular/router@13.3.11)(rxjs@7.8.0)(zone.js@0.12.0)
|
version: 6.3.9(@angular/core@13.3.11)(@angular/forms@13.3.11)(@angular/router@13.3.11)(rxjs@7.8.0)(zone.js@0.12.0)
|
||||||
'@ionic/core':
|
|
||||||
specifier: 6.6.1
|
|
||||||
version: 6.6.1
|
|
||||||
'@ionic/storage-angular':
|
'@ionic/storage-angular':
|
||||||
specifier: 3.0.6
|
specifier: 3.0.6
|
||||||
version: 3.0.6(@angular/core@13.3.11)(rxjs@7.8.0)
|
version: 3.0.6(@angular/core@13.3.11)(rxjs@7.8.0)
|
||||||
@@ -988,6 +1006,9 @@ importers:
|
|||||||
glob:
|
glob:
|
||||||
specifier: 10.2.7
|
specifier: 10.2.7
|
||||||
version: 10.2.7
|
version: 10.2.7
|
||||||
|
http-server:
|
||||||
|
specifier: 14.1.1
|
||||||
|
version: 14.1.1
|
||||||
is-docker:
|
is-docker:
|
||||||
specifier: 2.2.1
|
specifier: 2.2.1
|
||||||
version: 2.2.1
|
version: 2.2.1
|
||||||
@@ -1118,6 +1139,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
prettier:
|
prettier:
|
||||||
specifier: 2.8.6
|
specifier: 2.8.6
|
||||||
version: 2.8.6
|
version: 2.8.6
|
||||||
@@ -1169,6 +1193,9 @@ importers:
|
|||||||
'@types/json-schema':
|
'@types/json-schema':
|
||||||
specifier: 7.0.11
|
specifier: 7.0.11
|
||||||
version: 7.0.11
|
version: 7.0.11
|
||||||
|
'@types/junit-report-builder':
|
||||||
|
specifier: 3.0.0
|
||||||
|
version: 3.0.0
|
||||||
'@types/mocha':
|
'@types/mocha':
|
||||||
specifier: 10.0.1
|
specifier: 10.0.1
|
||||||
version: 10.0.1
|
version: 10.0.1
|
||||||
@@ -1187,6 +1214,9 @@ importers:
|
|||||||
fs-extra:
|
fs-extra:
|
||||||
specifier: 10.1.0
|
specifier: 10.1.0
|
||||||
version: 10.1.0
|
version: 10.1.0
|
||||||
|
junit-report-builder:
|
||||||
|
specifier: 3.0.1
|
||||||
|
version: 3.0.1
|
||||||
wait-on:
|
wait-on:
|
||||||
specifier: 6.0.1
|
specifier: 6.0.1
|
||||||
version: 6.0.1
|
version: 6.0.1
|
||||||
@@ -1221,6 +1251,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
nock:
|
nock:
|
||||||
specifier: 13.3.1
|
specifier: 13.3.1
|
||||||
version: 13.3.1
|
version: 13.3.1
|
||||||
@@ -1336,6 +1369,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
nock:
|
nock:
|
||||||
specifier: 13.3.1
|
specifier: 13.3.1
|
||||||
version: 13.3.1
|
version: 13.3.1
|
||||||
@@ -1405,6 +1441,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
prettier:
|
prettier:
|
||||||
specifier: 2.8.6
|
specifier: 2.8.6
|
||||||
version: 2.8.6
|
version: 2.8.6
|
||||||
@@ -1511,6 +1550,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
prettier:
|
prettier:
|
||||||
specifier: 2.8.6
|
specifier: 2.8.6
|
||||||
version: 2.8.6
|
version: 2.8.6
|
||||||
@@ -1656,6 +1698,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
nock:
|
nock:
|
||||||
specifier: 13.3.1
|
specifier: 13.3.1
|
||||||
version: 13.3.1
|
version: 13.3.1
|
||||||
@@ -1738,6 +1783,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
prettier:
|
prettier:
|
||||||
specifier: 2.8.6
|
specifier: 2.8.6
|
||||||
version: 2.8.6
|
version: 2.8.6
|
||||||
@@ -1826,6 +1874,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
nock:
|
nock:
|
||||||
specifier: 13.3.1
|
specifier: 13.3.1
|
||||||
version: 13.3.1
|
version: 13.3.1
|
||||||
@@ -1975,6 +2026,9 @@ importers:
|
|||||||
mocha:
|
mocha:
|
||||||
specifier: 10.2.0
|
specifier: 10.2.0
|
||||||
version: 10.2.0
|
version: 10.2.0
|
||||||
|
mocha-junit-reporter:
|
||||||
|
specifier: 2.2.0
|
||||||
|
version: 2.2.0(mocha@10.2.0)
|
||||||
prettier:
|
prettier:
|
||||||
specifier: 2.8.6
|
specifier: 2.8.6
|
||||||
version: 2.8.6
|
version: 2.8.6
|
||||||
@@ -5766,14 +5820,6 @@ packages:
|
|||||||
tslib: 2.4.1
|
tslib: 2.4.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@ionic/core@6.6.1:
|
|
||||||
resolution: {integrity: sha512-+LMBk7kUX55rvYQ35AiAXPNzbNm3zNx9ginvuCzByguMjl+N63lpdPzIEfeRURkmq7NByD1VqpodMj5c6Oq2KQ==}
|
|
||||||
dependencies:
|
|
||||||
'@stencil/core': 2.22.3
|
|
||||||
ionicons: 6.1.3
|
|
||||||
tslib: 2.4.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@ionic/storage-angular@3.0.6(@angular/core@13.3.11)(rxjs@7.8.0):
|
/@ionic/storage-angular@3.0.6(@angular/core@13.3.11)(rxjs@7.8.0):
|
||||||
resolution: {integrity: sha512-ZXlIFWGU27aCxVFgZb0KFJFtWwnn6+HK6v0rMGzjN8f7oV2ewXaQ2dl1gTw/A8YoozTVPOFxwfFHCjhWLFR1Fw==}
|
resolution: {integrity: sha512-ZXlIFWGU27aCxVFgZb0KFJFtWwnn6+HK6v0rMGzjN8f7oV2ewXaQ2dl1gTw/A8YoozTVPOFxwfFHCjhWLFR1Fw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -5788,6 +5834,7 @@ packages:
|
|||||||
|
|
||||||
/@ionic/storage@3.0.6:
|
/@ionic/storage@3.0.6:
|
||||||
resolution: {integrity: sha512-sw+zSJINIpbQCGZR9mEtb9N0WmZLuhcMVqOZJBqLuDACAMdXqG39zmp5nSVqhGI1/9X3nd0K5gVn6icyVfUnUg==}
|
resolution: {integrity: sha512-sw+zSJINIpbQCGZR9mEtb9N0WmZLuhcMVqOZJBqLuDACAMdXqG39zmp5nSVqhGI1/9X3nd0K5gVn6icyVfUnUg==}
|
||||||
|
requiresBuild: true
|
||||||
dependencies:
|
dependencies:
|
||||||
localforage: 1.10.0
|
localforage: 1.10.0
|
||||||
dev: false
|
dev: false
|
||||||
@@ -6246,6 +6293,35 @@ packages:
|
|||||||
- debug
|
- debug
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@oozcitak/dom@1.15.10:
|
||||||
|
resolution: {integrity: sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ==}
|
||||||
|
engines: {node: '>=8.0'}
|
||||||
|
dependencies:
|
||||||
|
'@oozcitak/infra': 1.0.8
|
||||||
|
'@oozcitak/url': 1.0.4
|
||||||
|
'@oozcitak/util': 8.3.8
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@oozcitak/infra@1.0.8:
|
||||||
|
resolution: {integrity: sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg==}
|
||||||
|
engines: {node: '>=6.0'}
|
||||||
|
dependencies:
|
||||||
|
'@oozcitak/util': 8.3.8
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@oozcitak/url@1.0.4:
|
||||||
|
resolution: {integrity: sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==}
|
||||||
|
engines: {node: '>=8.0'}
|
||||||
|
dependencies:
|
||||||
|
'@oozcitak/infra': 1.0.8
|
||||||
|
'@oozcitak/util': 8.3.8
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@oozcitak/util@8.3.8:
|
||||||
|
resolution: {integrity: sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==}
|
||||||
|
engines: {node: '>=8.0'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@openid/appauth@1.3.1:
|
/@openid/appauth@1.3.1:
|
||||||
resolution: {integrity: sha512-e54kpi219wES2ijPzeHe1kMnT8VKH8YeTd1GAn9BzVBmutz3tBgcG1y8a4pziNr4vNjFnuD4W446Ua7ELnNDiA==}
|
resolution: {integrity: sha512-e54kpi219wES2ijPzeHe1kMnT8VKH8YeTd1GAn9BzVBmutz3tBgcG1y8a4pziNr4vNjFnuD4W446Ua7ELnNDiA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -6719,6 +6795,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-v7qlPA0VpKUlEdhghbDqRoKMxFB3h3Ch688TApBJ6v+XLDdvWCGLJIYiPKGZnS6MAOie+IorCfNYVHOPIHSWwQ==}
|
resolution: {integrity: sha512-v7qlPA0VpKUlEdhghbDqRoKMxFB3h3Ch688TApBJ6v+XLDdvWCGLJIYiPKGZnS6MAOie+IorCfNYVHOPIHSWwQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@types/junit-report-builder@3.0.0:
|
||||||
|
resolution: {integrity: sha512-Rr3uts4+YVFsk7FCxzbapZQR04+4FCYVEvTvnxA6NNVnvNkA5Nx8bguU+iZrks1OMXHJJo0vWCi4+aUavRcJjw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@types/keyv@3.1.4:
|
/@types/keyv@3.1.4:
|
||||||
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
|
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -8854,6 +8934,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
|
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/charenc@0.0.2:
|
||||||
|
resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/check-error@1.0.2:
|
/check-error@1.0.2:
|
||||||
resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
|
resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -9154,7 +9238,6 @@ packages:
|
|||||||
/commander@10.0.0:
|
/commander@10.0.0:
|
||||||
resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==}
|
resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/commander@10.0.1:
|
/commander@10.0.1:
|
||||||
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
|
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
|
||||||
@@ -9560,6 +9643,11 @@ packages:
|
|||||||
object-assign: 4.1.1
|
object-assign: 4.1.1
|
||||||
vary: 1.1.2
|
vary: 1.1.2
|
||||||
|
|
||||||
|
/corser@2.0.1:
|
||||||
|
resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==}
|
||||||
|
engines: {node: '>= 0.4.0'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/cosmiconfig@7.1.0:
|
/cosmiconfig@7.1.0:
|
||||||
resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
|
resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@@ -9656,6 +9744,10 @@ packages:
|
|||||||
shebang-command: 2.0.0
|
shebang-command: 2.0.0
|
||||||
which: 2.0.2
|
which: 2.0.2
|
||||||
|
|
||||||
|
/crypt@0.0.2:
|
||||||
|
resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/crypto-browserify@3.12.0:
|
/crypto-browserify@3.12.0:
|
||||||
resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==}
|
resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -9901,6 +9993,11 @@ packages:
|
|||||||
engines: {node: '>=4.0'}
|
engines: {node: '>=4.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/date-format@4.0.3:
|
||||||
|
resolution: {integrity: sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==}
|
||||||
|
engines: {node: '>=4.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/dateformat@3.0.3:
|
/dateformat@3.0.3:
|
||||||
resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==}
|
resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -12484,6 +12581,13 @@ packages:
|
|||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/html-encoding-sniffer@3.0.0:
|
||||||
|
resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
dependencies:
|
||||||
|
whatwg-encoding: 2.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/html-entities@2.3.3:
|
/html-entities@2.3.3:
|
||||||
resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==}
|
resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -12597,6 +12701,29 @@ packages:
|
|||||||
- debug
|
- debug
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/http-server@14.1.1:
|
||||||
|
resolution: {integrity: sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
basic-auth: 2.0.1
|
||||||
|
chalk: 4.1.2
|
||||||
|
corser: 2.0.1
|
||||||
|
he: 1.2.0
|
||||||
|
html-encoding-sniffer: 3.0.0
|
||||||
|
http-proxy: 1.18.1
|
||||||
|
mime: 1.6.0
|
||||||
|
minimist: 1.2.8
|
||||||
|
opener: 1.5.2
|
||||||
|
portfinder: 1.0.32
|
||||||
|
secure-compare: 3.0.1
|
||||||
|
union: 0.5.0
|
||||||
|
url-join: 4.0.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- debug
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/http-signature@1.2.0:
|
/http-signature@1.2.0:
|
||||||
resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
|
resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
|
||||||
engines: {node: '>=0.8', npm: '>=1.3.7'}
|
engines: {node: '>=0.8', npm: '>=1.3.7'}
|
||||||
@@ -12994,6 +13121,10 @@ packages:
|
|||||||
has-tostringtag: 1.0.0
|
has-tostringtag: 1.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/is-buffer@1.1.6:
|
||||||
|
resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/is-builtin-module@3.2.1:
|
/is-builtin-module@3.2.1:
|
||||||
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
|
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@@ -13602,6 +13733,26 @@ packages:
|
|||||||
setimmediate: 1.0.5
|
setimmediate: 1.0.5
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/junit-report-builder@3.0.1:
|
||||||
|
resolution: {integrity: sha512-B8AZ2q24iGwPM3j/ZHc9nD0BY1rKhcnWCA1UvT8mhHfR8Vo/HTtg3ojMyo55BgctqQGZG7H8z0+g+mEUc32jgg==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dependencies:
|
||||||
|
date-format: 4.0.3
|
||||||
|
lodash: 4.17.21
|
||||||
|
make-dir: 3.1.0
|
||||||
|
xmlbuilder: 15.1.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/junit-report-merger@6.0.2:
|
||||||
|
resolution: {integrity: sha512-Jk9PXeaJhbgo3aUNza2r24JgxYzLUtCk2kwrub8fbmDuWUdXhT/nfbM2MlU3JQiFbjVud1bzBWdzr9/GGBWfmA==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
commander: 10.0.0
|
||||||
|
fast-glob: 3.2.12
|
||||||
|
xmlbuilder2: 3.1.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/just-extend@4.2.1:
|
/just-extend@4.2.1:
|
||||||
resolution: {integrity: sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==}
|
resolution: {integrity: sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -14209,7 +14360,6 @@ packages:
|
|||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dependencies:
|
dependencies:
|
||||||
semver: 6.3.0
|
semver: 6.3.0
|
||||||
dev: true
|
|
||||||
|
|
||||||
/make-error@1.3.6:
|
/make-error@1.3.6:
|
||||||
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
|
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
|
||||||
@@ -14310,6 +14460,14 @@ packages:
|
|||||||
safe-buffer: 5.2.1
|
safe-buffer: 5.2.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/md5@2.3.0:
|
||||||
|
resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
|
||||||
|
dependencies:
|
||||||
|
charenc: 0.0.2
|
||||||
|
crypt: 0.0.2
|
||||||
|
is-buffer: 1.1.6
|
||||||
|
dev: true
|
||||||
|
|
||||||
/media-typer@0.3.0:
|
/media-typer@0.3.0:
|
||||||
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
|
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
|
||||||
engines: {node: '>= 0.6'}
|
engines: {node: '>= 0.6'}
|
||||||
@@ -14637,6 +14795,21 @@ packages:
|
|||||||
resolution: {integrity: sha512-+o/DrHa4zykFMSKfS8Z+CPSEg5LW9tSNGTuN8o6MF1GKxlfkSHSeJn5UtgxvPkGgaouplnrLXCF+duAsmm6FHQ==}
|
resolution: {integrity: sha512-+o/DrHa4zykFMSKfS8Z+CPSEg5LW9tSNGTuN8o6MF1GKxlfkSHSeJn5UtgxvPkGgaouplnrLXCF+duAsmm6FHQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/mocha-junit-reporter@2.2.0(mocha@10.2.0):
|
||||||
|
resolution: {integrity: sha512-W83Ddf94nfLiTBl24aS8IVyFvO8aRDLlCvb+cKb/VEaN5dEbcqu3CXiTe8MQK2DvzS7oKE1RsFTxzN302GGbDQ==}
|
||||||
|
peerDependencies:
|
||||||
|
mocha: '>=2.2.5'
|
||||||
|
dependencies:
|
||||||
|
debug: 4.3.4(supports-color@5.5.0)
|
||||||
|
md5: 2.3.0
|
||||||
|
mkdirp: 1.0.4
|
||||||
|
mocha: 10.2.0
|
||||||
|
strip-ansi: 6.0.1
|
||||||
|
xml: 1.0.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/mocha@10.2.0:
|
/mocha@10.2.0:
|
||||||
resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==}
|
resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==}
|
||||||
engines: {node: '>= 14.0.0'}
|
engines: {node: '>= 14.0.0'}
|
||||||
@@ -17456,6 +17629,10 @@ packages:
|
|||||||
get-assigned-identifiers: 1.2.0
|
get-assigned-identifiers: 1.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/secure-compare@3.0.1:
|
||||||
|
resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/secure-json-parse@2.7.0:
|
/secure-json-parse@2.7.0:
|
||||||
resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
|
resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
|
||||||
dev: false
|
dev: false
|
||||||
@@ -17495,7 +17672,6 @@ packages:
|
|||||||
/semver@6.3.0:
|
/semver@6.3.0:
|
||||||
resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
|
resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
|
||||||
|
|
||||||
/semver@7.3.4:
|
/semver@7.3.4:
|
||||||
resolution: {integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==}
|
resolution: {integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==}
|
||||||
@@ -19191,6 +19367,11 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
/turbo-ignore@1.10.6:
|
||||||
|
resolution: {integrity: sha512-LVWRJU1p1+8rON1f8fweLrFUo0kOex+r3BD5NlxYdUuXpRzcC1SMgu3RSULJRZhRErNs5XwzcIuXWSQn1TySHg==}
|
||||||
|
hasBin: true
|
||||||
|
dev: true
|
||||||
|
|
||||||
/turbo-linux-64@1.10.3:
|
/turbo-linux-64@1.10.3:
|
||||||
resolution: {integrity: sha512-kvAisGKE7xHJdyMxZLvg53zvHxjqPK1UVj4757PQqtx9dnjYHSc8epmivE6niPgDHon5YqImzArCjVZJYpIGHQ==}
|
resolution: {integrity: sha512-kvAisGKE7xHJdyMxZLvg53zvHxjqPK1UVj4757PQqtx9dnjYHSc8epmivE6niPgDHon5YqImzArCjVZJYpIGHQ==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
@@ -19441,6 +19622,13 @@ packages:
|
|||||||
tiny-inflate: 1.0.3
|
tiny-inflate: 1.0.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/union@0.5.0:
|
||||||
|
resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
dependencies:
|
||||||
|
qs: 6.11.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/unique-filename@1.1.1:
|
/unique-filename@1.1.1:
|
||||||
resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==}
|
resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -19530,6 +19718,10 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
punycode: 2.3.0
|
punycode: 2.3.0
|
||||||
|
|
||||||
|
/url-join@4.0.1:
|
||||||
|
resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/url-parse-as-address@1.0.0:
|
/url-parse-as-address@1.0.0:
|
||||||
resolution: {integrity: sha512-1WJ8YX1Kcec9wgxy8d/ATzGP1ayO6BRnd3iB6NlM+7cOnn6U8p5PKppRTCPLobh3CSdJ4d0TdPjopzyU2KcVFw==}
|
resolution: {integrity: sha512-1WJ8YX1Kcec9wgxy8d/ATzGP1ayO6BRnd3iB6NlM+7cOnn6U8p5PKppRTCPLobh3CSdJ4d0TdPjopzyU2KcVFw==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -19937,6 +20129,13 @@ packages:
|
|||||||
engines: {node: '>=0.8.0'}
|
engines: {node: '>=0.8.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/whatwg-encoding@2.0.0:
|
||||||
|
resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
dependencies:
|
||||||
|
iconv-lite: 0.6.3
|
||||||
|
dev: true
|
||||||
|
|
||||||
/whatwg-url@5.0.0:
|
/whatwg-url@5.0.0:
|
||||||
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
|
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -20124,6 +20323,20 @@ packages:
|
|||||||
node-expat: 2.4.0
|
node-expat: 2.4.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/xml@1.0.1:
|
||||||
|
resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/xmlbuilder2@3.1.1:
|
||||||
|
resolution: {integrity: sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==}
|
||||||
|
engines: {node: '>=12.0'}
|
||||||
|
dependencies:
|
||||||
|
'@oozcitak/dom': 1.15.10
|
||||||
|
'@oozcitak/infra': 1.0.8
|
||||||
|
'@oozcitak/util': 8.3.8
|
||||||
|
js-yaml: 3.14.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/xmlbuilder@11.0.1:
|
/xmlbuilder@11.0.1:
|
||||||
resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
|
resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
|
||||||
engines: {node: '>=4.0'}
|
engines: {node: '>=4.0'}
|
||||||
@@ -20132,7 +20345,6 @@ packages:
|
|||||||
/xmlbuilder@15.1.1:
|
/xmlbuilder@15.1.1:
|
||||||
resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
|
resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
|
||||||
engines: {node: '>=8.0'}
|
engines: {node: '>=8.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/xmldoc@1.2.0:
|
/xmldoc@1.2.0:
|
||||||
resolution: {integrity: sha512-2eN8QhjBsMW2uVj7JHLHkMytpvGHLHxKXBy4J3fAT/HujsEtM6yU84iGjpESYGHg6XwK0Vu4l+KgqQ2dv2cCqg==}
|
resolution: {integrity: sha512-2eN8QhjBsMW2uVj7JHLHkMytpvGHLHxKXBy4J3fAT/HujsEtM6yU84iGjpESYGHg6XwK0Vu4l+KgqQ2dv2cCqg==}
|
||||||
|
|||||||
13
turbo.json
13
turbo.json
@@ -2,12 +2,16 @@
|
|||||||
"pipeline": {
|
"pipeline": {
|
||||||
"build": {
|
"build": {
|
||||||
"dependsOn": ["^build"],
|
"dependsOn": ["^build"],
|
||||||
"outputs": ["lib/**", "www/**", ".angular/**"]
|
"outputs": ["lib/**", "www/**", ".angular/**"],
|
||||||
|
"cache": true
|
||||||
},
|
},
|
||||||
"build:docker": {
|
"build:docker": {
|
||||||
"dependsOn": ["//#build:docker-workspace"],
|
"dependsOn": ["//#build:docker-workspace"],
|
||||||
"cache": false
|
"cache": false
|
||||||
},
|
},
|
||||||
|
"deploy": {
|
||||||
|
"dependsOn": ["build", "^deploy"]
|
||||||
|
},
|
||||||
"docs": {
|
"docs": {
|
||||||
"dependsOn": ["build", "^docs"],
|
"dependsOn": ["build", "^docs"],
|
||||||
"outputs": ["docs/**"]
|
"outputs": ["docs/**"]
|
||||||
@@ -25,9 +29,12 @@
|
|||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"dependsOn": ["build"],
|
"dependsOn": ["build"],
|
||||||
"outputs": ["coverage/**"]
|
"outputs": ["coverage/cobertura-coverage.xml", "coverage/report-junit.xml"]
|
||||||
|
},
|
||||||
|
"test:integration": {
|
||||||
|
"dependsOn": ["build"],
|
||||||
|
"outputs": ["coverage/integration-cobertura-coverage.xml", "coverage/integration-report-junit.xml"]
|
||||||
},
|
},
|
||||||
"test:integration": {},
|
|
||||||
"dev": {
|
"dev": {
|
||||||
"persistent": true,
|
"persistent": true,
|
||||||
"cache": false
|
"cache": false
|
||||||
|
|||||||
Reference in New Issue
Block a user