mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-02-22 00:42:09 +00:00
refactor: app deployment
This commit is contained in:
7
.dockerignore
Normal file
7
.dockerignore
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
**/node_modules
|
||||||
|
**/docs
|
||||||
|
**/coverage
|
||||||
|
**/.turbo
|
||||||
|
**/.idea
|
||||||
|
**/.vscode
|
||||||
|
**/.env*
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -17,6 +17,7 @@ www/
|
|||||||
|
|
||||||
.docs.json
|
.docs.json
|
||||||
coverage.xml
|
coverage.xml
|
||||||
|
.deploy/
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
lib-cov
|
lib-cov
|
||||||
@@ -41,6 +42,7 @@ build/Release
|
|||||||
|
|
||||||
# Dependency directories
|
# Dependency directories
|
||||||
node_modules/
|
node_modules/
|
||||||
|
.pnpm-store/
|
||||||
jspm_packages/
|
jspm_packages/
|
||||||
|
|
||||||
# TypeScript v1 declaration files
|
# TypeScript v1 declaration files
|
||||||
|
|||||||
118
.gitlab-ci.yml
118
.gitlab-ci.yml
@@ -1,59 +1,101 @@
|
|||||||
image: node:18-buster
|
default:
|
||||||
|
image: registry.gitlab.com/openstapps/projectmanagement/builder:v18
|
||||||
before_script:
|
tags:
|
||||||
- echo TURBO_API=$TURBO_API >> .env.local
|
- performance
|
||||||
- echo TURBO_TOKEN=$TURBO_TOKEN >> .env.local
|
before_script:
|
||||||
- echo TURBO_TEAM=$TURBO_TEAM >> .env.local
|
- echo TURBO_API=$TURBO_API >> .env.local
|
||||||
- corepack enable
|
- echo TURBO_TOKEN=$TURBO_TOKEN >> .env.local
|
||||||
- corepack prepare pnpm@latest-8 --activate
|
- echo TURBO_TEAM=$TURBO_TEAM >> .env.local
|
||||||
- pnpm config set store-dir .pnpm-store
|
- pnpm config set store-dir .pnpm-store
|
||||||
|
cache:
|
||||||
cache:
|
key:
|
||||||
key:
|
files:
|
||||||
files:
|
- pnpm-lock.yaml
|
||||||
- pnpm-lock.yaml
|
paths:
|
||||||
paths:
|
- .pnpm-store
|
||||||
- .pnpm-store
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
- lint
|
|
||||||
- test
|
- test
|
||||||
- docs
|
- deploy
|
||||||
|
|
||||||
build:
|
build:
|
||||||
stage: build
|
stage: build
|
||||||
|
interruptible: true
|
||||||
script:
|
script:
|
||||||
- pnpm install
|
- pnpm install
|
||||||
- pnpm build
|
- pnpm build:full
|
||||||
|
- mv frontend/app/www www
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- www
|
||||||
|
# rules:
|
||||||
|
# - if: $CI_COMMIT_BRANCH == "develop"
|
||||||
|
# when: never
|
||||||
|
# - if: $CI_COMMIT_BRANCH == "master"
|
||||||
|
# when: never
|
||||||
|
# - when: always
|
||||||
|
|
||||||
lint:
|
unit:
|
||||||
stage: lint
|
|
||||||
script:
|
|
||||||
- pnpm install
|
|
||||||
- pnpm build
|
|
||||||
- pnpm run syncpack
|
|
||||||
- pnpm lint
|
|
||||||
- pnpm format
|
|
||||||
|
|
||||||
test:
|
|
||||||
stage: test
|
stage: test
|
||||||
|
interruptible: true
|
||||||
script:
|
script:
|
||||||
- pnpm install
|
- pnpm install
|
||||||
- pnpm build
|
|
||||||
- pnpm test
|
- pnpm test
|
||||||
|
coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/'
|
||||||
artifacts:
|
artifacts:
|
||||||
reports:
|
reports:
|
||||||
coverage_report:
|
coverage_report:
|
||||||
coverage_format: cobertura
|
coverage_format: cobertura
|
||||||
path: coverage.xml
|
path: coverage.xml
|
||||||
|
|
||||||
pages:
|
# TODO!!
|
||||||
stage: docs
|
# integration:
|
||||||
|
# stage: test
|
||||||
|
# interruptible: true
|
||||||
|
# variables:
|
||||||
|
# DOCKER_DRIVER: overlay2
|
||||||
|
# services:
|
||||||
|
# - docker:dind
|
||||||
|
# script:
|
||||||
|
# - pnpm install
|
||||||
|
# - pnpm run test:integration
|
||||||
|
# tags:
|
||||||
|
# - gitlab-org-docker
|
||||||
|
|
||||||
|
review:
|
||||||
|
stage: deploy
|
||||||
|
dependencies:
|
||||||
|
- build
|
||||||
script:
|
script:
|
||||||
- pnpm install
|
# TODO: - .gitlab/ci/enableGitlabReviewToolbar.sh www/index.html "$CI_PROJECT_ID" "$CI_OPEN_MERGE_REQUESTS"
|
||||||
- pnpm run docs
|
- cp www/index.html www/200.html
|
||||||
- mv docs public
|
- pnpm dlx surge -p ./www -d https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/
|
||||||
artifacts:
|
environment:
|
||||||
paths:
|
name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME
|
||||||
- public
|
url: https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/
|
||||||
|
on_stop: stop_review
|
||||||
|
rules:
|
||||||
|
- if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web"))
|
||||||
|
|
||||||
|
stop_review:
|
||||||
|
stage: deploy
|
||||||
|
script:
|
||||||
|
- pnpm dlx surge teardown $CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh
|
||||||
|
when: manual
|
||||||
|
environment:
|
||||||
|
name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME
|
||||||
|
action: stop
|
||||||
|
rules:
|
||||||
|
- if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web"))
|
||||||
|
|
||||||
|
# TODO!!
|
||||||
|
# pages:docs:
|
||||||
|
# stage: deploy
|
||||||
|
# script:
|
||||||
|
# - pnpm install
|
||||||
|
# - pnpm run docs
|
||||||
|
# - mv docs public
|
||||||
|
# artifacts:
|
||||||
|
# paths:
|
||||||
|
# - public
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ const config = {
|
|||||||
'main',
|
'main',
|
||||||
'types',
|
'types',
|
||||||
'bin',
|
'bin',
|
||||||
|
'files',
|
||||||
'scripts',
|
'scripts',
|
||||||
'dependencies',
|
'dependencies',
|
||||||
'devDependencies',
|
'devDependencies',
|
||||||
@@ -46,7 +47,7 @@ const config = {
|
|||||||
dependencies: ['**'],
|
dependencies: ['**'],
|
||||||
dependencyTypes: ['workspace'],
|
dependencyTypes: ['workspace'],
|
||||||
packages: ['**'],
|
packages: ['**'],
|
||||||
pinVersion: '2.1.0',
|
pinVersion: '3.0.0',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Packages should use workspace version',
|
label: 'Packages should use workspace version',
|
||||||
|
|||||||
18
Dockerfile
Normal file
18
Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
FROM registry.gitlab.com/openstapps/projectmanagement/node:v18 as workspace
|
||||||
|
|
||||||
|
USER root
|
||||||
|
RUN apk add --update python3 py3-pip make g++ gcompat
|
||||||
|
|
||||||
|
WORKDIR app/
|
||||||
|
COPY pnpm-lock.yaml \
|
||||||
|
package.json \
|
||||||
|
pnpm-workspace.yaml ./
|
||||||
|
RUN pnpm fetch --prod
|
||||||
|
|
||||||
|
COPY backend/ backend/
|
||||||
|
COPY configuration/ configuration/
|
||||||
|
COPY examples/ examples/
|
||||||
|
COPY frontend/ frontend/
|
||||||
|
COPY packages/ packages/
|
||||||
|
|
||||||
|
RUN pnpm install -r --offline --prod
|
||||||
45
README.md
45
README.md
@@ -1,5 +1,30 @@
|
|||||||
# Open StApps Monorepo
|
# Open StApps Monorepo
|
||||||
|
|
||||||
|
Refer to the [contribution guide](./CONTRIBUTING.md)
|
||||||
|
|
||||||
|
## Projects
|
||||||
|
|
||||||
|
### Apps
|
||||||
|
|
||||||
|
| Name | Version | License | Readme |
|
||||||
|
| -------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- |
|
||||||
|
| Core | [](https://npmjs.com/package/@openstapps/app) | [](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`frontend/app`](./frontend/app/README.md) |
|
||||||
|
| Backend | [](https://npmjs.com/package/@openstapps/backend) | [](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`backend/backend`](./backend/backend/README.md) |
|
||||||
|
| Proxy | [](https://npmjs.com/package/@openstapps/proxy) | [](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`backend/proxy`](./backend/proxy/README.md) |
|
||||||
|
| Database | [](https://npmjs.com/package/@openstapps/database) | [](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`backend/database`](./backend/database/README.md) |
|
||||||
|
|
||||||
|
### Libraries
|
||||||
|
|
||||||
|
| Name | Version | License | Readme |
|
||||||
|
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
|
||||||
|
| Core | [](https://npmjs.com/package/@openstapps/core) | [](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`packages/core`](./packages/core/README.md) |
|
||||||
|
| API | [](https://npmjs.com/package/@openstapps/api) | [](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`packages/api`](./packages/api/README.md) |
|
||||||
|
| API Plugin | [](https://npmjs.com/package/@openstapps/api-plugin) | [](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`packages/api-plugin`](./packages/api-plugin/README.md) |
|
||||||
|
| Logger | [](https://npmjs.com/package/@openstapps/logger) | [](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`packages/logger`](./packages/logger/README.md) |
|
||||||
|
| Core Tools | [](https://npmjs.com/package/@openstapps/core-tools) | [](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`packages/core-tools`](./packages/core-tools/README.md) |
|
||||||
|
|
||||||
|
## Publishing
|
||||||
|
|
||||||
## Remote caching
|
## Remote caching
|
||||||
|
|
||||||
Turbo supports remote caching, which massively speeds up build processes.
|
Turbo supports remote caching, which massively speeds up build processes.
|
||||||
@@ -7,6 +32,7 @@ Turbo supports remote caching, which massively speeds up build processes.
|
|||||||
### Connecting to the remote cache locally
|
### Connecting to the remote cache locally
|
||||||
|
|
||||||
`.env.local`
|
`.env.local`
|
||||||
|
|
||||||
```dotenv
|
```dotenv
|
||||||
TURBO_API=http://example:3000
|
TURBO_API=http://example:3000
|
||||||
TURBO_TEAM=openstapps
|
TURBO_TEAM=openstapps
|
||||||
@@ -16,11 +42,12 @@ TURBO_TOKEN=abc123
|
|||||||
### Connecting to the remote cache in GitLab Pipelines
|
### Connecting to the remote cache in GitLab Pipelines
|
||||||
|
|
||||||
You will need to define
|
You will need to define
|
||||||
* `TURBO_API`
|
|
||||||
* `TURBO_TEAM`
|
- `TURBO_API`
|
||||||
* `TURBO_TOKEN`
|
- `TURBO_TEAM`
|
||||||
Like you did locally as described in [this](https://turbo.build/repo/docs/ci/gitlabci#remote-caching)
|
- `TURBO_TOKEN`
|
||||||
guide.
|
Like you did locally as described in [this](https://turbo.build/repo/docs/ci/gitlabci#remote-caching)
|
||||||
|
guide.
|
||||||
|
|
||||||
### Hosting a cache
|
### Hosting a cache
|
||||||
|
|
||||||
@@ -29,10 +56,12 @@ Self-hosting via Docker is extremely simple, just follow
|
|||||||
or in short:
|
or in short:
|
||||||
|
|
||||||
`.env`
|
`.env`
|
||||||
|
|
||||||
```dotenv
|
```dotenv
|
||||||
PORT=...
|
PORT=...
|
||||||
TURBO_TOKEN=...
|
TURBO_TOKEN=...
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run --env-file=.env -p 3000:3000 fox1t/turborepo-remote-cache
|
docker run --env-file=.env -p 3000:3000 fox1t/turborepo-remote-cache
|
||||||
```
|
```
|
||||||
@@ -42,11 +71,11 @@ docker run --env-file=.env -p 3000:3000 fox1t/turborepo-remote-cache
|
|||||||
#### Why is this package bloating the app?
|
#### Why is this package bloating the app?
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
pnpm why -P -r --filter @openstapps/app PACKAGE
|
pnpm why --prod -r --filter @openstapps/app PACKAGE
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Licenses
|
#### Licenses
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
pnpm licenses -P --filter PROJECT
|
pnpm licenses --prod --filter PROJECT
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
.idea/
|
|
||||||
.git/
|
|
||||||
.vscode/
|
|
||||||
Dockerfile
|
|
||||||
91
backend/backend/.gitignore
vendored
91
backend/backend/.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
|
|
||||||
@@ -1,168 +0,0 @@
|
|||||||
image: registry.gitlab.com/openstapps/projectmanagement/node
|
|
||||||
|
|
||||||
default:
|
|
||||||
tags:
|
|
||||||
- performance
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
- audit
|
|
||||||
- publish
|
|
||||||
- deploy
|
|
||||||
|
|
||||||
build:
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- npm ci
|
|
||||||
- npm run build
|
|
||||||
artifacts:
|
|
||||||
expire_in: 1 day
|
|
||||||
untracked: true
|
|
||||||
paths:
|
|
||||||
- node_modules/
|
|
||||||
|
|
||||||
unit:
|
|
||||||
stage: test
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
script:
|
|
||||||
- npm run test-unit
|
|
||||||
coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/'
|
|
||||||
artifacts:
|
|
||||||
expire_in: 6 month
|
|
||||||
reports:
|
|
||||||
coverage_report:
|
|
||||||
coverage_format: cobertura
|
|
||||||
path: coverage/cobertura-coverage.xml
|
|
||||||
|
|
||||||
integration:
|
|
||||||
image: registry.gitlab.com/openstapps/projectmanagement/builder
|
|
||||||
stage: test
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
script:
|
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
||||||
- docker-compose -f integration-test.yml pull && docker-compose -f integration-test.yml up --abort-on-container-exit --exit-code-from apicli
|
|
||||||
tags:
|
|
||||||
- gitlab-org-docker
|
|
||||||
|
|
||||||
audit:
|
|
||||||
stage: audit
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
script:
|
|
||||||
- npm audit --production
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- npm run documentation
|
|
||||||
- mv docs/openapi public
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
|
|
||||||
ci:
|
|
||||||
stage: test
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
script:
|
|
||||||
- .gitlab/ci/testCIScripts.sh
|
|
||||||
|
|
||||||
# Anchor templates for publishing the image in the docker registry
|
|
||||||
# Automatically publishing for versions in tags (eg v1.0.0 as 1.0.0), master and develop
|
|
||||||
# Manual publishing for all other branches
|
|
||||||
.publish_template_auto: &publish_template_auto
|
|
||||||
image: registry.gitlab.com/openstapps/projectmanagement/builder
|
|
||||||
stage: publish
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
script:
|
|
||||||
- echo "YOU SHOULD OVERRIDE THIS SECTION"
|
|
||||||
- exit 1
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
|
|
||||||
.publish_template_manual: &publish_template_manual
|
|
||||||
image: registry.gitlab.com/openstapps/projectmanagement/builder
|
|
||||||
stage: publish
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
script:
|
|
||||||
- export CORE_VERSION=$(openstapps-projectmanagement get-used-version @openstapps/core)
|
|
||||||
- export IMAGETAG_BASE=$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME
|
|
||||||
- export IMAGETAG_CORE_VERSION=$IMAGETAG_BASE:core-$CORE_VERSION
|
|
||||||
- export IMAGETAG_LATEST=$IMAGETAG_BASE:latest
|
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
||||||
- docker build -t $IMAGETAG_LATEST -t $IMAGETAG_CORE_VERSION .
|
|
||||||
- docker push $IMAGETAG_BASE
|
|
||||||
except:
|
|
||||||
- /(^v[0-9]+\.[0-9]+\.[0-9]+$|^master$|^develop$)/
|
|
||||||
only:
|
|
||||||
- branches
|
|
||||||
when: manual
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
|
|
||||||
.publish_version_template: &publish_version_template
|
|
||||||
script:
|
|
||||||
- export CORE_VERSION=$(openstapps-projectmanagement get-used-version @openstapps/core)
|
|
||||||
- export VERSION=$(echo -n "$CI_COMMIT_REF_NAME" | cut -c 2-)
|
|
||||||
- export IMAGETAG_BASE=$CI_REGISTRY_IMAGE
|
|
||||||
- export IMAGETAG_CORE_VERSION=$IMAGETAG_BASE:core-$CORE_VERSION
|
|
||||||
- export IMAGETAG_VERSION=$IMAGETAG_BASE:$VERSION
|
|
||||||
- export IMAGETAG_LATEST=$IMAGETAG_BASE:latest
|
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
||||||
- docker build -t $IMAGETAG_LATEST -t $IMAGETAG_VERSION -t $IMAGETAG_CORE_VERSION .
|
|
||||||
- docker push $IMAGETAG_BASE
|
|
||||||
|
|
||||||
.publish_branch_template: &publish_branch_template
|
|
||||||
script:
|
|
||||||
- export CORE_VERSION=$(openstapps-projectmanagement get-used-version @openstapps/core)
|
|
||||||
- export IMAGETAG_BASE=$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME
|
|
||||||
- export IMAGETAG_CORE_VERSION=$IMAGETAG_BASE:core-$CORE_VERSION
|
|
||||||
- export IMAGETAG_LATEST=$IMAGETAG_BASE:latest
|
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
||||||
- docker build -t $IMAGETAG_LATEST -t $IMAGETAG_CORE_VERSION .
|
|
||||||
- docker push $IMAGETAG_BASE
|
|
||||||
|
|
||||||
# Jobs joining anchor templates with automatic publishing behaviour
|
|
||||||
# ! The jobname must end with ":" followed by the name for the registry branch
|
|
||||||
image:version:
|
|
||||||
<<: *publish_template_auto
|
|
||||||
<<: *publish_version_template
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
||||||
|
|
||||||
image:master:
|
|
||||||
<<: *publish_template_auto
|
|
||||||
<<: *publish_branch_template
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
|
|
||||||
image:develop:
|
|
||||||
<<: *publish_template_auto
|
|
||||||
<<: *publish_branch_template
|
|
||||||
only:
|
|
||||||
- develop
|
|
||||||
|
|
||||||
# Jobs joining anchor templates with manual publishing behaviour
|
|
||||||
image:branch:
|
|
||||||
<<: *publish_template_manual
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# script returns semantical versioning string linke 2.0.0 (if $1 is v2.0.0) or $1
|
|
||||||
if echo -n $1 | grep -Eq 'v[0-9]+\.[0-9]+\.[0-9]+'; then
|
|
||||||
echo $(echo -n "$1" | cut -c 2-);
|
|
||||||
else
|
|
||||||
echo $1;
|
|
||||||
fi
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# test all CI scripts
|
|
||||||
|
|
||||||
SCRIPT_DIR=$(dirname "$0")
|
|
||||||
|
|
||||||
TAG_VERSION=$(sh $SCRIPT_DIR/getRegistryTag.sh "v1.0.0")
|
|
||||||
TAG_TEST=$(sh $SCRIPT_DIR/getRegistryTag.sh "TEST")
|
|
||||||
BRANCH_NAME=$(sh $SCRIPT_DIR/getRegistryBranch.sh "very:first:test")
|
|
||||||
|
|
||||||
# Leaving out pushAsLatestVersion.sh as its controll flow
|
|
||||||
# is based on the same condition as getRegistryTag.sh
|
|
||||||
|
|
||||||
if [ $TAG_VERSION != "1.0.0" ]; then
|
|
||||||
echo "ERROR in CI SCRIPT: $SCRIPT_DIR/getRegistryTag.sh"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $TAG_TEST != "TEST" ]; then
|
|
||||||
echo "ERROR in CI SCRIPT: $SCRIPT_DIR/getRegistryTag.sh"
|
|
||||||
return 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $BRANCH_NAME != "test" ]; then
|
|
||||||
echo "ERROR in CI SCRIPT: $SCRIPT_DIR/getRegistryBranch.sh"
|
|
||||||
return 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
## Summary
|
|
||||||
|
|
||||||
(Summarize the bug encountered concisely)
|
|
||||||
|
|
||||||
## Steps to reproduce
|
|
||||||
|
|
||||||
(How one can reproduce the issue - this is very important)
|
|
||||||
|
|
||||||
## Example Project
|
|
||||||
|
|
||||||
(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)
|
|
||||||
|
|
||||||
(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)
|
|
||||||
|
|
||||||
## Which version of the software did you use ?
|
|
||||||
|
|
||||||
(Version numbers of used software or commit references)
|
|
||||||
|
|
||||||
## What is the current bug behavior?
|
|
||||||
|
|
||||||
(What actually happens)
|
|
||||||
|
|
||||||
## What is the expected correct behavior?
|
|
||||||
|
|
||||||
(What you should see instead)
|
|
||||||
|
|
||||||
## Relevant logs and/or screenshots
|
|
||||||
|
|
||||||
(Paste any relevant logs - please use code blocks (```) to format console output,
|
|
||||||
logs, and code as it's very hard to read otherwise.)
|
|
||||||
|
|
||||||
## Possible fixes
|
|
||||||
|
|
||||||
(If you can, link to the line of code that might be responsible for the problem)
|
|
||||||
|
|
||||||
/label ~bug ~meeting
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
## Description
|
|
||||||
|
|
||||||
(Describe the feature that you're requesting concisely)
|
|
||||||
|
|
||||||
## Explanation
|
|
||||||
|
|
||||||
(Explain why the feature is necessary)
|
|
||||||
|
|
||||||
## Mockups/Data
|
|
||||||
|
|
||||||
(If possible, provide mockups or examples of communication, which demonstrate the feature)
|
|
||||||
|
|
||||||
## Dependencies, issues to be resolved beforehand
|
|
||||||
|
|
||||||
(List issues or dependencies that need to be resolved before this feature can be implemented)
|
|
||||||
|
|
||||||
/label ~feature ~meeting
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"port": 9200
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# Ignore all files/folders by default
|
|
||||||
# See https://stackoverflow.com/a/29932318
|
|
||||||
/*
|
|
||||||
# Except these files/folders
|
|
||||||
!lib
|
|
||||||
!LICENSE
|
|
||||||
!package.json
|
|
||||||
!package-lock.json
|
|
||||||
!README.md
|
|
||||||
!src
|
|
||||||
@@ -1,13 +1,14 @@
|
|||||||
FROM registry.gitlab.com/openstapps/projectmanagement/node
|
FROM openstapps:workspace as pruned
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
RUN apk add --update python3 py3-pip make g++
|
RUN pnpm --filter @openstapps/backend --prod deploy /pruned
|
||||||
|
|
||||||
|
FROM registry.gitlab.com/openstapps/projectmanagement/node:v18
|
||||||
|
|
||||||
USER node
|
USER node
|
||||||
ADD --chown=node:node . /app
|
ENV NODE_ENV=production
|
||||||
WORKDIR /app
|
|
||||||
RUN npm ci && npm run build
|
COPY --chown=node:node --from=pruned pruned .
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
ENTRYPOINT ["node", "app.js"]
|
||||||
CMD ["node", "app"]
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
|
image: openstapps:backend
|
||||||
ports:
|
ports:
|
||||||
- '3000:3000'
|
- '3000:3000'
|
||||||
build: .
|
|
||||||
environment:
|
environment:
|
||||||
STAPPS_LOG_LEVEL: '31'
|
STAPPS_LOG_LEVEL: '31'
|
||||||
STAPPS_EXIT_LEVEL: '8'
|
STAPPS_EXIT_LEVEL: '8'
|
||||||
@@ -13,12 +13,12 @@ services:
|
|||||||
ES_ADDR: 'http://elasticsearch:9200'
|
ES_ADDR: 'http://elasticsearch:9200'
|
||||||
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
|
image: openstapps:database
|
||||||
ports:
|
ports:
|
||||||
- '9200:9200'
|
- '9200:9200'
|
||||||
image: 'registry.gitlab.com/openstapps/database:latest'
|
|
||||||
|
|
||||||
apicli:
|
api-cli:
|
||||||
image: 'registry.gitlab.com/openstapps/api/cli:latest'
|
image: openstapps:api-cli
|
||||||
environment:
|
environment:
|
||||||
STAPPS_LOG_LEVEL: '31'
|
STAPPS_LOG_LEVEL: '31'
|
||||||
STAPPS_EXIT_LEVEL: '8'
|
STAPPS_EXIT_LEVEL: '8'
|
||||||
|
|||||||
7480
backend/backend/package-lock.json
generated
7480
backend/backend/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/backend",
|
"name": "@openstapps/backend",
|
||||||
"description": "A reference implementation for a StApps backend",
|
"description": "A reference implementation for a StApps backend",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "AGPL-3.0-only",
|
"license": "AGPL-3.0-only",
|
||||||
"author": "André Bierlein <andre.mt.bierlein@gmail.com>",
|
"author": "André Bierlein <andre.mt.bierlein@gmail.com>",
|
||||||
@@ -17,8 +17,16 @@
|
|||||||
],
|
],
|
||||||
"main": "lib/app.js",
|
"main": "lib/app.js",
|
||||||
"bin": "app.js",
|
"bin": "app.js",
|
||||||
|
"files": [
|
||||||
|
"app.js",
|
||||||
|
"lib",
|
||||||
|
"config",
|
||||||
|
"README.md",
|
||||||
|
"ROUTES.md"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup",
|
"build": "tsup-node",
|
||||||
|
"build:docker": "docker build -t openstapps: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",
|
||||||
@@ -27,14 +35,24 @@
|
|||||||
"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": "docker-compose -f integration-test.yml pull && docker-compose -f integration-test.yml up --build --abort-on-container-exit --exit-code-from apicli",
|
"test:integration": "docker-compose -f integration-test.yml up --abort-on-container-exit --exit-code-from api-cli",
|
||||||
"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": {
|
||||||
"@elastic/elasticsearch": "8.4.0",
|
"@elastic/elasticsearch": "8.4.0",
|
||||||
"@openstapps/core": "workspace:*",
|
"@openstapps/core": "workspace:*",
|
||||||
"@openstapps/core-tools": "workspace:*",
|
"@openstapps/core-tools": "workspace:*",
|
||||||
|
"@openstapps/es-mapping-generator": "workspace:*",
|
||||||
"@openstapps/logger": "workspace:*",
|
"@openstapps/logger": "workspace:*",
|
||||||
|
"@types/body-parser": "1.19.2",
|
||||||
|
"@types/cors": "2.8.13",
|
||||||
|
"@types/express": "4.17.17",
|
||||||
|
"@types/geojson": "1.0.6",
|
||||||
|
"@types/node": "18.15.3",
|
||||||
|
"@types/node-cron": "3.0.7",
|
||||||
|
"@types/nodemailer": "6.4.7",
|
||||||
|
"@types/promise-queue": "2.2.0",
|
||||||
|
"@types/uuid": "8.3.4",
|
||||||
"body-parser": "1.20.2",
|
"body-parser": "1.20.2",
|
||||||
"cors": "2.8.5",
|
"cors": "2.8.5",
|
||||||
"cosmiconfig": "8.1.3",
|
"cosmiconfig": "8.1.3",
|
||||||
@@ -50,38 +68,25 @@
|
|||||||
"nodemailer": "6.9.1",
|
"nodemailer": "6.9.1",
|
||||||
"prom-client": "14.1.1",
|
"prom-client": "14.1.1",
|
||||||
"promise-queue": "2.2.5",
|
"promise-queue": "2.2.5",
|
||||||
"ts-node": "10.9.1",
|
|
||||||
"uuid": "8.3.2"
|
"uuid": "8.3.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@openstapps/es-mapping-generator": "workspace:*",
|
|
||||||
"@openstapps/eslint-config": "workspace:*",
|
"@openstapps/eslint-config": "workspace:*",
|
||||||
"@openstapps/prettier-config": "workspace:*",
|
"@openstapps/prettier-config": "workspace:*",
|
||||||
"@openstapps/tsconfig": "workspace:*",
|
"@openstapps/tsconfig": "workspace:*",
|
||||||
"@testdeck/mocha": "0.3.3",
|
"@testdeck/mocha": "0.3.3",
|
||||||
"@types/body-parser": "1.19.2",
|
|
||||||
"@types/chai": "4.3.5",
|
"@types/chai": "4.3.5",
|
||||||
"@types/chai-as-promised": "7.1.5",
|
"@types/chai-as-promised": "7.1.5",
|
||||||
"@types/config": "3.3.0",
|
|
||||||
"@types/cors": "2.8.13",
|
|
||||||
"@types/express": "4.17.17",
|
|
||||||
"@types/geojson": "1.0.6",
|
|
||||||
"@types/mocha": "10.0.1",
|
"@types/mocha": "10.0.1",
|
||||||
"@types/morgan": "1.9.4",
|
"@types/morgan": "1.9.4",
|
||||||
"@types/node": "18.15.3",
|
|
||||||
"@types/node-cron": "3.0.7",
|
|
||||||
"@types/nodemailer": "6.4.7",
|
|
||||||
"@types/promise-queue": "2.2.0",
|
|
||||||
"@types/sinon": "10.0.14",
|
"@types/sinon": "10.0.14",
|
||||||
"@types/sinon-express-mock": "1.3.9",
|
"@types/sinon-express-mock": "1.3.9",
|
||||||
"@types/supertest": "2.0.12",
|
"@types/supertest": "2.0.12",
|
||||||
"@types/uuid": "8.3.4",
|
|
||||||
"c8": "7.14.0",
|
"c8": "7.14.0",
|
||||||
"chai": "4.3.7",
|
"chai": "4.3.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",
|
||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"esmock": "2.2.3",
|
|
||||||
"get-port": "5.1.1",
|
"get-port": "5.1.1",
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
"mocked-env": "1.3.5",
|
"mocked-env": "1.3.5",
|
||||||
@@ -89,6 +94,7 @@
|
|||||||
"sinon": "15.0.4",
|
"sinon": "15.0.4",
|
||||||
"sinon-express-mock": "2.2.1",
|
"sinon-express-mock": "2.2.1",
|
||||||
"supertest": "6.3.3",
|
"supertest": "6.3.3",
|
||||||
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
},
|
},
|
||||||
|
|||||||
12
backend/backend/turbo.json
Normal file
12
backend/backend/turbo.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"extends": ["//"],
|
||||||
|
"pipeline": {
|
||||||
|
"test:integration": {
|
||||||
|
"dependsOn": [
|
||||||
|
"@openstapps/database#build:docker",
|
||||||
|
"@openstapps/backend#build:docker",
|
||||||
|
"@openstapps/api-cli#build:docker"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
image: registry.gitlab.com/openstapps/projectmanagement/builder
|
|
||||||
|
|
||||||
default:
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- test
|
|
||||||
- publish
|
|
||||||
|
|
||||||
image build:
|
|
||||||
stage: test
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
script:
|
|
||||||
- export CI_ES_VERSION=$(sed -n '/FROM elasticsearch/p' Dockerfile | cut -d ":" -f 2)
|
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
||||||
- docker build -t $CI_REGISTRY_IMAGE:$CI_ES_VERSION .
|
|
||||||
- docker tag $CI_REGISTRY_IMAGE:$CI_ES_VERSION $CI_REGISTRY_IMAGE:latest
|
|
||||||
only:
|
|
||||||
- branches
|
|
||||||
except:
|
|
||||||
- main
|
|
||||||
- develop
|
|
||||||
|
|
||||||
main:
|
|
||||||
stage: publish
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
script:
|
|
||||||
- export CI_ES_VERSION=$(sed -n '/FROM elasticsearch/p' Dockerfile | cut -d ":" -f 2)
|
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
||||||
- docker build -t $CI_REGISTRY_IMAGE:$CI_ES_VERSION .
|
|
||||||
- docker tag $CI_REGISTRY_IMAGE:$CI_ES_VERSION $CI_REGISTRY_IMAGE:latest
|
|
||||||
- docker push $CI_REGISTRY_IMAGE:latest
|
|
||||||
- docker push $CI_REGISTRY_IMAGE:$CI_ES_VERSION
|
|
||||||
only:
|
|
||||||
- main
|
|
||||||
|
|
||||||
develop:
|
|
||||||
stage: publish
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
script:
|
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
||||||
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME .
|
|
||||||
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
|
|
||||||
only:
|
|
||||||
- develop
|
|
||||||
@@ -1,7 +1,3 @@
|
|||||||
# Open StApps Monorepo
|
|
||||||
|
|
||||||
========
|
|
||||||
|
|
||||||
# Database docker image
|
# Database docker image
|
||||||
|
|
||||||
[](https://gitlab.com/openstapps/database/commits/main)
|
[](https://gitlab.com/openstapps/database/commits/main)
|
||||||
|
|||||||
9
backend/database/package.json
Normal file
9
backend/database/package.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"name": "@openstapps/database",
|
||||||
|
"version": "3.0.0",
|
||||||
|
"license": "AGPL-3.0-only",
|
||||||
|
"scripts": {
|
||||||
|
"build:docker": "docker build -t openstapps:database ."
|
||||||
|
},
|
||||||
|
"private": true
|
||||||
|
}
|
||||||
96
backend/proxy/.gitignore
vendored
96
backend/proxy/.gitignore
vendored
@@ -1,96 +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/
|
|
||||||
|
|
||||||
# Certificates
|
|
||||||
*.crt
|
|
||||||
*.key
|
|
||||||
test/certs
|
|
||||||
@@ -1,91 +0,0 @@
|
|||||||
image: registry.gitlab.com/openstapps/projectmanagement/node
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
- audit
|
|
||||||
- publish
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- npm ci
|
|
||||||
|
|
||||||
build:
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- npm run build
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
unit:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm test
|
|
||||||
coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/'
|
|
||||||
artifacts:
|
|
||||||
reports:
|
|
||||||
coverage_report:
|
|
||||||
coverage_format: cobertura
|
|
||||||
path: coverage/cobertura-coverage.xml
|
|
||||||
|
|
||||||
audit:
|
|
||||||
allow_failure: true
|
|
||||||
except:
|
|
||||||
- schedules
|
|
||||||
script:
|
|
||||||
- npm audit
|
|
||||||
stage: audit
|
|
||||||
|
|
||||||
scheduled-audit:
|
|
||||||
only:
|
|
||||||
- schedules
|
|
||||||
script:
|
|
||||||
- npm audit --audit-level=high
|
|
||||||
stage: audit
|
|
||||||
|
|
||||||
docker image build:
|
|
||||||
image: registry.gitlab.com/openstapps/projectmanagement/builder
|
|
||||||
stage: test
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
script:
|
|
||||||
- docker build -t $CI_REGISTRY_IMAGE/$REGISTRY_BRANCH$CI_COMMIT_REF_NAME:latest .
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
|
|
||||||
docker image:
|
|
||||||
image: registry.gitlab.com/openstapps/projectmanagement/builder
|
|
||||||
stage: publish
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
script:
|
|
||||||
- export VERSION=$(echo -n "$CI_COMMIT_REF_NAME" | cut -c 2-)
|
|
||||||
- export IMAGETAG_BASE=$CI_REGISTRY_IMAGE
|
|
||||||
- export IMAGETAG_VERSION=$IMAGETAG_BASE:$VERSION
|
|
||||||
- export IMAGETAG_LATEST=$IMAGETAG_BASE:latest
|
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
||||||
- docker build -t $IMAGETAG_VERSION -t $IMAGETAG_LATEST .
|
|
||||||
- docker push $IMAGETAG_BASE
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
|
|
||||||
pages:
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
||||||
script:
|
|
||||||
- npm run documentation
|
|
||||||
- mv docs public
|
|
||||||
stage: publish
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
## Summary
|
|
||||||
|
|
||||||
(Summarize the bug encountered concisely)
|
|
||||||
|
|
||||||
## Steps to reproduce
|
|
||||||
|
|
||||||
(How one can reproduce the issue - this is very important)
|
|
||||||
|
|
||||||
## Example Project
|
|
||||||
|
|
||||||
(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)
|
|
||||||
|
|
||||||
(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)
|
|
||||||
|
|
||||||
## What is the current bug behavior?
|
|
||||||
|
|
||||||
(What actually happens)
|
|
||||||
|
|
||||||
## What is the expected correct behavior?
|
|
||||||
|
|
||||||
(What you should see instead)
|
|
||||||
|
|
||||||
## Relevant logs and/or screenshots
|
|
||||||
|
|
||||||
(Paste any relevant logs - please use code blocks (```) to format console output,
|
|
||||||
logs, and code as it's very hard to read otherwise.)
|
|
||||||
|
|
||||||
## Possible fixes
|
|
||||||
|
|
||||||
(If you can, link to the line of code that might be responsible for the problem)
|
|
||||||
|
|
||||||
/label ~meeting ~bug
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
## Description
|
|
||||||
|
|
||||||
(Describe the feature that you're requesting concisely)
|
|
||||||
|
|
||||||
## Explanation
|
|
||||||
|
|
||||||
(Explain why the feature is necessary)
|
|
||||||
|
|
||||||
## Dependencies, issues to be resolved beforehand
|
|
||||||
|
|
||||||
(List issues or dependencies that need to be resolved before this feature can be implemented)
|
|
||||||
|
|
||||||
/label ~meeting ~feature
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# Ignore all files/folders by default
|
|
||||||
# See https://stackoverflow.com/a/29932318
|
|
||||||
/*
|
|
||||||
# Except these files/folders
|
|
||||||
!lib
|
|
||||||
!LICENSE
|
|
||||||
!package.json
|
|
||||||
!package-lock.json
|
|
||||||
!README.md
|
|
||||||
!src
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/proxy",
|
"name": "@openstapps/proxy",
|
||||||
"description": "NGINX proxy that is dynamically configured by a Node.js script",
|
"description": "NGINX proxy that is dynamically configured by a Node.js script",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "AGPL-3.0-only",
|
"license": "AGPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/proxy.git",
|
"repository": "git@gitlab.com:openstapps/proxy.git",
|
||||||
@@ -15,8 +15,21 @@
|
|||||||
"Rainer Killinger <mail-openstapps@killinger.co>"
|
"Rainer Killinger <mail-openstapps@killinger.co>"
|
||||||
],
|
],
|
||||||
"bin": "app.js",
|
"bin": "app.js",
|
||||||
|
"files": [
|
||||||
|
"app.js",
|
||||||
|
"lib",
|
||||||
|
"bin",
|
||||||
|
"config",
|
||||||
|
"fixtures",
|
||||||
|
"systemd",
|
||||||
|
"Dockerfile",
|
||||||
|
".dockerignore",
|
||||||
|
"nginx.conf",
|
||||||
|
"nginx.conf.template",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts",
|
"build": "tsup-node --dts",
|
||||||
"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": "eslint --ext .ts src/",
|
"lint": "eslint --ext .ts src/",
|
||||||
@@ -37,8 +50,8 @@
|
|||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@openstapps/api-cli": "workspace:*",
|
||||||
"@openstapps/eslint-config": "workspace:*",
|
"@openstapps/eslint-config": "workspace:*",
|
||||||
"@openstapps/nyc-config": "workspace:*",
|
|
||||||
"@openstapps/prettier-config": "workspace:*",
|
"@openstapps/prettier-config": "workspace:*",
|
||||||
"@openstapps/tsconfig": "workspace:*",
|
"@openstapps/tsconfig": "workspace:*",
|
||||||
"@types/chai": "4.3.5",
|
"@types/chai": "4.3.5",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/backend-config",
|
"name": "@openstapps/backend-config",
|
||||||
"description": "Backend Configuration for OpenStApps",
|
"description": "Backend Configuration for OpenStApps",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"author": "Thea Schöbl <dev@theaninova.de>",
|
"author": "Thea Schöbl <dev@theaninova.de>",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/eslint-config",
|
"name": "@openstapps/eslint-config",
|
||||||
"description": "A collection of configuration base files for StApps projects. Just an (unused) experiment for now.",
|
"description": "A collection of configuration base files for StApps projects. Just an (unused) experiment for now.",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "commonjs",
|
"type": "commonjs",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/eslint-config.git",
|
"repository": "git@gitlab.com:openstapps/eslint-config.git",
|
||||||
@@ -10,6 +10,10 @@
|
|||||||
"Rainer Killinger <mail-openstapps@killinger.co>"
|
"Rainer Killinger <mail-openstapps@killinger.co>"
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
|
"files": [
|
||||||
|
"index.js",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@openstapps/tsconfig": "workspace:*",
|
"@openstapps/tsconfig": "workspace:*",
|
||||||
"@types/node": "18.15.3",
|
"@types/node": "18.15.3",
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"all": true,
|
|
||||||
"branches": 90,
|
|
||||||
"check-coverage": true,
|
|
||||||
"exclude": [],
|
|
||||||
"extension": [".ts"],
|
|
||||||
"functions": 95,
|
|
||||||
"include": ["src/**/*.ts"],
|
|
||||||
"lines": 95,
|
|
||||||
"per-file": true,
|
|
||||||
"reporter": [
|
|
||||||
"cobertura",
|
|
||||||
"html",
|
|
||||||
"text-summary"
|
|
||||||
],
|
|
||||||
"require": ["ts-node/register"],
|
|
||||||
"statements": 95
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@openstapps/nyc-config",
|
|
||||||
"description": "The nyc coverage reporter config for the openstapps project",
|
|
||||||
"version": "2.1.0",
|
|
||||||
"type": "commonjs",
|
|
||||||
"license": "GPL-3.0-only",
|
|
||||||
"repository": "git@gitlab.com:openstapps/eslint-config.git",
|
|
||||||
"author": "Thea Schöbl",
|
|
||||||
"main": "index.json"
|
|
||||||
}
|
|
||||||
91
configuration/prettier-config/.gitignore
vendored
91
configuration/prettier-config/.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
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
# Ignore all files/folders by default
|
|
||||||
# See https://stackoverflow.com/a/29932318
|
|
||||||
/*
|
|
||||||
# Except these files/folders
|
|
||||||
!index.json
|
|
||||||
!LICENSE
|
|
||||||
!package.json
|
|
||||||
!package-lock.json
|
|
||||||
!README.md
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/prettier-config",
|
"name": "@openstapps/prettier-config",
|
||||||
"description": "StApps Prettier Config",
|
"description": "StApps Prettier Config",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/prettier-config.git",
|
"repository": "git@gitlab.com:openstapps/prettier-config.git",
|
||||||
@@ -10,6 +10,10 @@
|
|||||||
"Rainer Killinger <mail-openstapps@killinger.co>"
|
"Rainer Killinger <mail-openstapps@killinger.co>"
|
||||||
],
|
],
|
||||||
"main": "index.json",
|
"main": "index.json",
|
||||||
|
"files": [
|
||||||
|
"index.json",
|
||||||
|
"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'",
|
"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",
|
"postversion": "npm run changelog",
|
||||||
|
|||||||
91
configuration/projectmanagement/.gitignore
vendored
91
configuration/projectmanagement/.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
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
## Summary
|
|
||||||
|
|
||||||
(Summarize the bug encountered concisely)
|
|
||||||
|
|
||||||
## Steps to reproduce
|
|
||||||
|
|
||||||
(How one can reproduce the issue - this is very important)
|
|
||||||
|
|
||||||
## Example Project
|
|
||||||
|
|
||||||
(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)
|
|
||||||
|
|
||||||
(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)
|
|
||||||
|
|
||||||
## What is the current bug behavior?
|
|
||||||
|
|
||||||
(What actually happens)
|
|
||||||
|
|
||||||
## What is the expected correct behavior?
|
|
||||||
|
|
||||||
(What you should see instead)
|
|
||||||
|
|
||||||
## Relevant logs and/or screenshots
|
|
||||||
|
|
||||||
(Paste any relevant logs - please use code blocks (```) to format console output,
|
|
||||||
logs, and code as it's very hard to read otherwise.)
|
|
||||||
|
|
||||||
## Possible fixes
|
|
||||||
|
|
||||||
(If you can, link to the line of code that might be responsible for the problem)
|
|
||||||
|
|
||||||
/label ~meeting
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
## Description
|
|
||||||
|
|
||||||
(Describe the feature that you're requesting concisely)
|
|
||||||
|
|
||||||
## Explanation
|
|
||||||
|
|
||||||
(Explain why the feature is necessary)
|
|
||||||
|
|
||||||
## Dependencies, issues to be resolved beforehand
|
|
||||||
|
|
||||||
(List issues or dependencies that need to be resolved before this feature can be implemented)
|
|
||||||
|
|
||||||
/label ~meeting
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# Ignore all files/folders by default
|
|
||||||
# See https://stackoverflow.com/a/29932318
|
|
||||||
/*
|
|
||||||
# Except these files/folders
|
|
||||||
!lib
|
|
||||||
lib/tsconfig.tsbuildinfo
|
|
||||||
!LICENSE
|
|
||||||
!package.json
|
|
||||||
!package-lock.json
|
|
||||||
!README.md
|
|
||||||
!src
|
|
||||||
!templates
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/projectmanagement",
|
"name": "@openstapps/projectmanagement",
|
||||||
"description": "Main documentation and scripts for maintenance.",
|
"description": "Main documentation and scripts for maintenance.",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/projectmanagement.git",
|
"repository": "git@gitlab.com:openstapps/projectmanagement.git",
|
||||||
@@ -18,8 +18,16 @@
|
|||||||
"bin": {
|
"bin": {
|
||||||
"openstapps-projectmanagement": "app.js"
|
"openstapps-projectmanagement": "app.js"
|
||||||
},
|
},
|
||||||
|
"files": [
|
||||||
|
"app.js",
|
||||||
|
"lib",
|
||||||
|
"images",
|
||||||
|
"project-docs",
|
||||||
|
"templates",
|
||||||
|
"renovate.json"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts",
|
"build": "tsup-node --dts",
|
||||||
"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": "eslint --ext .ts src/",
|
"lint": "eslint --ext .ts src/",
|
||||||
@@ -32,7 +40,7 @@
|
|||||||
"@slack/web-api": "6.8.1",
|
"@slack/web-api": "6.8.1",
|
||||||
"commander": "10.0.0",
|
"commander": "10.0.0",
|
||||||
"date-fns": "2.30.0",
|
"date-fns": "2.30.0",
|
||||||
"glob": "10.2.6",
|
"glob": "10.2.7",
|
||||||
"mustache": "4.2.0"
|
"mustache": "4.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/tsconfig",
|
"name": "@openstapps/tsconfig",
|
||||||
"description": "The tsconfig for the openstapps project",
|
"description": "The tsconfig for the openstapps project",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "commonjs",
|
"type": "commonjs",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/eslint-config.git",
|
"repository": "git@gitlab.com:openstapps/eslint-config.git",
|
||||||
"author": "Thea Schöbl",
|
"author": "Thea Schöbl",
|
||||||
"main": "tsconfig.json"
|
"main": "tsconfig.json",
|
||||||
|
"files": [
|
||||||
|
"tsconfig.json"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
# Ignore everything
|
|
||||||
**
|
|
||||||
|
|
||||||
# Allow files and directories
|
|
||||||
!/lib/**
|
|
||||||
!/node_modules/**
|
|
||||||
!/LICENSE
|
|
||||||
!package.json
|
|
||||||
91
examples/minimal-connector/.gitignore
vendored
91
examples/minimal-connector/.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
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
## Summary
|
|
||||||
|
|
||||||
(Summarize the bug encountered concisely)
|
|
||||||
|
|
||||||
## Steps to reproduce
|
|
||||||
|
|
||||||
(How one can reproduce the issue - this is very important)
|
|
||||||
|
|
||||||
## Example Project
|
|
||||||
|
|
||||||
(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)
|
|
||||||
|
|
||||||
(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)
|
|
||||||
|
|
||||||
## What is the current bug behavior?
|
|
||||||
|
|
||||||
(What actually happens)
|
|
||||||
|
|
||||||
## What is the expected correct behavior?
|
|
||||||
|
|
||||||
(What you should see instead)
|
|
||||||
|
|
||||||
## Relevant logs and/or screenshots
|
|
||||||
|
|
||||||
(Paste any relevant logs - please use code blocks (```) to format console output,
|
|
||||||
logs, and code as it's very hard to read otherwise.)
|
|
||||||
|
|
||||||
## Possible fixes
|
|
||||||
|
|
||||||
(If you can, link to the line of code that might be responsible for the problem)
|
|
||||||
|
|
||||||
/label ~meeting
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
## Description
|
|
||||||
|
|
||||||
(Describe the feature that you're requesting concisely)
|
|
||||||
|
|
||||||
## Explanation
|
|
||||||
|
|
||||||
(Explain why the feature is necessary)
|
|
||||||
|
|
||||||
## Dependencies, issues to be resolved beforehand
|
|
||||||
|
|
||||||
(List issues or dependencies that need to be resolved before this feature can be implemented)
|
|
||||||
|
|
||||||
/label ~meeting
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# Ignore all files/folders by default
|
|
||||||
# See https://stackoverflow.com/a/29932318
|
|
||||||
/*
|
|
||||||
# Except these files/folders
|
|
||||||
!docs
|
|
||||||
!lib
|
|
||||||
lib/tsconfig.tsbuildinfo
|
|
||||||
!LICENSE
|
|
||||||
!package.json
|
|
||||||
!package-lock.json
|
|
||||||
!README.md
|
|
||||||
!src
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/minimal-connector",
|
"name": "@openstapps/minimal-connector",
|
||||||
"description": "This is a minimal connector which serves as an example",
|
"description": "This is a minimal connector which serves as an example",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/minimal-connector.git",
|
"repository": "git@gitlab.com:openstapps/minimal-connector.git",
|
||||||
@@ -14,8 +14,14 @@
|
|||||||
],
|
],
|
||||||
"main": "lib/cli.js",
|
"main": "lib/cli.js",
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
|
"files": [
|
||||||
|
"app.js",
|
||||||
|
"lib",
|
||||||
|
"README.md",
|
||||||
|
"Dockerfile"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts",
|
"build": "tsup-node --dts",
|
||||||
"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": "eslint --ext .ts src/",
|
"lint": "eslint --ext .ts src/",
|
||||||
|
|||||||
1
examples/minimal-deployment/.gitignore
vendored
1
examples/minimal-deployment/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
.idea
|
|
||||||
91
examples/minimal-plugin/.gitignore
vendored
91
examples/minimal-plugin/.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
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# Ignore all files/folders by default
|
|
||||||
# See https://stackoverflow.com/a/29932318
|
|
||||||
/*
|
|
||||||
# Except these files/folders
|
|
||||||
!lib
|
|
||||||
!LICENSE
|
|
||||||
!package.json
|
|
||||||
!package-lock.json
|
|
||||||
!README.md
|
|
||||||
!src
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/minimal-plugin",
|
"name": "@openstapps/minimal-plugin",
|
||||||
"description": "Minimal Plugin",
|
"description": "Minimal Plugin",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"author": "Thea Schöbl",
|
"author": "Thea Schöbl",
|
||||||
@@ -10,8 +10,14 @@
|
|||||||
"Rainer Killinger <mail-openstapps@killinger.co>"
|
"Rainer Killinger <mail-openstapps@killinger.co>"
|
||||||
],
|
],
|
||||||
"bin": "app.js",
|
"bin": "app.js",
|
||||||
|
"files": [
|
||||||
|
"app.js",
|
||||||
|
"lib",
|
||||||
|
"README.md",
|
||||||
|
"Dockerfile"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts",
|
"build": "tsup-node --dts",
|
||||||
"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": "eslint --ext .ts src/",
|
"lint": "eslint --ext .ts src/",
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# script returns string with everything after the last colon of $1 input
|
|
||||||
echo -n $1 | grep -oE '[^:]+$'
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# If this is a pipeline of a version tag, also push this version
|
|
||||||
# as latest to the registry alias $2:latest
|
|
||||||
if echo -n $1 | grep -Eq 'v[0-9]+\.[0-9]+\.[0-9]+'; then
|
|
||||||
docker push $2:latest;
|
|
||||||
fi
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
## Summary
|
|
||||||
|
|
||||||
(Summarize the bug encountered concisely)
|
|
||||||
|
|
||||||
## Steps to reproduce
|
|
||||||
|
|
||||||
(How one can reproduce the issue - this is very important)
|
|
||||||
|
|
||||||
## Example Project
|
|
||||||
|
|
||||||
(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)
|
|
||||||
|
|
||||||
(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)
|
|
||||||
|
|
||||||
## What is the current bug behavior?
|
|
||||||
|
|
||||||
(What actually happens)
|
|
||||||
|
|
||||||
## What is the expected correct behavior?
|
|
||||||
|
|
||||||
(What you should see instead)
|
|
||||||
|
|
||||||
## Relevant logs and/or screenshots
|
|
||||||
|
|
||||||
(Paste any relevant logs - please use code blocks (```) to format console output,
|
|
||||||
logs, and code as it's very hard to read otherwise.)
|
|
||||||
|
|
||||||
## Possible fixes
|
|
||||||
|
|
||||||
(If you can, link to the line of code that might be responsible for the problem)
|
|
||||||
|
|
||||||
/label ~bug ~meeting
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
## Description
|
|
||||||
|
|
||||||
(Describe the feature that you're requesting concisely)
|
|
||||||
|
|
||||||
## Explanation
|
|
||||||
|
|
||||||
(Explain why the feature is necessary)
|
|
||||||
|
|
||||||
## Mockups/Screenshots
|
|
||||||
|
|
||||||
(If possible, provide mockups or screenshots, which demonstrate the feature)
|
|
||||||
|
|
||||||
## Dependencies, issues to be resolved beforehand
|
|
||||||
|
|
||||||
(List issues or dependencies that need to be resolved before this feature can be implemented)
|
|
||||||
|
|
||||||
/label ~feature ~meeting
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
## What needs to be changed?
|
|
||||||
|
|
||||||
??? - Describe use case!
|
|
||||||
|
|
||||||
## How is the current state not sufficient?
|
|
||||||
|
|
||||||
???
|
|
||||||
|
|
||||||
## Which changes are necessary?
|
|
||||||
|
|
||||||
???
|
|
||||||
|
|
||||||
## Do the proposed changes impact current use cases?
|
|
||||||
|
|
||||||
???
|
|
||||||
|
|
||||||
/label ~improvement ~meeting
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/app",
|
"name": "@openstapps/app",
|
||||||
"description": "The generic app tailored to fulfill needs of German universities, written using Ionic Framework.",
|
"description": "The generic app tailored to fulfill needs of German universities, written using Ionic Framework.",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"author": "Karl-Philipp Wulfert <krlwlfrt@gmail.com>",
|
"author": "Karl-Philipp Wulfert <krlwlfrt@gmail.com>",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
@@ -14,10 +14,10 @@
|
|||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"analyze": "webpack-bundle-analyzer www/stats.json",
|
"analyze": "webpack-bundle-analyzer www/stats.json",
|
||||||
"build": "ng build",
|
"build": "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:prod": "ng build --configuration=production",
|
"build:dev": "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",
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
"lint:fix": "eslint --fix -c .eslintrc.json --ignore-path .eslintignore --ext .ts,.html src/",
|
"lint:fix": "eslint --fix -c .eslintrc.json --ignore-path .eslintignore --ext .ts,.html src/",
|
||||||
"minify-icons": "ts-node scripts/minify-icon-font.ts",
|
"minify-icons": "ts-node scripts/minify-icon-font.ts",
|
||||||
"ng": "ng",
|
"ng": "ng",
|
||||||
"postinstall": "npx jetify",
|
"postinstall": "jetify || echo \"skipping jetify in production mode\"",
|
||||||
"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",
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
"eslint-plugin-prettier": "4.2.1",
|
"eslint-plugin-prettier": "4.2.1",
|
||||||
"eslint-plugin-unicorn": "45.0.2",
|
"eslint-plugin-unicorn": "45.0.2",
|
||||||
"fontkit": "2.0.2",
|
"fontkit": "2.0.2",
|
||||||
"glob": "10.2.6",
|
"glob": "10.2.7",
|
||||||
"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",
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import {Injectable} from '@angular/core';
|
|||||||
import {Client} from '@openstapps/api';
|
import {Client} from '@openstapps/api';
|
||||||
import {SCAppConfiguration, SCIndexResponse} from '@openstapps/core';
|
import {SCAppConfiguration, SCIndexResponse} from '@openstapps/core';
|
||||||
import {NGXLogger} from 'ngx-logger';
|
import {NGXLogger} from 'ngx-logger';
|
||||||
import packageJson from '../../../../package.json';
|
|
||||||
import {environment} from '../../../environments/environment';
|
import {environment} from '../../../environments/environment';
|
||||||
import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider';
|
import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider';
|
||||||
import {StorageProvider} from '../storage/storage.provider';
|
import {StorageProvider} from '../storage/storage.provider';
|
||||||
@@ -55,7 +54,7 @@ export class ConfigProvider {
|
|||||||
/**
|
/**
|
||||||
* Version of the @openstapps/core package that app is using
|
* Version of the @openstapps/core package that app is using
|
||||||
*/
|
*/
|
||||||
scVersion = packageJson.dependencies['@openstapps/core'];
|
scVersion = environment.sc_version;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* First session indicator (config not found in storage)
|
* First session indicator (config not found in storage)
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ export const environment = {
|
|||||||
app_host: 'mobile.app.uni-frankfurt.de',
|
app_host: 'mobile.app.uni-frankfurt.de',
|
||||||
custom_url_scheme: 'de.anyschool.app',
|
custom_url_scheme: 'de.anyschool.app',
|
||||||
backend_version: '3.0.0',
|
backend_version: '3.0.0',
|
||||||
|
sc_version: '1.0.1',
|
||||||
production: true,
|
production: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ export const environment = {
|
|||||||
app_host: 'mobile.app.uni-frankfurt.de',
|
app_host: 'mobile.app.uni-frankfurt.de',
|
||||||
custom_url_scheme: 'de.anyschool.app',
|
custom_url_scheme: 'de.anyschool.app',
|
||||||
backend_version: '3.0.0',
|
backend_version: '3.0.0',
|
||||||
|
sc_version: '1.0.1',
|
||||||
production: false,
|
production: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
"scripts": {
|
|
||||||
"build": "tsup",
|
|
||||||
"format:": "prettier .",
|
|
||||||
"format:fix": "prettier . --write",
|
|
||||||
"lint": "eslint --ext .ts src/",
|
|
||||||
"lint:fix": "eslint --ext .ts src/",
|
|
||||||
"test": "nyc mocha 'test/**/*.spec.ts'"
|
|
||||||
},
|
|
||||||
"nyc": {
|
|
||||||
"extends": "@openstapps/nyc-config"
|
|
||||||
},
|
|
||||||
"tsup": {
|
|
||||||
"entry": [
|
|
||||||
"src/index.ts"
|
|
||||||
],
|
|
||||||
"sourcemap": true,
|
|
||||||
"clean": true,
|
|
||||||
"format": "esm",
|
|
||||||
"outDir": "lib"
|
|
||||||
},
|
|
||||||
"prettier": "@openstapps/prettier-config",
|
|
||||||
"eslintConfig": {
|
|
||||||
"extends": [
|
|
||||||
"@openstapps"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
16
package.json
16
package.json
@@ -1,8 +1,10 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/openstapps",
|
"name": "@openstapps/openstapps",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "dotenv -c -- turbo run build",
|
"build": "dotenv -c -- turbo run build",
|
||||||
|
"build:docker-workspace": "docker build -t openstapps:workspace .",
|
||||||
|
"build:full": "dotenv -c -- turbo run syncpack 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",
|
||||||
@@ -13,18 +15,18 @@
|
|||||||
"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": "dotenv -c -- turbo run test --filter=!@openstapps/app && node coverage.mjs",
|
||||||
"turboify-pipeline": "pnpm build && pnpm run syncpack && pnpm lint && pnpm format && pnpm test && pnpm run docs"
|
"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"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@changesets/cli": "2.26.1",
|
"@changesets/cli": "2.26.1",
|
||||||
"cobertura-merge": "1.0.4",
|
"cobertura-merge": "1.0.4",
|
||||||
"deepmerge": "4.3.1",
|
"deepmerge": "4.3.1",
|
||||||
"dotenv-cli": "7.2.1",
|
"dotenv-cli": "7.2.1",
|
||||||
"glob": "10.2.6",
|
"glob": "10.2.7",
|
||||||
"package-sync-cli": "1.3.2",
|
"syncpack": "10.5.1",
|
||||||
"syncpack": "10.1.0",
|
"turbo": "1.10.3",
|
||||||
"turbo": "1.10.0",
|
"typedoc": "0.24.8",
|
||||||
"typedoc": "0.24.7",
|
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,14 @@
|
|||||||
FROM registry.gitlab.com/openstapps/projectmanagement/node
|
FROM openstapps:workspace as pruned
|
||||||
|
|
||||||
ADD . /app
|
USER root
|
||||||
WORKDIR /app
|
RUN pnpm --filter @openstapps/api-cli --prod deploy /pruned
|
||||||
|
|
||||||
ENTRYPOINT ["node", "lib/cli.js"]
|
FROM registry.gitlab.com/openstapps/projectmanagement/node:v18
|
||||||
|
|
||||||
|
USER node
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
|
||||||
|
COPY --chown=node:node --from=pruned pruned .
|
||||||
|
|
||||||
|
ENTRYPOINT ["node", "app.js"]
|
||||||
CMD ["--help"]
|
CMD ["--help"]
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/api-cli",
|
"name": "@openstapps/api-cli",
|
||||||
"description": "CLI client for @openstapps/api",
|
"description": "CLI client for @openstapps/api",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/api.git",
|
"repository": "git@gitlab.com:openstapps/api.git",
|
||||||
@@ -18,25 +18,26 @@
|
|||||||
"bin": {
|
"bin": {
|
||||||
"openstapps-api": "app.js"
|
"openstapps-api": "app.js"
|
||||||
},
|
},
|
||||||
|
"files": [
|
||||||
|
"app.js",
|
||||||
|
"lib",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup",
|
"build": "tsup-node",
|
||||||
|
"build:docker": "docker build -t openstapps: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/",
|
||||||
"lint:fix": "eslint --fix --ext .ts src/",
|
"lint:fix": "eslint --fix --ext .ts src/",
|
||||||
"test": "c8 mocha --exit"
|
"test": "c8 mocha --exit"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"dependencies": {
|
||||||
"@openstapps/api": "workspace:*",
|
"@openstapps/api": "workspace:*",
|
||||||
"@openstapps/core": "workspace:*",
|
"@openstapps/core": "workspace:*",
|
||||||
"@openstapps/core-tools": "workspace:*",
|
"@openstapps/core-tools": "workspace:*",
|
||||||
"@openstapps/eslint-config": "workspace:*",
|
"@openstapps/eslint-config": "workspace:*",
|
||||||
"@openstapps/logger": "workspace:*",
|
"@openstapps/logger": "workspace:*",
|
||||||
"@openstapps/prettier-config": "workspace:*",
|
|
||||||
"@openstapps/tsconfig": "workspace:*",
|
|
||||||
"@types/chai": "4.3.5",
|
|
||||||
"@types/chai-as-promised": "7.1.5",
|
|
||||||
"@types/chai-spies": "1.0.3",
|
|
||||||
"@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",
|
||||||
@@ -44,22 +45,26 @@
|
|||||||
"@types/mocha": "10.0.1",
|
"@types/mocha": "10.0.1",
|
||||||
"@types/node": "18.15.3",
|
"@types/node": "18.15.3",
|
||||||
"@types/wait-on": "5.3.1",
|
"@types/wait-on": "5.3.1",
|
||||||
|
"cli-progress": "3.12.0",
|
||||||
|
"commander": "10.0.0",
|
||||||
|
"fs-extra": "10.1.0",
|
||||||
|
"wait-on": "6.0.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@openstapps/prettier-config": "workspace:*",
|
||||||
|
"@openstapps/tsconfig": "workspace:*",
|
||||||
|
"@types/chai": "4.3.5",
|
||||||
|
"@types/chai-as-promised": "7.1.5",
|
||||||
|
"@types/chai-spies": "1.0.3",
|
||||||
"c8": "7.14.0",
|
"c8": "7.14.0",
|
||||||
"chai": "4.3.7",
|
"chai": "4.3.7",
|
||||||
"chai-as-promised": "7.1.1",
|
"chai-as-promised": "7.1.1",
|
||||||
"chai-spies": "1.0.0",
|
"chai-spies": "1.0.0",
|
||||||
"cli-progress": "3.12.0",
|
|
||||||
"commander": "10.0.0",
|
|
||||||
"fs-extra": "10.1.0",
|
|
||||||
"mocha": "10.2.0",
|
"mocha": "10.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",
|
||||||
"typescript": "4.9.5",
|
"typescript": "4.9.5"
|
||||||
"wait-on": "6.0.1"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@openstapps/core": "workspace:*"
|
|
||||||
},
|
},
|
||||||
"tsup": {
|
"tsup": {
|
||||||
"entry": [
|
"entry": [
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import {Logger} from '@openstapps/logger';
|
|||||||
import {Command} from 'commander';
|
import {Command} from 'commander';
|
||||||
import {readFileSync} from 'fs';
|
import {readFileSync} from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import {URL} from 'url';
|
import {fileURLToPath, URL} from 'url';
|
||||||
import waitOn from 'wait-on';
|
import waitOn from 'wait-on';
|
||||||
import {HttpClient} from '@openstapps/api';
|
import {HttpClient} from '@openstapps/api';
|
||||||
import {copy} from './copy.js';
|
import {copy} from './copy.js';
|
||||||
@@ -29,7 +29,9 @@ process.on('unhandledRejection', async error => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// eslint-disable-next-line unicorn/prefer-module
|
// eslint-disable-next-line unicorn/prefer-module
|
||||||
const packageJson = JSON.parse(readFileSync(path.join(__dirname, '..', 'package.json')).toString());
|
const packageJson = JSON.parse(
|
||||||
|
readFileSync(path.join(path.dirname(fileURLToPath(import.meta.url)), '..', 'package.json')).toString(),
|
||||||
|
);
|
||||||
|
|
||||||
const client = new HttpClient();
|
const client = new HttpClient();
|
||||||
const commander = new Command();
|
const commander = new Command();
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/api-plugin",
|
"name": "@openstapps/api-plugin",
|
||||||
"description": "Node.js library to interact with the StApps backend service",
|
"description": "Node.js library to interact with the StApps backend service",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/api.git",
|
"repository": "git@gitlab.com:openstapps/api.git",
|
||||||
@@ -17,8 +17,12 @@
|
|||||||
],
|
],
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
|
"files": [
|
||||||
|
"lib",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts",
|
"build": "tsup-node --dts",
|
||||||
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
||||||
"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",
|
||||||
@@ -57,7 +61,7 @@
|
|||||||
"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",
|
||||||
"typedoc": "0.24.7",
|
"typedoc": "0.24.8",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -1,124 +0,0 @@
|
|||||||
image: registry.gitlab.com/openstapps/projectmanagement/node
|
|
||||||
|
|
||||||
default:
|
|
||||||
tags:
|
|
||||||
- performance
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- npm ci
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
- audit
|
|
||||||
- publish
|
|
||||||
- deploy
|
|
||||||
|
|
||||||
build:
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- npm run build
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
package:
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
stage: publish
|
|
||||||
script:
|
|
||||||
- echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
|
|
||||||
- npm publish
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+.[0-9]+.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
audit:
|
|
||||||
stage: audit
|
|
||||||
script:
|
|
||||||
- npm audit
|
|
||||||
allow_failure: true
|
|
||||||
except:
|
|
||||||
- schedules
|
|
||||||
|
|
||||||
scheduled-audit:
|
|
||||||
stage: audit
|
|
||||||
script:
|
|
||||||
- npm audit --audit-level=high
|
|
||||||
only:
|
|
||||||
- schedules
|
|
||||||
|
|
||||||
unit:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm test
|
|
||||||
coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/'
|
|
||||||
artifacts:
|
|
||||||
reports:
|
|
||||||
coverage_report:
|
|
||||||
coverage_format: cobertura
|
|
||||||
path: coverage/cobertura-coverage.xml
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- npm run documentation
|
|
||||||
- mv docs public
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
||||||
|
|
||||||
docker image:
|
|
||||||
image: registry.gitlab.com/openstapps/projectmanagement/builder:latest
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
stage: publish
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
script:
|
|
||||||
- export VERSION=$(node -p "require('./package.json').version")
|
|
||||||
- export CORE_VERSION=$(openstapps-projectmanagement get-used-version @openstapps/core)
|
|
||||||
- export IMAGETAG_BASE=$CI_REGISTRY_IMAGE/cli
|
|
||||||
- export IMAGETAG_CORE_VERSION=$IMAGETAG_BASE:core-$CORE_VERSION
|
|
||||||
- export IMAGETAG_VERSION=$IMAGETAG_BASE:$VERSION
|
|
||||||
- export IMAGETAG_LATEST=$IMAGETAG_BASE:latest
|
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
||||||
- docker build -t $IMAGETAG_LATEST -t $IMAGETAG_VERSION -t $IMAGETAG_CORE_VERSION .
|
|
||||||
- docker push $IMAGETAG_BASE
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
||||||
|
|
||||||
branch image:
|
|
||||||
image: registry.gitlab.com/openstapps/projectmanagement/builder:latest
|
|
||||||
stage: publish
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
artifacts:
|
|
||||||
untracked: true
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
script:
|
|
||||||
- export IMAGETAG_BASE=$CI_REGISTRY_IMAGE/cli
|
|
||||||
- export IMAGETAG_BRANCH=$IMAGETAG_BASE:$CI_COMMIT_REF_SLUG
|
|
||||||
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
||||||
- docker build -t $IMAGETAG_BRANCH .
|
|
||||||
- docker push $IMAGETAG_BASE
|
|
||||||
except:
|
|
||||||
- /(^v[0-9]+\.[0-9]+\.[0-9]+$|^master$|^develop$)/
|
|
||||||
only:
|
|
||||||
- branches
|
|
||||||
when: manual
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
## Summary
|
|
||||||
|
|
||||||
(Summarize the bug encountered concisely)
|
|
||||||
|
|
||||||
## Steps to reproduce
|
|
||||||
|
|
||||||
(How one can reproduce the issue - this is very important)
|
|
||||||
|
|
||||||
## Example Project
|
|
||||||
|
|
||||||
(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)
|
|
||||||
|
|
||||||
(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)
|
|
||||||
|
|
||||||
## What is the current bug behavior?
|
|
||||||
|
|
||||||
(What actually happens)
|
|
||||||
|
|
||||||
## What is the expected correct behavior?
|
|
||||||
|
|
||||||
(What you should see instead)
|
|
||||||
|
|
||||||
## Relevant logs and/or screenshots
|
|
||||||
|
|
||||||
(Paste any relevant logs - please use code blocks (```) to format console output,
|
|
||||||
logs, and code as it's very hard to read otherwise.)
|
|
||||||
|
|
||||||
## Possible fixes
|
|
||||||
|
|
||||||
(If you can, link to the line of code that might be responsible for the problem)
|
|
||||||
|
|
||||||
/label ~meeting
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
## Description
|
|
||||||
|
|
||||||
(Describe the feature that you're requesting concisely)
|
|
||||||
|
|
||||||
## Explanation
|
|
||||||
|
|
||||||
(Explain why the feature is necessary)
|
|
||||||
|
|
||||||
## Dependencies, issues to be resolved beforehand
|
|
||||||
|
|
||||||
(List issues or dependencies that need to be resolved before this feature can be implemented)
|
|
||||||
|
|
||||||
/label ~meeting
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/api",
|
"name": "@openstapps/api",
|
||||||
"description": "Node.js library to interact with the StApps backend service",
|
"description": "Node.js library to interact with the StApps backend service",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/api.git",
|
"repository": "git@gitlab.com:openstapps/api.git",
|
||||||
@@ -17,8 +17,12 @@
|
|||||||
],
|
],
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
|
"files": [
|
||||||
|
"lib",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts",
|
"build": "tsup-node --dts",
|
||||||
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
||||||
"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",
|
||||||
@@ -40,7 +44,6 @@
|
|||||||
"@types/chai-spies": "1.0.3",
|
"@types/chai-spies": "1.0.3",
|
||||||
"@types/mocha": "10.0.1",
|
"@types/mocha": "10.0.1",
|
||||||
"@types/traverse": "0.6.32",
|
"@types/traverse": "0.6.32",
|
||||||
"undici": "5.22.1",
|
|
||||||
"c8": "7.14.0",
|
"c8": "7.14.0",
|
||||||
"chai": "4.3.7",
|
"chai": "4.3.7",
|
||||||
"chai-as-promised": "7.1.1",
|
"chai-as-promised": "7.1.1",
|
||||||
@@ -51,8 +54,9 @@
|
|||||||
"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",
|
||||||
"typedoc": "0.24.7",
|
"typedoc": "0.24.8",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5",
|
||||||
|
"undici": "5.22.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@openstapps/core": "workspace:*"
|
"@openstapps/core": "workspace:*"
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/collection-utils",
|
"name": "@openstapps/collection-utils",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
|
"files": [
|
||||||
|
"lib"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts",
|
"build": "tsup-node --dts",
|
||||||
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
||||||
"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",
|
||||||
@@ -25,7 +28,7 @@
|
|||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
"typedoc": "0.24.7",
|
"typedoc": "0.24.8",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
},
|
},
|
||||||
"tsup": {
|
"tsup": {
|
||||||
|
|||||||
98
packages/core-tools/.gitignore
vendored
98
packages/core-tools/.gitignore
vendored
@@ -1,98 +0,0 @@
|
|||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# Schema generation data
|
|
||||||
Diagram-*.svg
|
|
||||||
|
|
||||||
# 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 directory
|
|
||||||
lib/
|
|
||||||
|
|
||||||
# ignore docs directory
|
|
||||||
docs/
|
|
||||||
|
|
||||||
# ignore openapi resources
|
|
||||||
openapi/
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
image: registry.gitlab.com/openstapps/projectmanagement/node
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- npm ci
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
- audit
|
|
||||||
- deploy
|
|
||||||
|
|
||||||
build:
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- npm run build
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
test:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm test
|
|
||||||
|
|
||||||
audit:
|
|
||||||
stage: audit
|
|
||||||
script:
|
|
||||||
- npm audit
|
|
||||||
allow_failure: true
|
|
||||||
except:
|
|
||||||
- schedules
|
|
||||||
|
|
||||||
scheduled-audit:
|
|
||||||
stage: audit
|
|
||||||
script:
|
|
||||||
- npm audit --audit-level=high
|
|
||||||
only:
|
|
||||||
- schedules
|
|
||||||
|
|
||||||
openapi:
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm install @openstapps/core
|
|
||||||
- node lib/cli.js openapi node_modules/@openstapps/core/lib openapi
|
|
||||||
- NUMBER_OF_LINES=$(cat openapi/openapi.json | wc -l)
|
|
||||||
- if [ "$NUMBER_OF_LINES" -lt 100 ]; then exit 1; fi
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- openapi/openapi.json
|
|
||||||
|
|
||||||
package:
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
|
|
||||||
- npm publish
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+.[0-9]+.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
uml:
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
stage: test
|
|
||||||
services:
|
|
||||||
- name: registry.gitlab.com/openstapps/core-tools:latest
|
|
||||||
alias: plantuml
|
|
||||||
script:
|
|
||||||
- node lib/cli.js plantuml test/model http://plantuml:8080 --showProperties --showOptionalProperties --showInheritedProperties --showEnumValues --showAssociations --showInheritance --excludeExternals
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- npm run documentation
|
|
||||||
- mv docs public
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
## Summary
|
|
||||||
|
|
||||||
(Summarize the bug encountered concisely)
|
|
||||||
|
|
||||||
## Steps to reproduce
|
|
||||||
|
|
||||||
(How one can reproduce the issue - this is very important)
|
|
||||||
|
|
||||||
## Example Project
|
|
||||||
|
|
||||||
(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)
|
|
||||||
|
|
||||||
(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)
|
|
||||||
|
|
||||||
## What is the current bug behavior?
|
|
||||||
|
|
||||||
(What actually happens)
|
|
||||||
|
|
||||||
## What is the expected correct behavior?
|
|
||||||
|
|
||||||
(What you should see instead)
|
|
||||||
|
|
||||||
## Relevant logs and/or screenshots
|
|
||||||
|
|
||||||
(Paste any relevant logs - please use code blocks (```) to format console output,
|
|
||||||
logs, and code as it's very hard to read otherwise.)
|
|
||||||
|
|
||||||
## Possible fixes
|
|
||||||
|
|
||||||
(If you can, link to the line of code that might be responsible for the problem)
|
|
||||||
|
|
||||||
/label ~meeting
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
## Description
|
|
||||||
|
|
||||||
(Describe the feature that you're requesting concisely)
|
|
||||||
|
|
||||||
## Explanation
|
|
||||||
|
|
||||||
(Explain why the feature is necessary)
|
|
||||||
|
|
||||||
## Dependencies, issues to be resolved beforehand
|
|
||||||
|
|
||||||
(List issues or dependencies that need to be resolved before this feature can be implemented)
|
|
||||||
|
|
||||||
/label ~meeting
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# Ignore all files/folders by default
|
|
||||||
# See https://stackoverflow.com/a/29932318
|
|
||||||
/*
|
|
||||||
# Except these files/folders
|
|
||||||
!lib
|
|
||||||
lib/tsconfig.tsbuildinfo
|
|
||||||
!LICENSE
|
|
||||||
!package.json
|
|
||||||
!package-lock.json
|
|
||||||
!README.md
|
|
||||||
!resources
|
|
||||||
!src
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/core-tools",
|
"name": "@openstapps/core-tools",
|
||||||
"description": "Tools to convert and validate StAppsCore",
|
"description": "Tools to convert and validate StAppsCore",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/core-tools.git",
|
"repository": "git@gitlab.com:openstapps/core-tools.git",
|
||||||
@@ -25,8 +25,14 @@
|
|||||||
"bin": {
|
"bin": {
|
||||||
"openstapps-core-tools": "app.js"
|
"openstapps-core-tools": "app.js"
|
||||||
},
|
},
|
||||||
|
"files": [
|
||||||
|
"app.js",
|
||||||
|
"lib",
|
||||||
|
"README.md",
|
||||||
|
"Dockerfile"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts",
|
"build": "tsup-node --dts",
|
||||||
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
||||||
"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",
|
||||||
@@ -48,7 +54,7 @@
|
|||||||
"del": "6.1.1",
|
"del": "6.1.1",
|
||||||
"flatted": "3.2.7",
|
"flatted": "3.2.7",
|
||||||
"fs-extra": "10.1.0",
|
"fs-extra": "10.1.0",
|
||||||
"glob": "10.2.6",
|
"glob": "10.2.7",
|
||||||
"got": "12.6.0",
|
"got": "12.6.0",
|
||||||
"humanize-string": "3.0.0",
|
"humanize-string": "3.0.0",
|
||||||
"json-schema": "0.4.0",
|
"json-schema": "0.4.0",
|
||||||
@@ -61,7 +67,6 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@openstapps/eslint-config": "workspace:*",
|
"@openstapps/eslint-config": "workspace:*",
|
||||||
"@openstapps/nyc-config": "workspace:*",
|
|
||||||
"@openstapps/prettier-config": "workspace:*",
|
"@openstapps/prettier-config": "workspace:*",
|
||||||
"@openstapps/tsconfig": "workspace:*",
|
"@openstapps/tsconfig": "workspace:*",
|
||||||
"@types/chai": "4.3.5",
|
"@types/chai": "4.3.5",
|
||||||
@@ -77,7 +82,7 @@
|
|||||||
"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",
|
||||||
"typedoc": "0.24.7",
|
"typedoc": "0.24.8",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
},
|
},
|
||||||
"tsup": {
|
"tsup": {
|
||||||
|
|||||||
95
packages/core/.gitignore
vendored
95
packages/core/.gitignore
vendored
@@ -1,95 +0,0 @@
|
|||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# report directory
|
|
||||||
report
|
|
||||||
@@ -1,135 +0,0 @@
|
|||||||
image: registry.gitlab.com/openstapps/projectmanagement/node
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- npm install
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
- review
|
|
||||||
- test
|
|
||||||
- audit
|
|
||||||
- deploy
|
|
||||||
- publish
|
|
||||||
|
|
||||||
build:
|
|
||||||
tags:
|
|
||||||
- performance
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- npm run build
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
expire_in: 1 week
|
|
||||||
|
|
||||||
build-ts-3.8.3:
|
|
||||||
tags:
|
|
||||||
- performance
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- npm uninstall typescript
|
|
||||||
- npm install typescript@3.8.3
|
|
||||||
- npm run build
|
|
||||||
|
|
||||||
docs_review:
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
stage: review
|
|
||||||
script:
|
|
||||||
- npm run documentation
|
|
||||||
- ./node_modules/.bin/surge -p ./docs -d https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/
|
|
||||||
when: manual
|
|
||||||
environment:
|
|
||||||
name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME
|
|
||||||
url: https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/
|
|
||||||
on_stop: stop_review
|
|
||||||
except:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
|
|
||||||
stop_review:
|
|
||||||
stage: review
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
script:
|
|
||||||
- ./node_modules/.bin/surge teardown $CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh
|
|
||||||
when: manual
|
|
||||||
environment:
|
|
||||||
name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME
|
|
||||||
action: stop
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
|
|
||||||
audit:
|
|
||||||
stage: audit
|
|
||||||
script:
|
|
||||||
- npm audit
|
|
||||||
allow_failure: true
|
|
||||||
except:
|
|
||||||
- schedules
|
|
||||||
|
|
||||||
scheduled-audit:
|
|
||||||
stage: audit
|
|
||||||
script:
|
|
||||||
- npm audit --audit-level=high
|
|
||||||
only:
|
|
||||||
- schedules
|
|
||||||
|
|
||||||
test:
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm test
|
|
||||||
coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/'
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- report
|
|
||||||
- coverage
|
|
||||||
reports:
|
|
||||||
coverage_report:
|
|
||||||
coverage_format: cobertura
|
|
||||||
path: coverage/cobertura-coverage.xml
|
|
||||||
|
|
||||||
mapping:
|
|
||||||
tags:
|
|
||||||
- performance
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
stage: test
|
|
||||||
services:
|
|
||||||
- name: registry.gitlab.com/openstapps/database:latest
|
|
||||||
alias: elasticsearch
|
|
||||||
script:
|
|
||||||
- npm run mappings-integration
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
package:
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
stage: publish
|
|
||||||
script:
|
|
||||||
- echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
|
|
||||||
- npm publish
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+.[0-9]+.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- npm run documentation
|
|
||||||
- mv docs public
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# Ignore all files/folders by default
|
|
||||||
# See https://stackoverflow.com/a/29932318
|
|
||||||
/*
|
|
||||||
# Except these files/folders
|
|
||||||
!lib
|
|
||||||
lib/tsconfig.tsbuildinfo
|
|
||||||
!LICENSE
|
|
||||||
!package.json
|
|
||||||
!package-lock.json
|
|
||||||
!README.md
|
|
||||||
!src
|
|
||||||
!test/resources/
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
lib
|
|
||||||
coverage
|
|
||||||
report
|
|
||||||
docs
|
|
||||||
.nyc-output
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/core",
|
"name": "@openstapps/core",
|
||||||
"description": "StAppsCore - Generalized model of data",
|
"description": "StAppsCore - Generalized model of data",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/core.git",
|
"repository": "git@gitlab.com:openstapps/core.git",
|
||||||
@@ -25,8 +25,13 @@
|
|||||||
],
|
],
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"types": "./lib/index.d.ts",
|
"types": "./lib/index.d.ts",
|
||||||
|
"files": [
|
||||||
|
"lib",
|
||||||
|
"test/resources",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts && pnpm run mappings && pnpm run schema",
|
"build": "tsup-node --dts && pnpm run mappings && pnpm run schema",
|
||||||
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
||||||
"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",
|
||||||
@@ -66,7 +71,7 @@
|
|||||||
"surge": "0.23.1",
|
"surge": "0.23.1",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
"typedoc": "0.24.7",
|
"typedoc": "0.24.8",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
},
|
},
|
||||||
"tsup": {
|
"tsup": {
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/easy-ast",
|
"name": "@openstapps/easy-ast",
|
||||||
"description": "Tool to easily handle TypeScript AST",
|
"description": "Tool to easily handle TypeScript AST",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/core-tools.git",
|
"repository": "git@gitlab.com:openstapps/core-tools.git",
|
||||||
"author": "Thea Schöbl <dev@theaninova.de>",
|
"author": "Thea Schöbl <dev@theaninova.de>",
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"types": "./lib/index.d.ts",
|
"types": "./lib/index.d.ts",
|
||||||
|
"files": [
|
||||||
|
"lib",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts",
|
"build": "tsup-node --dts",
|
||||||
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/index.ts",
|
||||||
"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",
|
||||||
@@ -20,7 +24,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@openstapps/collection-utils": "workspace:*",
|
"@openstapps/collection-utils": "workspace:*",
|
||||||
"@openstapps/logger": "workspace:*",
|
"@openstapps/logger": "workspace:*",
|
||||||
"glob": "10.2.6",
|
"glob": "10.2.7",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -35,7 +39,7 @@
|
|||||||
"mocha": "10.2.0",
|
"mocha": "10.2.0",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
"typedoc": "0.24.7"
|
"typedoc": "0.24.8"
|
||||||
},
|
},
|
||||||
"tsup": {
|
"tsup": {
|
||||||
"entry": [
|
"entry": [
|
||||||
|
|||||||
@@ -1,71 +0,0 @@
|
|||||||
image: registry.gitlab.com/openstapps/projectmanagement/node
|
|
||||||
|
|
||||||
cache:
|
|
||||||
key: ${CI_COMMIT_REF_SLUG}
|
|
||||||
paths:
|
|
||||||
- node_modules
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- npm install
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
- audit
|
|
||||||
- deploy
|
|
||||||
|
|
||||||
build:
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- npm run build
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
test:
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm test
|
|
||||||
|
|
||||||
audit:
|
|
||||||
stage: audit
|
|
||||||
script:
|
|
||||||
- npm audit
|
|
||||||
allow_failure: true
|
|
||||||
except:
|
|
||||||
- schedules
|
|
||||||
|
|
||||||
scheduled-audit:
|
|
||||||
stage: audit
|
|
||||||
script:
|
|
||||||
- npm audit --audit-level=high
|
|
||||||
only:
|
|
||||||
- schedules
|
|
||||||
|
|
||||||
package:
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
|
|
||||||
- npm publish
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+.[0-9]+.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- npm run documentation
|
|
||||||
- mv docs public
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# Ignore all files/folders by default
|
|
||||||
# See https://stackoverflow.com/a/29932318
|
|
||||||
/*
|
|
||||||
# Except these files/folders
|
|
||||||
!lib
|
|
||||||
lib/tsconfig.tsbuildinfo
|
|
||||||
!LICENSE
|
|
||||||
!package.json
|
|
||||||
!package-lock.json
|
|
||||||
!README.md
|
|
||||||
!resources
|
|
||||||
!src
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
FROM plantuml/plantuml-server:tomcat
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/es-mapping-generator",
|
"name": "@openstapps/es-mapping-generator",
|
||||||
"description": "Tool to convert TypeScript Interfaces to Elasticsearch Mappings",
|
"description": "Tool to convert TypeScript Interfaces to Elasticsearch Mappings",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "commonjs",
|
"type": "commonjs",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"author": "Thea Schöbl <dev@theaninova.de>",
|
"author": "Thea Schöbl <dev@theaninova.de>",
|
||||||
@@ -10,6 +10,11 @@
|
|||||||
"bin": {
|
"bin": {
|
||||||
"openstapps-es-mapping-generator": "app.js"
|
"openstapps-es-mapping-generator": "app.js"
|
||||||
},
|
},
|
||||||
|
"files": [
|
||||||
|
"app.js",
|
||||||
|
"lib",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "rimraf lib && tsc",
|
"build": "rimraf lib && tsc",
|
||||||
"format": "prettier . -c --ignore-path ../../.gitignore",
|
"format": "prettier . -c --ignore-path ../../.gitignore",
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
image: registry.gitlab.com/openstapps/projectmanagement/node
|
|
||||||
|
|
||||||
cache:
|
|
||||||
key: ${CI_COMMIT_REF_SLUG}
|
|
||||||
paths:
|
|
||||||
- node_modules
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- npm install
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
- audit
|
|
||||||
- deploy
|
|
||||||
- publish
|
|
||||||
|
|
||||||
build:
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- npm run build
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
audit:
|
|
||||||
allow_failure: true
|
|
||||||
except:
|
|
||||||
- schedules
|
|
||||||
script:
|
|
||||||
- npm audit
|
|
||||||
stage: audit
|
|
||||||
|
|
||||||
scheduled-audit:
|
|
||||||
only:
|
|
||||||
- schedules
|
|
||||||
script:
|
|
||||||
- npm audit
|
|
||||||
stage: audit
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- npm run documentation
|
|
||||||
- mv docs public
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
|
|
||||||
package:
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
stage: publish
|
|
||||||
script:
|
|
||||||
- echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
|
|
||||||
- npm publish
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+.[0-9]+.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
## Summary
|
|
||||||
|
|
||||||
(Summarize the bug encountered concisely)
|
|
||||||
|
|
||||||
## Steps to reproduce
|
|
||||||
|
|
||||||
(How one can reproduce the issue - this is very important)
|
|
||||||
|
|
||||||
## Example Project
|
|
||||||
|
|
||||||
(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)
|
|
||||||
|
|
||||||
(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)
|
|
||||||
|
|
||||||
## What is the current bug behavior?
|
|
||||||
|
|
||||||
(What actually happens)
|
|
||||||
|
|
||||||
## What is the expected correct behavior?
|
|
||||||
|
|
||||||
(What you should see instead)
|
|
||||||
|
|
||||||
## Relevant logs and/or screenshots
|
|
||||||
|
|
||||||
(Paste any relevant logs - please use code blocks (```) to format console output,
|
|
||||||
logs, and code as it's very hard to read otherwise.)
|
|
||||||
|
|
||||||
## Possible fixes
|
|
||||||
|
|
||||||
(If you can, link to the line of code that might be responsible for the problem)
|
|
||||||
|
|
||||||
/label ~meeting
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# Ignore all files/folders by default
|
|
||||||
# See https://stackoverflow.com/a/29932318
|
|
||||||
/*
|
|
||||||
# Except these files/folders
|
|
||||||
!lib
|
|
||||||
lib/tsconfig.tsbuildinfo
|
|
||||||
!LICENSE
|
|
||||||
!package.json
|
|
||||||
!package-lock.json
|
|
||||||
!README.md
|
|
||||||
!src
|
|
||||||
3390
packages/gitlab-api/package-lock.json
generated
3390
packages/gitlab-api/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/gitlab-api",
|
"name": "@openstapps/gitlab-api",
|
||||||
"description": "Wraps common GitLab API calls in a TypeScript class.",
|
"description": "Wraps common GitLab API calls in a TypeScript class.",
|
||||||
"version": "2.1.0",
|
"version": "3.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"repository": "git@gitlab.com:openstapps/gitlab-api.git",
|
"repository": "git@gitlab.com:openstapps/gitlab-api.git",
|
||||||
@@ -14,8 +14,13 @@
|
|||||||
"bin": {
|
"bin": {
|
||||||
"openstapps-gitlab-api": "app.js"
|
"openstapps-gitlab-api": "app.js"
|
||||||
},
|
},
|
||||||
|
"files": [
|
||||||
|
"app.js",
|
||||||
|
"lib",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsup --dts",
|
"build": "tsup-node --dts",
|
||||||
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/api.ts",
|
"docs": "typedoc --json ./docs/docs.json --options ../../typedoc.base.json src/api.ts",
|
||||||
"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",
|
||||||
@@ -34,7 +39,7 @@
|
|||||||
"@types/node": "18.15.3",
|
"@types/node": "18.15.3",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1",
|
||||||
"tsup": "6.7.0",
|
"tsup": "6.7.0",
|
||||||
"typedoc": "0.24.7",
|
"typedoc": "0.24.8",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
},
|
},
|
||||||
"tsup": {
|
"tsup": {
|
||||||
|
|||||||
@@ -1,76 +0,0 @@
|
|||||||
image: registry.gitlab.com/openstapps/projectmanagement/node
|
|
||||||
|
|
||||||
cache:
|
|
||||||
key: ${CI_COMMIT_REF_SLUG}
|
|
||||||
paths:
|
|
||||||
- node_modules
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- npm ci
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
- deploy
|
|
||||||
|
|
||||||
build:
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- npm run build
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
test:
|
|
||||||
variables:
|
|
||||||
FORCE_COLOR: '1' # see https://github.com/chalk/chalk/issues/203
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm test
|
|
||||||
coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/'
|
|
||||||
artifacts:
|
|
||||||
reports:
|
|
||||||
coverage_report:
|
|
||||||
coverage_format: cobertura
|
|
||||||
path: coverage/cobertura-coverage.xml
|
|
||||||
|
|
||||||
audit:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm audit
|
|
||||||
except:
|
|
||||||
- schedules
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
scheduled-audit:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm audit
|
|
||||||
only:
|
|
||||||
- schedules
|
|
||||||
|
|
||||||
package:
|
|
||||||
dependencies:
|
|
||||||
- build
|
|
||||||
tags:
|
|
||||||
- secrecy
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
|
|
||||||
- npm publish
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+.[0-9]+.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- lib
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- npm run documentation
|
|
||||||
- mv docs public
|
|
||||||
only:
|
|
||||||
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user