Commit Graph

64 Commits

Author SHA1 Message Date
Rijk van Zanten
1005738267 Tweak last quirks in hooks error example (#19122) 2023-07-11 11:16:45 +02:00
Connor
f63716af1b update example (#19117) 2023-07-10 23:41:53 +02:00
Kevin Lewis
67c008df37 Fixes the many broken docs redirects (#19026)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-06-29 13:49:38 +02:00
Connor
92621429ee Linting and Formatting Upgrade (#18892)
* add docs to eslint

* update prettier ignore

* fix vitepress linting

* eslint ignore fixes

* prettier run

* update prettier ignore

* fix formatting

* enable linting of markdown files

* revert format command change

* fix irregular whitespace

* update dictionary

* (Changelog) Create four-boxes-shake.md

* Rework ESLint / Prettier setup

- Disable js/ts/vue files for Prettier to ensure linting/formatting is
  only happening via ESLint
- Rework formatting of code blocks in md files
  - Disable formatting of code blocks in md files under '/docs' by Prettier
  - Instead use "eslint-plugin-markdown" to format & __lint__ js*/ts*/vue such code blocks
  - Replace unmaintained "eslint-plugin-md" plugin by official "eslint-plugin-markdown" plugin
  - I'll check whether we can use this to format other code blocks
    (json, html, ...) as well
- Restructure, clean-up and apply some fixes to the ESLint config
  (Note: Not ready for flat config yet since not supported by
  vscode-eslint)
- Enable cache for ESLint / Prettier in scripts
- Clean-up ignore file
  - Explicit folder declaration (.../)
  - Don't ignore all 'extensions' folders in ESLint (only
    '/api/extensions/')
  - Enable formatting in '/.github' folder

* Fix all formatting issues with Prettier

* Update md files under /docs/.typedocs

* Fix lint issues in vue/js files

* ESLint / Prettier config revision v2

Enable Prettier for md code blocks, but only as warnings since it can
get into the way with Vitepress md extensions like '[!code ...]'
comments

* Remove prettier-ignore comments

* Make spellchecker happy

* Remove changeset

* Revert lint setup for code blocks

There are many cases in the docs where linting / formatting of code
blocks doesn't make
sense:
- Code block is only an excerpt - linter fails
- Code block contains special comments (e.g. markdown extensions) which
  needs to remain at the same place - formatting would break it
- ...

* Apply lint issues / formatting from temp lint setup

* Run formatter

* Fix merge failure

* Simplify & modernize ESLint / Prettier setup

No longer run Prettier via ESLint. Nowadays, this is the recommended
setup. There's no real need to run it this way, it's just an additional
layer.

Add VS Code settings to make the work with the new setup easier.

* Remove unused eslint disable directives

* Make editorconfig more useful

* Fix formatting issues reported by editorconfig

* Format files with Prettier

* Enable formatting of source translations file

* Format source translations file

* Remove unnecessary console error

* Remove unnecessary line

* Only ignore md files under .changeset

* Add CI reporter for Prettier

* Fail job on wrongly formatted files

* Fix format

* Test Prettier action on changed/added file

* Use simple CI format check for now & no cache

* Revert "Test Prettier action on changed/added file"

This reverts commit 4f7d8826ad.

* Introduce code blocks check for docs

* Fix code block issues

* Ignore auto-generated packages dir

* Fix comment position

* Also lint `/app/.storybook`

* Reformat modified files

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-06-29 11:54:01 +02:00
Rijk van Zanten
ca3e7f521f Upgrade previous "Extensions" system to new "Errors" model (#18797)
* Typecheck across packages that are built with esbuild

* Boilerplate new Errors package

* No need, tsup checks with --dts

* Switch to tsup

* Setup dev script

* Add readme

* More boilerplaty things

* Finish createError function

* Install @directus/random

* Downgrade node types

* Add utility function to check if an error is a DirectusError

* Use new is-error check

* Install errors package

* Add failed validation common error

* Export common errors

* Move joi convertion to utils

* Export failed validation

* Use new failed validation error in validate-batch

* Enhance typing output of createError

* Remove outdir (handled by tsup now)

* Replace Exception with Error

* Replace exception in test

* Remove exceptions from app

* Remove exceptions from app

* Remove failed validation exception from users service

* Remove old failed validation exception from shared

* Remove exceptions package in favor of errors

* Uninstall exceptions

* Replace baseexception check

* Migrate content too large error

* Critical detail

* Replace ForbiddenException

* WIP remove exceptions

* Add ForbiddenError to errors

* HitRateLimitError

* Move validation related error/helper to new validation package

* Add index

* Add docs

* Install random

* Convert TokenExpired

* Convert user-suspended

* Convert invalid-credentials

* Move UnsupportedMediaType

* Replace wrong imports for forbidden

* Convert invalid-ip

* Move invalid provider

* Move InvalidOtp

* Convert InvalidToken

* Move MethodNotAllowed

* Convert range not satisfiable

* Move unexpect response

* Move UnprocessableContent

* Move IllegalAssetTransformation

* Move RouteNotFound

* Finalize not found

* Various db errors

* Move value too long

* Move not null

* Move record-not-unique

* Move value out of range

* Finish db errors

* Service unavailable

* GQL errors

* Update packages/validation/src/errors/failed-validation.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Update packages/validation/src/errors/failed-validation.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* InvalidQuery

* Add test for invalid query message constructor

* Invalid Payload

* Finalize exceptions move

* Improve type of isDirectusError

* Various fixes

* Fix build in api

* Update websocket exceptions use

* Allow optional reason for invalid config

* Update errors usage in utils

* Remove unused package from errors

* Update lockfile

* Update api/src/auth/drivers/ldap.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Update packages/validation/src/utils/joi-to-error-extensions.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Put error codes in shared enum

* Replace instanceof checks in api

* Fix tests I think

* Tweak override names

* Fix linter warnings

* Set snapshots

* Start fixing BB tests

* Fix blackbox tests

* Add changeset

* Update changeset

* Update extension docs to use new createError abstraction

* 🙄

* Fix graphql validation error name

* 🥳

* use ErrorCode.Forbidden

* fix blackbox auth login test

* Add license files

* Rename preMutationException to preMutationError

* Remove unused ms dep & sort package.json

* Remove periods from error messages for consistency

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Add optional code check

* Use updated error code checker

* Rename InvalidConfigError to InvalidProviderConfigError

---------

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: ian <licitdev@gmail.com>
2023-06-27 17:22:26 -04:00
Rijk van Zanten
3b52f2d59d Fix custom migrations running not validating against documented file path requirement (#18971)
* Require - to exist in custom migration filepath

* Update docs to mention shared helpers

* Add changeset
2023-06-22 19:00:01 -04:00
Craig Harman
90f7674152 Fix duplicate brackets for Storybook link (#18764)
* Fix duplicate brackets for Storybook link

* Sign the CLA

* Create gentle-goats-lay.md

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2023-05-30 09:54:43 -04:00
Nicola Krumschmidt
60be3c2b40 Add synchronization across horizontally scaled instances to schedule flows and hooks (#18584)
* Add synchronization to schedule flows and hooks

Fixes #15052

* Add changeset

* Add test

* Add to sequential list

* Fix spelling in changeset

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: ian <licitdev@gmail.com>
2023-05-24 17:16:42 -04:00
Pascal Jufer
76555bc41d Add documentation for auth create and update hooks (#18641)
* Add documentation for auth create and update hooks

* Create pretty-lobsters-look.md
2023-05-17 18:34:18 -04:00
Brainslug
1628c68fa2 Bundle deployment instructions (#18606)
* re-adding bundle deployment instructions

* Create empty-doors-promise.md
2023-05-15 14:24:16 -04:00
Connor
b67c4cd2e2 Contributor Docs Improvements Round 1 (#18545)
* Move Debug Docs from Wiki to Docs

* Add Copyright License Agreement to Docs

* Start Reformat0 of Codebase Overview

* Add Package Documentation to Codebase Overview

* Add Link to Blackbox Folder

* Add Changesets to Pull Request Process

* Add Component Library Tips

* Fix Spelling

* Fix dictionary

* Create thick-glasses-bake.md

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-05-12 09:29:00 -04:00
Brainslug
1fba5ebf94 Load cjs custom migrations (#18385) 2023-05-02 21:10:19 +02:00
Nicola Krumschmidt
80bcc35af3 Add support for building API extensions to ESM (#18351)
* Remove language check from extension build command

* Add getFileExt util

* Add support for building API extensions to ESM

* Build new extensions to ESM by default

* Update config file docs to be in ESM

* Add changeset

* Fix extension test

* Replace nested ternary expression

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* Li(n)t

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2023-05-02 14:45:25 -04:00
Matthew Rumery
bf10c943c8 Fix broken links in the documentation (#18377)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-05-02 10:03:32 +02:00
Nicola Krumschmidt
6c1a4812ca Instruct users to use the latest version of create-directus-extension (#18361) 2023-04-28 12:57:12 -04:00
Pascal Jufer
7382530696 Remove misleading contents migration docs for now (#18264) 2023-04-21 13:14:45 -04:00
Nicola Krumschmidt
3b52b0a771 Fall back to "other" group if interface has none (#18256) 2023-04-19 13:42:20 +00:00
Rijk van Zanten
2609c954aa Update hooks.md
Fixes https://github.com/directus/directus/issues/18219
2023-04-17 14:25:11 -04:00
Matthew Rumery
0462d55615 [docs] add tip about bundle type not supporting migration extension type (#18123) 2023-04-10 22:11:08 -04:00
Rijk van Zanten
c723085902 Move docs to monorepo (#18052)
* Move docs to monorepo

* Tweaks
2023-04-04 18:23:58 -04:00
Rijk van Zanten
288e7d62b9 Move docs folder to dedicated repo (#14192)
* Move docs to https://github.com/directus/docs

* Update included docs
2022-06-29 13:47:45 -04:00
Eron Donevan Powell
3fa81b6b9c Docs config refactor (#13945)
* moved config-options.md to self-hosted

* added non-docs files that link to config-options

* moved SSO and fixed links

* moved upgrades-migrations into self-hosted

* moved filter-rules into reference docs and fixed broken links
2022-06-17 11:51:38 -04:00
Eron Donevan Powell
feea827685 Docs: getting-started > Introduction (#13055)
* created self-hosted section, moved installation guides, and re-edited first draft of the cloud quickstart guide

* refactored step 1 into two steps

* added media

* pre-mgmt submission proofread

* pulled down on wrong branch.
Revert "pre-mgmt submission proofread"
This reverts commit dfd678d083.

* first draft, halfway done

* first draft done

* added directus cloud section, first draft

* second draft, applied ben's desired edits

* moved resources out of intro and into separate page

* tiny tweaks

* heavily edited whats directus and tidied up lower sections

* link checked and proofedited with grammarly

* Update docs/getting-started/resources.md

* Update docs/getting-started/introduction.md

* Auto-format indentation

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-06-06 18:04:50 -04:00
Dominic Marcelino
a64bfa3796 Update hooks.md (#13367) 2022-05-17 13:02:55 -04:00
Peera Jeawkok
e47502e11f Fix Invalid foreign key when applying schema snapshot (#12198)
* add logic to create parent collection before apply

* recursively create collection

* Recursively delete collection

* cleanup

* fix import

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* fix deconstruction of collections

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* fix deconstruction of collections

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Fix destructing

* Move type declaration to the top

As requested during code review https://github.com/directus/directus/pull/12198#discussion_r857330627

* remove unnecessary empty array check.

* remove redundant map functions

* replace lodash functions in favor of built-in ones

* tweaks

* organize imports

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Stephan Schmitz <eyecatchup@gmail.com>
2022-05-09 16:49:20 -04:00
Josh Soref
0b01923b0d Spelling (#13072) 2022-05-02 13:16:03 -04:00
Eron Donevan Powell
afe0f0e499 fixed tip issue (#12938) 2022-04-22 10:46:46 -04:00
rijkvanzanten
02747d9afc Fixed typo 2022-03-11 10:23:59 -05:00
Dominic Marcelino
625c89f74c Update hooks.md - add system collection "files", fix payload parameter (#12094)
* Update hooks.md

* Delete event does not contains the whole payload but the payload keys
* files filter and hooks exist except for create/update

* Update docs/extensions/hooks.md

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-03-11 09:50:25 -05:00
Rijk van Zanten
eec21d8d9a Add "items.sort" event (#11954)
* Adds the 'sort_updated' event emit after items are sorted

Signed-off-by: Mihovil Ilakovac <mihovil.ilakovac@gmail.com>

* Updates the event name to 'sort_update'. Docs.

Signed-off-by: Mihovil Ilakovac <mihovil.ilakovac@gmail.com>

* Updates the event name to `sort`

* Add item/to to hook, fix docs

Co-authored-by: Mihovil Ilakovac <mihovil.ilakovac@gmail.com>
2022-03-04 19:58:47 -05:00
Rijk van Zanten
eea9f45624 Add authenticate hook to implement custom auth checks against current request (#11942)
* Add "authenticate" filter hook that allows custom auth check

* Start on test

* Update Jest, restructure API tests, start implementing authenticate test

* Move access token verify to util function

* Ensure jest can show inline warnings on correct lines

* Update is-directus-jwt to use jsonwebtoken decode + add tests

* Remove unused package

* Tweak and finish + test authenticate

* Tweak test

* Add authenticate filter to docs

* Don't scan tests for codeql

* No seriously, ignore tests
2022-03-03 16:29:13 -05:00
Chris Bartley
bd89fe2a4c Fixed readByQuery's sort parameter in custom API endpoint example (#11662) 2022-02-22 14:36:30 +08:00
rijkvanzanten
3baa0e5eb0 Tweak wording in docs 2022-01-24 10:47:46 -05:00
Juan José Miranda
717280b883 Change "register" for "handler" in the example (#11224)
* Change "register" for "handler" in the example

Change "register" for "handler" in the example custom endpoint route using id for access endpoints.

* Tweak name in reference points

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-01-24 09:51:18 -05:00
Nicola Krumschmidt
aa5da81fc0 Remove no-break space characters with regular spaces (#11232)
There are quite a few other occurrences all over the translation files,
some of which feel intentionally placed.
2022-01-24 09:43:57 -05:00
Nicola Krumschmidt
0d9de79abf Add documentation for EXTENSIONS_AUTO_RELOAD (#10922)
* Add documentation for EXTENSIONS_AUTO_RELOAD

* Add note to creating-extensions as well

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-01-10 09:37:56 -05:00
Brainslug
35c3f90c9a added event emitter to extension context and updated docs (#10529) 2021-12-15 21:29:06 +00:00
Azri Kahar
4d909cfa30 fix links to types (#10467) 2021-12-13 08:45:29 +00:00
Azri Kahar
f071a4a933 add custom panel extensions template & docs (#10386) 2021-12-08 11:13:10 -05:00
Nicola Krumschmidt
90b59d89e0 Extension docs updates (#8611)
* Rename API Endpoints docs to Endpoints to align with Hooks

* Add a Creating Extensions page to the docs

* Update individual extension docs pages

* Apply latest changes to hook docs

* Move available events to a dedicated section in hook docs
2021-12-06 13:08:31 -05:00
Azri Kahar
19cbe896b4 docs updates on file library, content sidebar etc (#10334) 2021-12-06 09:36:00 -05:00
Rijk van Zanten
032ec99be1 Add note to enable module in settings after completion (#10280)
Fixes #10259
2021-12-03 11:42:41 -05:00
Oreille
e03bb391b0 Add items.read filter hook (#10279) 2021-12-03 16:37:04 +00:00
Łukasz Szcześniak
e17048e653 Remove runMigrations from database install (#9911) (#10003)
* Remove `runMigrations` from `database install` (#9911)

* Fix typo (#9911)

* Remove unnecessary import (#9911)
2021-12-02 16:05:54 -05:00
Jay Cammarano
57494d8cca removed security hole (#10174) 2021-11-30 21:28:33 +00:00
rijkvanzanten
24c7ac5f61 Fix build by removing inline v-pre
@azrikahar apparently the app build really didn't appreciate that v-pre on code 🤔
2021-11-24 17:41:44 -05:00
Jay Cammarano
2e821f1b2c Reorganize the Hooks Documentation (#10033)
* reorganized hooks

* clean up text

* reordered performance warning

* create a hook rework

* spelling
2021-11-24 17:12:29 -05:00
Azri Kahar
f263dcf4db prevent interpolation for url variable (#9836) 2021-11-24 17:11:23 -05:00
Azri Kahar
da3808b50f Add references for social & material icons (#9689) 2021-11-10 10:29:40 -05:00
José Varela
ca19cb1a99 emit auth.jwt on refresh (#9661) 2021-11-09 14:01:38 -05:00