feat: dockerize examples. react and nextjs working

This commit is contained in:
Felix Dubrownik
2022-09-22 12:18:40 +02:00
parent 4e1e0de5cd
commit 3cf422e579
25 changed files with 1556 additions and 3238 deletions

View File

@ -0,0 +1,69 @@
services:
hanko-migrate:
build: ../../backend
volumes:
- type: bind
source: ./config.yaml
target: /etc/config/config.yaml
command: --config /etc/config/config.yaml migrate up
restart: on-failure
depends_on:
postgresd:
condition: service_healthy
networks:
- intranet
hanko:
depends_on:
hanko-migrate:
condition: service_completed_successfully
build: ../../backend
ports:
- '8000:8000' # public
- '8001:8001' # admin
restart: unless-stopped
command: serve --config /etc/config/config.yaml all
volumes:
- type: bind
source: ./config.yaml
target: /etc/config/config.yaml
networks:
- intranet
environment:
- PASSWORD_ENABLED
postgresd:
image: postgres:12-alpine
ports:
- "5432:5432"
environment:
- POSTGRES_USER=hanko
- POSTGRES_PASSWORD=hanko
- POSTGRES_DB=hanko
healthcheck:
test: pg_isready -U hanko -d hanko
interval: 10s
timeout: 10s
retries: 3
start_period: 30s
networks:
- intranet
elements:
build: ../../elements
ports:
- "9500:80"
networks:
- intranet
fontendsdk:
build: ../../frontend-sdk
ports:
- "9501:80"
networks:
- intranet
mailslurper:
image: marcopas/docker-mailslurper:latest
ports:
- '8080:8080' # web UI
- '8085:8085'
networks:
- intranet
networks:
intranet:

View File

@ -0,0 +1,15 @@
services:
todo-backend:
build: ../../examples/express
ports:
- "8002:8002"
environment:
- HANKO_API_URL=http://hanko:8000
networks:
- intranet
todo-frontend:
build: ../../examples/angular
ports:
- "8888:8888"
networks:
- intranet

View File

@ -0,0 +1,15 @@
services:
todo-backend:
build: ../../examples/express
ports:
- "8002:8002"
environment:
- HANKO_API_URL=http://hanko:8000
networks:
- intranet
todo-frontend:
build: ../../examples/nextjs
ports:
- "8888:8888"
networks:
- intranet

View File

@ -0,0 +1,15 @@
services:
todo-backend:
build: ../../examples/express
ports:
- "8002:8002"
environment:
- HANKO_API_URL=http://hanko:8000
networks:
- intranet
todo-frontend:
build: ../../examples/react
ports:
- "8888:8888"
networks:
- intranet

View File

@ -0,0 +1,15 @@
services:
todo-backend:
build: ../../examples/express
ports:
- "8002:8002"
environment:
- HANKO_API_URL=http://hanko:8000
networks:
- intranet
todo-frontend:
build: ../../examples/vue
ports:
- "8888:8888"
networks:
- intranet

View File

