diff options
author | Ricardo <ricardo@cino.io> | 2023-10-13 14:12:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-13 13:12:03 +0100 |
commit | e503468660a13760010a94ecda5f0625c6f47f87 (patch) | |
tree | fa532f54fc5f091de08d55405ec6339bd2440a02 /package.json | |
parent | 1.3.16 [skip ci] (diff) | |
download | ferdium-server-e503468660a13760010a94ecda5f0625c6f47f87.tar.gz ferdium-server-e503468660a13760010a94ecda5f0625c6f47f87.tar.zst ferdium-server-e503468660a13760010a94ecda5f0625c6f47f87.zip |
Server re-build with latest AdonisJS framework & Typescript (#47)
* chore: setup first basis structure
* chore: ensure styling is loaded correctly
* chore: comply to new routing syntax by replace . with / in routes/resource locations
* chore: add login controller
* chore: correctly use views with slash instead of dot
* chore: working login + tests
* chore: clean up tests
* chore: add password-forgot endpoint and matching test
* chore: add delete page test
* chore: add logout test
* chore: add reset-password route and tests
* chore: remove obsolete comment
* chore: add account-page and tests
* chore: add data page & first step of the test
* chore: add transfer/import data feature and tests
* chore: add export and basic test
* chore: add all static api routes with tests
* Regenerate 'pnpm-lock.json' and fix bad merge conflict
WIP:
- Tests have been commented out since they dont work
- Server doesn't start
* easier dev and test runs
* - remove --require-pragma from reformat-files so formatting works properly
- run pnpm reformat-files over codebase
- remove .json files from .eslintignore
- add invalid.json file to .eslintignore
- configure prettier properly in eslint config
- add type jsdoc to prettier config
- run adonis generate:manifest command to regenerate ace-manifest.json
- specify volta in package.json
- introduce typecheck npm script
- remove unused .mjs extension from npm scripts
- install missing type definition dependencies
- add pnpm.allowedDeprecatedVersions to package.json
- fix invalid extends in tsconfig.json causing TS issues throughout codebase
- remove @ts-ignore throughout codebase which is not relevant anymore
- enable some of the tsconfig options
- remove outdated eslint-disable from codebase
- change deprecated faker.company.companyName() to faker.company.name()
- fix TS issues inside transfer.spec.ts
* - update to latest node and pnpm versions
- upgrade all non-major dependencies to latest
- install missing @types/luxon dependency
- add cuid to pnpm.allowedDeprecatedVersions
- add esModuleInterop config option to tsconfig
- migrate more deprecated faker methods to new ones
- add more temporary ts-ignore to code
* - update eslint config
- remove trailingComma: all since default in prettier v3
- add typecheck command to prepare-code npm script
- upgrade various dependencies to latest major version
- update tsconfig to include only useful config options
- disable some lint issues and fix others
* - add test command to prepare-code
- disable strictPropertyInitialization flag in tsconfig which creates issues with adonis models
- update precommit hook to excute pnpm prepare-code
- remove ts-ignore statements from all models
* fix node and pnpm dependency update
* add cross env (so that we can develop on windows)
* add signup endpoint (TODO: JWT auth)
* Add login endpoint
* Add me and updateMe endpoints
* Add service endpoint
* refactor: change endpoints to use jwt
* add recipes endpoint
* add workspaces endpoint
* fix web controllors for login and post import
* Update node deps
* Change auth middleware (for web) and exempt api from CSRF
* Add import endpoint (franz import)
* Fix export/import logic
* Fix service and workspace data in user/data
* Fix partial lint
* chore: workaround lint issues
* fix: migration naming had two .
* Sync back node with recipes repo
* Temporarily ignore typescript
* Fix adonisrc to handle public folder static assets
* Fix issue with production database
* add Legacy Password Provider
* Fix lint errors
* Fix issue on login errors frontend
* add Legacy Password Provider
* Fix issue with customIcons
* Fix issue with auth tokens
* Update 'node' to '18.18.0'
* make docker work
* improve docker entrypoint (test api performance)
* Add migration database script
* NODE_ENV on recipes
* prefer @ts-expect-error over @ts-ignore
* small fixes
* Update 'pnpm' to '8.7.6'
* fix error catch
* Automatically generate JWT Public and Private keys
* Use custom Adonis5-jwt
* Update code to use secret (old way, no breaking changes)
* Normalize appKey
* Trick to make JWT tokens on client work with new version
* Fix error with new JWT logic
* Change migration and how we store JWT
* Fix 500 response code (needs to be 401)
* Improve logic and fix bugs
* Fix build and entrypoint logic
* Catch error if appKey changes
* Add newToken logic
* Fix lint (ignore any errors)
* Add build for PRs
* pnpm reformat-files result
* Fix some tests
* Fix reset password not working (test failing)
* Restore csrfTokens (disabled by accident)
* Fix pnpm start command with .env
* Disable failing tests on the transfer endpoint (TODO)
* Add tests to PR build
* Fix build
* Remove unnecessary assertStatus
* Add typecheck
* hash password on UserFactory (fix build)
* Add JWT_USE_PEM true by default (increase security)
* fix name of github action
---------
Co-authored-by: Vijay A <vraravam@users.noreply.github.com>
Co-authored-by: Balaji Vijayakumar <kuttibalaji.v6@gmail.com>
Co-authored-by: MCMXC <16797721+mcmxcdev@users.noreply.github.com>
Co-authored-by: André Oliveira <oliveira.andrerodrigues95@gmail.com>
Diffstat (limited to 'package.json')
-rw-r--r-- | package.json | 141 |
1 files changed, 91 insertions, 50 deletions
diff --git a/package.json b/package.json index c998462..1e40807 100644 --- a/package.json +++ b/package.json | |||
@@ -1,67 +1,108 @@ | |||
1 | { | 1 | { |
2 | "name": "ferdium-server", | 2 | "name": "ferdium-server", |
3 | "version": "1.3.16", | 3 | "version": "2.0.0", |
4 | "adonis-version": "4.1.0", | ||
5 | "description": "Ferdium server to replace the default Franz/Ferdi server.", | 4 | "description": "Ferdium server to replace the default Franz/Ferdi server.", |
6 | "main": "index.js", | ||
7 | "engines": { | 5 | "engines": { |
8 | "node": "18.18.0", | 6 | "node": "18.18.0", |
9 | "pnpm": "8.7.6", | 7 | "pnpm": "8.7.6", |
10 | "python": "3.11.1" | 8 | "python": "3.11.1" |
11 | }, | 9 | }, |
12 | "scripts": { | 10 | "engine-strict": true, |
13 | "prepare": "is-ci || husky install", | 11 | "volta": { |
14 | "start": "node server.js", | 12 | "node": "18.18.0", |
15 | "test": "node ace test", | 13 | "pnpm": "8.7.6", |
16 | "lint": "eslint \"{app,public,start}/**/*.js\" --quiet --fix", | 14 | "python": "3.11.1" |
17 | "contributors": "all-contributors" | ||
18 | }, | 15 | }, |
19 | "keywords": [ | ||
20 | "adonisjs", | ||
21 | "adonis-app" | ||
22 | ], | ||
23 | "author": "", | ||
24 | "homepage": "https://github.com/ferdium/ferdium-server", | 16 | "homepage": "https://github.com/ferdium/ferdium-server", |
25 | "license": "MIT License", | 17 | "license": "MIT License", |
26 | "private": true, | 18 | "scripts": { |
27 | "dependencies": { | 19 | "prepare": "is-ci || husky install", |
28 | "@adonisjs/ace": "^5.0.8", | 20 | "dev": "cross-env-shell ENV_PATH=.env.development node ace serve --watch", |
29 | "@adonisjs/auth": "^3.0.7", | 21 | "migrate": "cross-env-shell ENV_PATH=.env.development node ace migration:run", |
30 | "@adonisjs/bodyparser": "^2.0.5", | 22 | "status": "cross-env-shell ENV_PATH=.env.development node ace migration:status", |
31 | "@adonisjs/cors": "^1.0.7", | 23 | "build": "node ace build --production", |
32 | "@adonisjs/drive": "^1.0.4", | 24 | "start": "cross-env-shell ENV_PATH=.env node build/server.js", |
33 | "@adonisjs/fold": "^4.0.9", | 25 | "test": "cross-env-shell ENV_PATH=.env.test node ace test", |
34 | "@adonisjs/framework": "^5.0.9", | 26 | "typecheck": "tsc --noEmit", |
35 | "@adonisjs/ignitor": "^2.0.8", | 27 | "lint": "eslint \"**/*.{js,ts}\"", |
36 | "@adonisjs/lucid": "^6.1.3", | 28 | "lint:fix": "pnpm lint --fix", |
37 | "@adonisjs/mail": "^3.0.10", | 29 | "reformat-files": "prettier --ignore-path .eslintignore --write \"**/*.{js,ts,scss,json}\"", |
38 | "@adonisjs/persona": "^1.0.5", | 30 | "prepare-code": "pnpm typecheck && pnpm lint:fix && pnpm reformat-files && pnpm test" |
39 | "@adonisjs/session": "^1.0.29", | ||
40 | "@adonisjs/shield": "^1.0.8", | ||
41 | "@adonisjs/validator": "^5.0.6", | ||
42 | "@sentry/node": "^5.15.4", | ||
43 | "atob": "^2.1.2", | ||
44 | "btoa": "^1.2.1", | ||
45 | "fs-extra": "^8.1.0", | ||
46 | "mysql": "2.18.1", | ||
47 | "node-fetch": "^2.6.7", | ||
48 | "pg": "^8.0.3", | ||
49 | "sanitize-filename": "1.6.3", | ||
50 | "semver": "7.3.5", | ||
51 | "sqlite3": "^4.1.0", | ||
52 | "targz": "^1.0.1", | ||
53 | "uuid": "^8.3.2" | ||
54 | }, | 31 | }, |
55 | "devDependencies": { | 32 | "devDependencies": { |
56 | "all-contributors-cli": "^6.20.0", | 33 | "@adonisjs/assembler": "5.9.5", |
57 | "eslint": "^7.32.0", | 34 | "@japa/preset-adonis": "1.2.0", |
58 | "eslint-config-airbnb-base": "^14.2.1", | 35 | "@japa/runner": "2.5.1", |
59 | "eslint-plugin-import": "^2.23.4", | 36 | "@symfony/webpack-encore": "4.4.0", |
60 | "husky": "^7.0.1", | 37 | "@types/bcrypt": "5.0.0", |
38 | "@types/fs-extra": "11.0.1", | ||
39 | "@types/luxon": "3.3.1", | ||
40 | "@types/node-fetch": "2.6.4", | ||
41 | "@types/proxy-addr": "^2.0.0", | ||
42 | "@types/semver": "7.5.0", | ||
43 | "@types/source-map-support": "0.5.6", | ||
44 | "@types/targz": "1.0.1", | ||
45 | "@types/uuid": "9.0.2", | ||
46 | "@typescript-eslint/eslint-plugin": "6.2.0", | ||
47 | "@typescript-eslint/parser": "6.2.0", | ||
48 | "adonis-preset-ts": "2.1.0", | ||
49 | "cross-env": "7.0.3", | ||
50 | "eslint": "8.46.0", | ||
51 | "eslint-config-prettier": "8.9.0", | ||
52 | "eslint-plugin-adonis": "2.1.1", | ||
53 | "eslint-plugin-import": "2.28.0", | ||
54 | "eslint-plugin-prettier": "5.0.0", | ||
55 | "eslint-plugin-unicorn": "48.0.1", | ||
56 | "husky": "8.0.3", | ||
61 | "is-ci": "3.0.1", | 57 | "is-ci": "3.0.1", |
62 | "prettier": "2.3.2" | 58 | "pino-pretty": "10.2.0", |
59 | "prettier": "3.0.0", | ||
60 | "typescript": "5.1.6", | ||
61 | "youch": "3.2.3", | ||
62 | "youch-terminal": "2.2.2" | ||
63 | }, | ||
64 | "dependencies": { | ||
65 | "@adonisjs/auth": "8.2.3", | ||
66 | "@adonisjs/core": "5.9.0", | ||
67 | "@adonisjs/lucid": "18.4.0", | ||
68 | "@adonisjs/mail": "8.2.0", | ||
69 | "@adonisjs/repl": "3.1.11", | ||
70 | "@adonisjs/session": "6.4.0", | ||
71 | "@adonisjs/shield": "7.1.1", | ||
72 | "@adonisjs/view": "6.2.0", | ||
73 | "adonis5-jwt": "github:SpecialAro/adonis5-jwt#34941c10adcf89583a40767552b994ea499b92e3", | ||
74 | "aws-sdk": "2.1425.0", | ||
75 | "bcrypt": "5.1.1", | ||
76 | "fs-extra": "11.1.1", | ||
77 | "jose": "4.14.6", | ||
78 | "luxon": "3.3.0", | ||
79 | "moment": "2.29.4", | ||
80 | "mysql": "2.18.1", | ||
81 | "node-fetch": "2", | ||
82 | "pg": "8.11.1", | ||
83 | "phc-bcrypt": "1.0.8", | ||
84 | "proxy-addr": "2.0.7", | ||
85 | "rand-token": "1.0.1", | ||
86 | "reflect-metadata": "0.1.13", | ||
87 | "sanitize-filename": "1.6.3", | ||
88 | "semver": "7.5.4", | ||
89 | "source-map-support": "0.5.21", | ||
90 | "sqlite3": "5.1.6", | ||
91 | "targz": "1.0.1", | ||
92 | "uuid": "9.0.0" | ||
63 | }, | 93 | }, |
64 | "autoload": { | 94 | "pnpm": { |
65 | "App": "./app" | 95 | "allowedDeprecatedVersions": { |
96 | "@npmcli/move-file": "1.1.2", | ||
97 | "@types/pino-pretty": "5.0.0", | ||
98 | "@types/pino-std-serializers": "4.0.0", | ||
99 | "cuid": "2.1.8", | ||
100 | "querystring": "0.2.0", | ||
101 | "resolve-url": "0.2.1", | ||
102 | "source-map-resolve": "0.5.3", | ||
103 | "source-map-url": "0.4.1", | ||
104 | "stable": "0.1.8", | ||
105 | "urix": "0.1.0" | ||
106 | } | ||
66 | } | 107 | } |
67 | } | 108 | } |