@ -15,7 +15,26 @@ It contains:
- [Vue](vue) - [Vue](vue)
## How to run ## How to run
### Manual
1. Start the Hanko API (see the instructions on how to run the API [in Docker](../backend/README.md#Docker) or [from Source](../backend/README.md#from-source)) 1. Start the Hanko API (see the instructions on how to run the API [in Docker](../backend/README.md#Docker) or [from Source](../backend/README.md#from-source))
2. Start the express backend (see the [README](express) for the express backend) 2. Start the express backend (see the [README](express) for the express backend)
3. Start one of the frontend applications (see the README for the app of your choice) 3. Start one of the frontend applications (see the README for the app of your choice)
### Docker Compose
#### React
```
docker-compose -f deploy/docker-compose/base.yml -f deploy/docker-compose/todo-react.yaml -p "hanko-todo-react" up --build
```
#### Angular
```
docker-compose -f deploy/docker-compose/base.yml -f deploy/docker-compose/todo-angular.yaml -p "hanko-todo-angular" up --build
```
#### Next.js
```
docker-compose -f deploy/docker-compose/base.yml -f deploy/docker-compose/todo-nextjs.yaml -p "hanko-todo-nextjs" up --build
```
#### Vue
```
docker-compose -f deploy/docker-compose/base.yml -f deploy/docker-compose/todo-vue.yaml -p "hanko-todo-vue" up --build
```

View File

@ -0,0 +1,19 @@
# pull official base image
FROM node:16-alpine
# set working directory
WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install
# add app
COPY . ./
# start app
CMD ["npm", "start"]

View File

@ -3,7 +3,6 @@
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.3. This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.3.
## Starting the app ## Starting the app
### Prerequisites ### Prerequisites
- a running Hanko API (see the instructions on how to run the API [in Docker](../backend/README.md#Docker) or [from Source](../backend/README.md#from-source)) - a running Hanko API (see the instructions on how to run the API [in Docker](../backend/README.md#Docker) or [from Source](../backend/README.md#from-source))
@ -18,4 +17,4 @@ In the `src/environments/environment.ts` file set up the correct environment var
### Run development server ### Run development server
Run `npm install` to install dependencies, then run `npm run start` for a development server. Navigate to `http://localhost:3000/`. The application will automatically reload if you change any of the source files. Run `npm install` to install dependencies, then run `npm run start` for a development server. Navigate to `http://localhost:8888/`. The application will automatically reload if you change any of the source files.

View File

@ -1,6 +1,5 @@
{ {
"name": "example-angular", "name": "example-angular",
"version": "0.0.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
@ -330,9 +329,9 @@
"dev": true "dev": true
}, },
"node_modules/@angular/animations": { "node_modules/@angular/animations": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.2.3.tgz",
"integrity": "sha512-YPtwjfjGCtRlGIYyFK8JPq6kfR8Gz93kmkIF+fnUes42M5DAQvCccVRxi1OXU6dDLsFY9w7DvTl+HR/VocaFsg==", "integrity": "sha512-5psQgSia7pUUKYpFuwA+c+yWyM8afl9ZlOW2pxBU/2mTMLpxJEnVrUnKRsx3WSrOc9YqoLn6DOtDLXq2dbTxFQ==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -340,7 +339,7 @@
"node": "^14.15.0 || >=16.10.0" "node": "^14.15.0 || >=16.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/core": "14.2.2" "@angular/core": "14.2.3"
} }
}, },
"node_modules/@angular/cli": { "node_modules/@angular/cli": {
@ -380,9 +379,9 @@
} }
}, },
"node_modules/@angular/common": { "node_modules/@angular/common": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/common/-/common-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.2.3.tgz",
"integrity": "sha512-9h8MwFLvIJ5kB5L03cd3Cyl4ySKVzL/E/YYugfLvcAzYZ8Rief63gJnkcKNjoS1A5DTxHhOBQL7pLZpj+YxDOw==", "integrity": "sha512-DoBQk9uBWfGc+mZ9+lwpmZQy05zKgOeIfDM+2f7Wjrv1/X/V+YUJhjS66GIEBGOe23DoSeivLLCpVj8QqR058A==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -390,14 +389,14 @@
"node": "^14.15.0 || >=16.10.0" "node": "^14.15.0 || >=16.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/core": "14.2.2", "@angular/core": "14.2.3",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
"node_modules/@angular/compiler": { "node_modules/@angular/compiler": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.2.3.tgz",
"integrity": "sha512-r6673fINahrESOk1lJgXFDO3cH3gTDJJrj1++yYfrgRSqGMzASECy3XTevCjIvw9SycIkU/P+NiE/W/WAlP5vg==", "integrity": "sha512-DG2lqSqD5hx6Qk362jhjU9O+I2gOlsV8oUSTOkH4eFQ54PUad1D3hjqfcs3/lsvWggALCSjv9X8BOG8jb7n8vw==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -405,7 +404,7 @@
"node": "^14.15.0 || >=16.10.0" "node": "^14.15.0 || >=16.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/core": "14.2.2" "@angular/core": "14.2.3"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@angular/core": { "@angular/core": {
@ -414,9 +413,9 @@
} }
}, },
"node_modules/@angular/compiler-cli": { "node_modules/@angular/compiler-cli": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.2.3.tgz",
"integrity": "sha512-r3vOBUqInHwahloz4mmSrXk22q/4WGNoRR0hxR71tUhLiowYkAaWe72TdPYrDt0SYgZcffAomK7iQHrpJiwLuQ==", "integrity": "sha512-MPKZTD4j5EnvpHXLOj6VnXBv/LXfVLoLNc4nNShfuJFJjK9vOqXelb2GJt+2iL+9xKevGxDk7NIcl++fhV2lkQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/core": "^7.17.2", "@babel/core": "^7.17.2",
@ -439,14 +438,14 @@
"node": "^14.15.0 || >=16.10.0" "node": "^14.15.0 || >=16.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/compiler": "14.2.2", "@angular/compiler": "14.2.3",
"typescript": ">=4.6.2 <4.9" "typescript": ">=4.6.2 <4.9"
} }
}, },
"node_modules/@angular/core": { "node_modules/@angular/core": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/core/-/core-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.2.3.tgz",
"integrity": "sha512-kG30b4RqjgWvaH9y4g95JRCzoROV+9/xgFH4hSRejFa/IcapMfvCmONJtJzwTjdsEUQAbiFohF/z9bx3QA/Yvw==", "integrity": "sha512-neW2n5Ts2purYEVh0Lf207otZbhYH4C4lwwu8ffxdRiXahQiTCbmyM3IQFrQZbLDb/ZeD2KhoCl6p0hlyg14cA==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -459,9 +458,9 @@
} }
}, },
"node_modules/@angular/forms": { "node_modules/@angular/forms": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.2.3.tgz",
"integrity": "sha512-lq6PpLMNfs0KcIhkQrUVfKuP4hZSeUQyKOErvoLrPhDiakvOWYoQZKh6XHsbQRcuhWKHy6IITldz6sg8pWVrTw==", "integrity": "sha512-rL6adBHp51i3eDBecexrlrS+t+hlK6EnrEot/+Ec+DzVjJgw5VNJ4p2Ig72HPe0m+H0dcPkbQhlpb6cs677ISA==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -469,16 +468,16 @@
"node": "^14.15.0 || >=16.10.0" "node": "^14.15.0 || >=16.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "14.2.2", "@angular/common": "14.2.3",
"@angular/core": "14.2.2", "@angular/core": "14.2.3",
"@angular/platform-browser": "14.2.2", "@angular/platform-browser": "14.2.3",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
"node_modules/@angular/platform-browser": { "node_modules/@angular/platform-browser": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.2.3.tgz",
"integrity": "sha512-1NrtOIvevoDDT6DU+Fsm5TsNN/XJhIV/UhfInmU/rz97RERl8etcOQRsxWnjGwZjk9rjt+0lBbW5oVDFKOJa+w==", "integrity": "sha512-Ky5ITBVmr+T5zHRowLRTJx1exXo99bUA6vosxG4B/YlXkjNfqVz4BETgPwnoIdN00Y9lxGQrMbjqSuzOjGQ7IQ==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -486,9 +485,9 @@
"node": "^14.15.0 || >=16.10.0" "node": "^14.15.0 || >=16.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/animations": "14.2.2", "@angular/animations": "14.2.3",
"@angular/common": "14.2.2", "@angular/common": "14.2.3",
"@angular/core": "14.2.2" "@angular/core": "14.2.3"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@angular/animations": { "@angular/animations": {
@ -497,9 +496,9 @@
} }
}, },
"node_modules/@angular/platform-browser-dynamic": { "node_modules/@angular/platform-browser-dynamic": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.2.3.tgz",
"integrity": "sha512-fehhiOwC4mn4sprjSiuGc0uITToiiKJJdtUNDsJyOJinKuy3GBwHpGckiEx4E85Z/PkPCMb8lYRJb/IciUV9+A==", "integrity": "sha512-yqSH9NrgkXN3aslbD9IHWnFClwwVlLTypaMfSGmhPL1LvgL/HL/A9rDYI2ZrybVoVmAZLsJ4uF2/GvK/pzUcNQ==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -507,16 +506,16 @@
"node": "^14.15.0 || >=16.10.0" "node": "^14.15.0 || >=16.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "14.2.2", "@angular/common": "14.2.3",
"@angular/compiler": "14.2.2", "@angular/compiler": "14.2.3",
"@angular/core": "14.2.2", "@angular/core": "14.2.3",
"@angular/platform-browser": "14.2.2" "@angular/platform-browser": "14.2.3"
} }
}, },
"node_modules/@angular/router": { "node_modules/@angular/router": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/router/-/router-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.2.3.tgz",
"integrity": "sha512-BRkXdAVK0rE/x6im91a/fdIcWhPILO6ZmwCVTEdvsRyI9arQSlXAnupPUeumdbSc6mG/FCXPcyJq/dU0Jl70Og==", "integrity": "sha512-ACSBYZCMWBaVHmclaFS5C+zSTTcMbY6iJFjI0tiTqicqdpzAOIt6s5Ius1wzN9L6ANijn1ZdGAzH6j45GV/XtQ==",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
@ -524,9 +523,9 @@
"node": "^14.15.0 || >=16.10.0" "node": "^14.15.0 || >=16.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "14.2.2", "@angular/common": "14.2.3",
"@angular/core": "14.2.2", "@angular/core": "14.2.3",
"@angular/platform-browser": "14.2.2", "@angular/platform-browser": "14.2.3",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
@ -2225,9 +2224,9 @@
} }
}, },
"node_modules/@csstools/postcss-cascade-layers": { "node_modules/@csstools/postcss-cascade-layers": {
"version": "1.1.0", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.0.tgz", "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz",
"integrity": "sha512-XpA7g2KViA2ia23A5kZ/EQw+Sy308kLbvMlDPjFZmojwaJ9DYdJuwujFcDGK9v1QhHRmMEHbV2brVSQSLkN/7A==", "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@csstools/selector-specificity": "^2.0.2", "@csstools/selector-specificity": "^2.0.2",
@ -2507,9 +2506,8 @@
}, },
"node_modules/@denysvuika/preact-translate": { "node_modules/@denysvuika/preact-translate": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "http://0.0.0.0:4873/@denysvuika%2fpreact-translate/-/preact-translate-0.3.0.tgz", "resolved": "https://registry.npmjs.org/@denysvuika/preact-translate/-/preact-translate-0.3.0.tgz",
"integrity": "sha512-0ijz/4WiOxUYjD17wVM0VLQwtNn8hdpUedhYtc4JcudM/CxEjdARaNc9u/ALBlM7OqNPP/4OBe3TFYvP2O92qA==", "integrity": "sha512-0ijz/4WiOxUYjD17wVM0VLQwtNn8hdpUedhYtc4JcudM/CxEjdARaNc9u/ALBlM7OqNPP/4OBe3TFYvP2O92qA==",
"license": "MIT",
"peerDependencies": { "peerDependencies": {
"preact": ">=10.0.0" "preact": ">=10.0.0"
} }
@ -2863,9 +2861,8 @@
}, },
"node_modules/@teamhanko/hanko-frontend-sdk": { "node_modules/@teamhanko/hanko-frontend-sdk": {
"version": "0.0.1-alpha", "version": "0.0.1-alpha",
"resolved": "http://0.0.0.0:4873/@teamhanko%2fhanko-frontend-sdk/-/hanko-frontend-sdk-0.0.1-alpha.tgz", "resolved": "https://registry.npmjs.org/@teamhanko/hanko-frontend-sdk/-/hanko-frontend-sdk-0.0.1-alpha.tgz",
"integrity": "sha512-JmI8E0Rh63SJE4nQxeSsmPRhpQsm1BOdT6aqwPBqKAuVGf0AWVa0RSoQZ15VWuZnnueMokEVxuiQNenzRyUtLA==", "integrity": "sha512-JmI8E0Rh63SJE4nQxeSsmPRhpQsm1BOdT6aqwPBqKAuVGf0AWVa0RSoQZ15VWuZnnueMokEVxuiQNenzRyUtLA==",
"license": "MIT",
"dependencies": { "dependencies": {
"@types/js-cookie": "^3.0.2" "@types/js-cookie": "^3.0.2"
} }
@ -2995,9 +2992,8 @@
}, },
"node_modules/@types/js-cookie": { "node_modules/@types/js-cookie": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "http://0.0.0.0:4873/@types%2fjs-cookie/-/js-cookie-3.0.2.tgz", "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.2.tgz",
"integrity": "sha512-6+0ekgfusHftJNYpihfkMu8BWdeHs9EOJuGcSofErjstGPfPGEu9yTu4t460lTzzAMl2cM5zngQJqPMHbbnvYA==", "integrity": "sha512-6+0ekgfusHftJNYpihfkMu8BWdeHs9EOJuGcSofErjstGPfPGEu9yTu4t460lTzzAMl2cM5zngQJqPMHbbnvYA=="
"license": "MIT"
}, },
"node_modules/@types/json-schema": { "node_modules/@types/json-schema": {
"version": "7.0.11", "version": "7.0.11",
@ -3513,9 +3509,9 @@
"dev": true "dev": true
}, },
"node_modules/autoprefixer": { "node_modules/autoprefixer": {
"version": "10.4.11", "version": "10.4.12",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.11.tgz", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz",
"integrity": "sha512-5lHp6DgRodxlBLSkzHOTcufWFflH1ewfy2hvFQyjrblBFlP/0Yh4O/Wrg4ow8WRlN3AAUFFLAQwX8hTptzqVHg==", "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -3528,8 +3524,8 @@
} }
], ],
"dependencies": { "dependencies": {
"browserslist": "^4.21.3", "browserslist": "^4.21.4",
"caniuse-lite": "^1.0.30001399", "caniuse-lite": "^1.0.30001407",
"fraction.js": "^4.2.0", "fraction.js": "^4.2.0",
"normalize-range": "^0.1.2", "normalize-range": "^0.1.2",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
@ -3936,9 +3932,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001402", "version": "1.0.30001409",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001402.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001409.tgz",
"integrity": "sha512-Mx4MlhXO5NwuvXGgVb+hg65HZ+bhUYsz8QtDGDo2QmaJS2GBX47Xfi2koL86lc8K+l+htXeTEB/Aeqvezoo6Ew==", "integrity": "sha512-V0mnJ5dwarmhYv8/MzhJ//aW68UpvnQBXv8lJ2QUsvn2pHcmAuNtu8hQEDz37XnA1iE+lRR9CIfGWWpgJ5QedQ==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -4018,9 +4014,8 @@
}, },
"node_modules/classnames": { "node_modules/classnames": {
"version": "2.3.2", "version": "2.3.2",
"resolved": "http://0.0.0.0:4873/classnames/-/classnames-2.3.2.tgz", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
"integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==", "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
"license": "MIT"
}, },
"node_modules/clean-stack": { "node_modules/clean-stack": {
"version": "2.2.0", "version": "2.2.0",
@ -4378,12 +4373,12 @@
} }
}, },
"node_modules/core-js-compat": { "node_modules/core-js-compat": {
"version": "3.25.1", "version": "3.25.2",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.1.tgz", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.2.tgz",
"integrity": "sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw==", "integrity": "sha512-TxfyECD4smdn3/CjWxczVtJqVLEEC2up7/82t7vC0AzNogr+4nQ8vyF7abxAuTXWvjTClSbvGhU0RgqA4ToQaQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"browserslist": "^4.21.3" "browserslist": "^4.21.4"
}, },
"funding": { "funding": {
"type": "opencollective", "type": "opencollective",
@ -4893,9 +4888,9 @@
"dev": true "dev": true
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.253", "version": "1.4.257",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.253.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.257.tgz",
"integrity": "sha512-1pezJ2E1UyBTGbA7fUlHdPSXQw1k+82VhTFLG5G0AUqLGvsZqFzleOblceqegZzxYX4kC7hGEEdzIQI9RZ1Cuw==", "integrity": "sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==",
"dev": true "dev": true
}, },
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
@ -7061,9 +7056,9 @@
] ]
}, },
"node_modules/karma": { "node_modules/karma": {
"version": "6.4.0", "version": "6.4.1",
"resolved": "https://registry.npmjs.org/karma/-/karma-6.4.0.tgz", "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz",
"integrity": "sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w==", "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@colors/colors": "1.5.0", "@colors/colors": "1.5.0",
@ -9531,9 +9526,8 @@
}, },
"node_modules/preact": { "node_modules/preact": {
"version": "10.11.0", "version": "10.11.0",
"resolved": "http://0.0.0.0:4873/preact/-/preact-10.11.0.tgz", "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.0.tgz",
"integrity": "sha512-Fk6+vB2kb6mSJfDgODq0YDhMfl0HNtK5+Uc9QqECO4nlyPAQwCI+BKyWO//idA7ikV7o+0Fm6LQmNuQi1wXI1w==", "integrity": "sha512-Fk6+vB2kb6mSJfDgODq0YDhMfl0HNtK5+Uc9QqECO4nlyPAQwCI+BKyWO//idA7ikV7o+0Fm6LQmNuQi1wXI1w==",
"license": "MIT",
"funding": { "funding": {
"type": "opencollective", "type": "opencollective",
"url": "https://opencollective.com/preact" "url": "https://opencollective.com/preact"
@ -9541,9 +9535,8 @@
}, },
"node_modules/preact-custom-element": { "node_modules/preact-custom-element": {
"version": "4.2.1", "version": "4.2.1",
"resolved": "http://0.0.0.0:4873/preact-custom-element/-/preact-custom-element-4.2.1.tgz", "resolved": "https://registry.npmjs.org/preact-custom-element/-/preact-custom-element-4.2.1.tgz",
"integrity": "sha512-/fiEEAyC+MXRlCBRmv/owoN5BLpO2nF/MF3YBHLtp4C2lNqlhV+a4he74A5DhfDoRmxDHm0sYVgQzWFEyzTDsw==", "integrity": "sha512-/fiEEAyC+MXRlCBRmv/owoN5BLpO2nF/MF3YBHLtp4C2lNqlhV+a4he74A5DhfDoRmxDHm0sYVgQzWFEyzTDsw==",
"license": "MIT",
"peerDependencies": { "peerDependencies": {
"preact": "10.x" "preact": "10.x"
} }
@ -12155,9 +12148,9 @@
} }
}, },
"@angular/animations": { "@angular/animations": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.2.3.tgz",
"integrity": "sha512-YPtwjfjGCtRlGIYyFK8JPq6kfR8Gz93kmkIF+fnUes42M5DAQvCccVRxi1OXU6dDLsFY9w7DvTl+HR/VocaFsg==", "integrity": "sha512-5psQgSia7pUUKYpFuwA+c+yWyM8afl9ZlOW2pxBU/2mTMLpxJEnVrUnKRsx3WSrOc9YqoLn6DOtDLXq2dbTxFQ==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
@ -12191,25 +12184,25 @@
} }
}, },
"@angular/common": { "@angular/common": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/common/-/common-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.2.3.tgz",
"integrity": "sha512-9h8MwFLvIJ5kB5L03cd3Cyl4ySKVzL/E/YYugfLvcAzYZ8Rief63gJnkcKNjoS1A5DTxHhOBQL7pLZpj+YxDOw==", "integrity": "sha512-DoBQk9uBWfGc+mZ9+lwpmZQy05zKgOeIfDM+2f7Wjrv1/X/V+YUJhjS66GIEBGOe23DoSeivLLCpVj8QqR058A==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/compiler": { "@angular/compiler": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.2.3.tgz",
"integrity": "sha512-r6673fINahrESOk1lJgXFDO3cH3gTDJJrj1++yYfrgRSqGMzASECy3XTevCjIvw9SycIkU/P+NiE/W/WAlP5vg==", "integrity": "sha512-DG2lqSqD5hx6Qk362jhjU9O+I2gOlsV8oUSTOkH4eFQ54PUad1D3hjqfcs3/lsvWggALCSjv9X8BOG8jb7n8vw==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/compiler-cli": { "@angular/compiler-cli": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.2.3.tgz",
"integrity": "sha512-r3vOBUqInHwahloz4mmSrXk22q/4WGNoRR0hxR71tUhLiowYkAaWe72TdPYrDt0SYgZcffAomK7iQHrpJiwLuQ==", "integrity": "sha512-MPKZTD4j5EnvpHXLOj6VnXBv/LXfVLoLNc4nNShfuJFJjK9vOqXelb2GJt+2iL+9xKevGxDk7NIcl++fhV2lkQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/core": "^7.17.2", "@babel/core": "^7.17.2",
@ -12225,41 +12218,41 @@
} }
}, },
"@angular/core": { "@angular/core": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/core/-/core-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.2.3.tgz",
"integrity": "sha512-kG30b4RqjgWvaH9y4g95JRCzoROV+9/xgFH4hSRejFa/IcapMfvCmONJtJzwTjdsEUQAbiFohF/z9bx3QA/Yvw==", "integrity": "sha512-neW2n5Ts2purYEVh0Lf207otZbhYH4C4lwwu8ffxdRiXahQiTCbmyM3IQFrQZbLDb/ZeD2KhoCl6p0hlyg14cA==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/forms": { "@angular/forms": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.2.3.tgz",
"integrity": "sha512-lq6PpLMNfs0KcIhkQrUVfKuP4hZSeUQyKOErvoLrPhDiakvOWYoQZKh6XHsbQRcuhWKHy6IITldz6sg8pWVrTw==", "integrity": "sha512-rL6adBHp51i3eDBecexrlrS+t+hlK6EnrEot/+Ec+DzVjJgw5VNJ4p2Ig72HPe0m+H0dcPkbQhlpb6cs677ISA==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/platform-browser": { "@angular/platform-browser": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.2.3.tgz",
"integrity": "sha512-1NrtOIvevoDDT6DU+Fsm5TsNN/XJhIV/UhfInmU/rz97RERl8etcOQRsxWnjGwZjk9rjt+0lBbW5oVDFKOJa+w==", "integrity": "sha512-Ky5ITBVmr+T5zHRowLRTJx1exXo99bUA6vosxG4B/YlXkjNfqVz4BETgPwnoIdN00Y9lxGQrMbjqSuzOjGQ7IQ==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/platform-browser-dynamic": { "@angular/platform-browser-dynamic": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.2.3.tgz",
"integrity": "sha512-fehhiOwC4mn4sprjSiuGc0uITToiiKJJdtUNDsJyOJinKuy3GBwHpGckiEx4E85Z/PkPCMb8lYRJb/IciUV9+A==", "integrity": "sha512-yqSH9NrgkXN3aslbD9IHWnFClwwVlLTypaMfSGmhPL1LvgL/HL/A9rDYI2ZrybVoVmAZLsJ4uF2/GvK/pzUcNQ==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
}, },
"@angular/router": { "@angular/router": {
"version": "14.2.2", "version": "14.2.3",
"resolved": "https://registry.npmjs.org/@angular/router/-/router-14.2.2.tgz", "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.2.3.tgz",
"integrity": "sha512-BRkXdAVK0rE/x6im91a/fdIcWhPILO6ZmwCVTEdvsRyI9arQSlXAnupPUeumdbSc6mG/FCXPcyJq/dU0Jl70Og==", "integrity": "sha512-ACSBYZCMWBaVHmclaFS5C+zSTTcMbY6iJFjI0tiTqicqdpzAOIt6s5Ius1wzN9L6ANijn1ZdGAzH6j45GV/XtQ==",
"requires": { "requires": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
} }
@ -13456,9 +13449,9 @@
"dev": true "dev": true
}, },
"@csstools/postcss-cascade-layers": { "@csstools/postcss-cascade-layers": {
"version": "1.1.0", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.0.tgz", "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz",
"integrity": "sha512-XpA7g2KViA2ia23A5kZ/EQw+Sy308kLbvMlDPjFZmojwaJ9DYdJuwujFcDGK9v1QhHRmMEHbV2brVSQSLkN/7A==", "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@csstools/selector-specificity": "^2.0.2", "@csstools/selector-specificity": "^2.0.2",
@ -13593,7 +13586,7 @@
}, },
"@denysvuika/preact-translate": { "@denysvuika/preact-translate": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "http://0.0.0.0:4873/@denysvuika%2fpreact-translate/-/preact-translate-0.3.0.tgz", "resolved": "https://registry.npmjs.org/@denysvuika/preact-translate/-/preact-translate-0.3.0.tgz",
"integrity": "sha512-0ijz/4WiOxUYjD17wVM0VLQwtNn8hdpUedhYtc4JcudM/CxEjdARaNc9u/ALBlM7OqNPP/4OBe3TFYvP2O92qA==", "integrity": "sha512-0ijz/4WiOxUYjD17wVM0VLQwtNn8hdpUedhYtc4JcudM/CxEjdARaNc9u/ALBlM7OqNPP/4OBe3TFYvP2O92qA==",
"requires": {} "requires": {}
}, },
@ -13863,7 +13856,7 @@
}, },
"@teamhanko/hanko-frontend-sdk": { "@teamhanko/hanko-frontend-sdk": {
"version": "0.0.1-alpha", "version": "0.0.1-alpha",
"resolved": "http://0.0.0.0:4873/@teamhanko%2fhanko-frontend-sdk/-/hanko-frontend-sdk-0.0.1-alpha.tgz", "resolved": "https://registry.npmjs.org/@teamhanko/hanko-frontend-sdk/-/hanko-frontend-sdk-0.0.1-alpha.tgz",
"integrity": "sha512-JmI8E0Rh63SJE4nQxeSsmPRhpQsm1BOdT6aqwPBqKAuVGf0AWVa0RSoQZ15VWuZnnueMokEVxuiQNenzRyUtLA==", "integrity": "sha512-JmI8E0Rh63SJE4nQxeSsmPRhpQsm1BOdT6aqwPBqKAuVGf0AWVa0RSoQZ15VWuZnnueMokEVxuiQNenzRyUtLA==",
"requires": { "requires": {
"@types/js-cookie": "^3.0.2" "@types/js-cookie": "^3.0.2"
@ -13991,7 +13984,7 @@
}, },
"@types/js-cookie": { "@types/js-cookie": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "http://0.0.0.0:4873/@types%2fjs-cookie/-/js-cookie-3.0.2.tgz", "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.2.tgz",
"integrity": "sha512-6+0ekgfusHftJNYpihfkMu8BWdeHs9EOJuGcSofErjstGPfPGEu9yTu4t460lTzzAMl2cM5zngQJqPMHbbnvYA==" "integrity": "sha512-6+0ekgfusHftJNYpihfkMu8BWdeHs9EOJuGcSofErjstGPfPGEu9yTu4t460lTzzAMl2cM5zngQJqPMHbbnvYA=="
}, },
"@types/json-schema": { "@types/json-schema": {
@ -14441,13 +14434,13 @@
"dev": true "dev": true
}, },
"autoprefixer": { "autoprefixer": {
"version": "10.4.11", "version": "10.4.12",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.11.tgz", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz",
"integrity": "sha512-5lHp6DgRodxlBLSkzHOTcufWFflH1ewfy2hvFQyjrblBFlP/0Yh4O/Wrg4ow8WRlN3AAUFFLAQwX8hTptzqVHg==", "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"browserslist": "^4.21.3", "browserslist": "^4.21.4",
"caniuse-lite": "^1.0.30001399", "caniuse-lite": "^1.0.30001407",
"fraction.js": "^4.2.0", "fraction.js": "^4.2.0",
"normalize-range": "^0.1.2", "normalize-range": "^0.1.2",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
@ -14751,9 +14744,9 @@
"dev": true "dev": true
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001402", "version": "1.0.30001409",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001402.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001409.tgz",
"integrity": "sha512-Mx4MlhXO5NwuvXGgVb+hg65HZ+bhUYsz8QtDGDo2QmaJS2GBX47Xfi2koL86lc8K+l+htXeTEB/Aeqvezoo6Ew==", "integrity": "sha512-V0mnJ5dwarmhYv8/MzhJ//aW68UpvnQBXv8lJ2QUsvn2pHcmAuNtu8hQEDz37XnA1iE+lRR9CIfGWWpgJ5QedQ==",
"dev": true "dev": true
}, },
"chalk": { "chalk": {
@ -14803,7 +14796,7 @@
}, },
"classnames": { "classnames": {
"version": "2.3.2", "version": "2.3.2",
"resolved": "http://0.0.0.0:4873/classnames/-/classnames-2.3.2.tgz", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
"integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
}, },
"clean-stack": { "clean-stack": {
@ -15085,12 +15078,12 @@
} }
}, },
"core-js-compat": { "core-js-compat": {
"version": "3.25.1", "version": "3.25.2",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.1.tgz", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.2.tgz",
"integrity": "sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw==", "integrity": "sha512-TxfyECD4smdn3/CjWxczVtJqVLEEC2up7/82t7vC0AzNogr+4nQ8vyF7abxAuTXWvjTClSbvGhU0RgqA4ToQaQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"browserslist": "^4.21.3" "browserslist": "^4.21.4"
} }
}, },
"core-util-is": { "core-util-is": {
@ -15452,9 +15445,9 @@
"dev": true "dev": true
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.4.253", "version": "1.4.257",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.253.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.257.tgz",
"integrity": "sha512-1pezJ2E1UyBTGbA7fUlHdPSXQw1k+82VhTFLG5G0AUqLGvsZqFzleOblceqegZzxYX4kC7hGEEdzIQI9RZ1Cuw==", "integrity": "sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==",
"dev": true "dev": true
}, },
"emoji-regex": { "emoji-regex": {
@ -17000,9 +16993,9 @@
"dev": true "dev": true
}, },
"karma": { "karma": {
"version": "6.4.0", "version": "6.4.1",
"resolved": "https://registry.npmjs.org/karma/-/karma-6.4.0.tgz", "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz",
"integrity": "sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w==", "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@colors/colors": "1.5.0", "@colors/colors": "1.5.0",
@ -18733,12 +18726,12 @@
}, },
"preact": { "preact": {
"version": "10.11.0", "version": "10.11.0",
"resolved": "http://0.0.0.0:4873/preact/-/preact-10.11.0.tgz", "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.0.tgz",
"integrity": "sha512-Fk6+vB2kb6mSJfDgODq0YDhMfl0HNtK5+Uc9QqECO4nlyPAQwCI+BKyWO//idA7ikV7o+0Fm6LQmNuQi1wXI1w==" "integrity": "sha512-Fk6+vB2kb6mSJfDgODq0YDhMfl0HNtK5+Uc9QqECO4nlyPAQwCI+BKyWO//idA7ikV7o+0Fm6LQmNuQi1wXI1w=="
}, },
"preact-custom-element": { "preact-custom-element": {
"version": "4.2.1", "version": "4.2.1",
"resolved": "http://0.0.0.0:4873/preact-custom-element/-/preact-custom-element-4.2.1.tgz", "resolved": "https://registry.npmjs.org/preact-custom-element/-/preact-custom-element-4.2.1.tgz",
"integrity": "sha512-/fiEEAyC+MXRlCBRmv/owoN5BLpO2nF/MF3YBHLtp4C2lNqlhV+a4he74A5DhfDoRmxDHm0sYVgQzWFEyzTDsw==", "integrity": "sha512-/fiEEAyC+MXRlCBRmv/owoN5BLpO2nF/MF3YBHLtp4C2lNqlhV+a4he74A5DhfDoRmxDHm0sYVgQzWFEyzTDsw==",
"requires": {} "requires": {}
}, },

View File

@ -2,7 +2,7 @@
"name": "example-angular", "name": "example-angular",
"private": true, "private": true,
"scripts": { "scripts": {
"start": "ng serve --port 3000" "start": "ng serve --port 8888"
}, },
"dependencies": { "dependencies": {
"@angular/animations": "^14.2.0", "@angular/animations": "^14.2.0",

View File

@ -0,0 +1,20 @@
# pull official base image
FROM node:16-alpine
# set working directory
WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install --silent
RUN npm install react-scripts@3.4.1 -g --silent
# add app
COPY . ./
# start app
CMD ["npm", "start"]

View File

@ -15,4 +15,4 @@ In the `.env` file set up the correct environment variables:
### Run the server ### Run the server
Run `npm install` to install dependencies, then run `npm run start` for a development server. Run `npm install` to install dependencies, then run `npm run start` for a development server.
Navigate to `http://localhost:3000/`. The application will automatically reload if you change any of the source files. Navigate to `http://localhost:8888/`. The application will automatically reload if you change any of the source files.

View File

@ -11,7 +11,7 @@ const app = express();
const jwksHost = process.env.HANKO_API_URL; const jwksHost = process.env.HANKO_API_URL;
const corsOptions = { const corsOptions = {
origin: "http://localhost:3000", origin: "http://localhost:8888",
credentials: true, credentials: true,
methods: ["GET", "POST", "PATCH", "DELETE", "OPTIONS"], methods: ["GET", "POST", "PATCH", "DELETE", "OPTIONS"],
}; };
@ -26,7 +26,7 @@ app.use(
secret: jwksRsa.expressJwtSecret({ secret: jwksRsa.expressJwtSecret({
cache: true, cache: true,
rateLimit: true, rateLimit: true,
jwksRequestsPerMinute: 2, jwksRequestsPerMinute: 100,
jwksUri: `${jwksHost}/.well-known/jwks.json`, jwksUri: `${jwksHost}/.well-known/jwks.json`,
}), }),
algorithms: ["RS256"], algorithms: ["RS256"],

View File

@ -0,0 +1,20 @@
# pull official base image
FROM node:16-alpine
# set working directory
WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install
RUN npm install react-scripts@3.4.1 -g --silent
# add app
COPY . ./
# start app
CMD ["npm", "start"]

View File

@ -18,4 +18,4 @@ In the `.env` file set up the correct environment variables:
### Run development server ### Run development server
Run `npm install` to install dependencies, then run `npm run start` for a development server. Navigate to `http://localhost:3000/`. The application will automatically reload if you change any of the source files. Run `npm install` to install dependencies, then run `npm run start` for a development server. Navigate to `http://localhost:8888/`. The application will automatically reload if you change any of the source files.

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
"name": "example-nextjs", "name": "example-nextjs",
"private": true, "private": true,
"scripts": { "scripts": {
"start": "next dev" "start": "next dev -p 8888"
}, },
"dependencies": { "dependencies": {
"@teamhanko/hanko-elements": "^0.0.7-alpha", "@teamhanko/hanko-elements": "^0.0.7-alpha",

File diff suppressed because it is too large Load Diff

20
examples/react/Dockerfile Normal file
View File

@ -0,0 +1,20 @@
# pull official base image
FROM node:16-alpine
# set working directory
WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install
RUN npm install react-scripts@3.4.1 -g --silent
# add app
COPY . ./
# start app
CMD ["npm", "start"]

File diff suppressed because it is too large Load Diff

View File

@ -12,7 +12,7 @@
"typescript": "^4.8.3" "typescript": "^4.8.3"
}, },
"scripts": { "scripts": {
"start": "react-scripts start" "start": "PORT=8888 react-scripts start"
}, },
"eslintConfig": { "eslintConfig": {
"extends": [ "extends": [

20
examples/vue/Dockerfile Normal file
View File

@ -0,0 +1,20 @@
# pull official base image
FROM node:16-alpine
# set working directory
WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install
RUN npm install react-scripts@3.4.1 -g --silent
# add app
COPY . ./
# start app
CMD ["npm", "start"]

View File

@ -18,4 +18,4 @@ In the `.env` file set up the correct environment variables:
### Run development server ### Run development server
Run `npm install` to install dependencies, then run `npm run start` for a development server. Navigate to `http://localhost:3000/`. The application will automatically reload if you change any of the source files. Run `npm install` to install dependencies, then run `npm run start` for a development server. Navigate to `http://localhost:8888/`. The application will automatically reload if you change any of the source files.

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
{ {
"name": "vue", "name": "vue",
"scripts": { "scripts": {
"start": "vite --port 3000" "start": "vite --port 8888"
}, },
"dependencies": { "dependencies": {
"@teamhanko/hanko-elements": "^0.0.7-alpha", "@teamhanko/hanko-elements": "^0.0.7-alpha",