Commit Graph

19 Commits

Author SHA1 Message Date
Marcel
0cee4c0805 Add memory package in the list of package names (#21155)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-25 09:20:23 +00:00
Pascal Jufer
c9292fdd13 Various small codebase clean-ups (#20977) 2024-01-05 18:53:44 +01:00
Bevis Halsey-Perry
0c54f5a9ef Introduce SnippetToggler and New SDK Reference (#19110)
* items semi complete

* updated items page to use snippet toggler and migrated endpoint docs to use it

* updated files page to use snippet toggler and migrated REST and GraphQL endpoint docs to it

* updated activity page to use snippet toggler and migrated REST and GraphQL endpoint doc to it

* updated collections page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* updated dashboards page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated extensions page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated fields page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated flows page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated folders page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated notifications page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated operations page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated panels page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated permissions page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated presets page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated relations page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated revisions page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated roles page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Made headlines consistant with the rest of the doc pages

* Updated server page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated settings page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated shares page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated translations page to use snippet togglers and migrated REST endpoint docs to them

* Updated users page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated utilities page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated webhooks page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated authentication page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* Updated Global Parameters page to use snippet togglers where there are adjacent REST and GraphQL Examples

* Added SDK code snippets to items page and made generic variables consistant

* Added SDK code snippets to files  page and made generic variables consistant

* Few lang changes for files page

* Added SDK code snippets to activity page and made generic variables consistant

* Added SDK code snippets to collections page and made generic variables consistant

* Added SDK code snippets to dashboards page and made generic variables consistant

* removed query word from query parameter objects

* Added SDK code snippets to fields page and made generic variables consistant

* SnippetToggler border

* Used dynamic border color for snippettoggler heading

* Spacing top and bottom of snippet toggler in docs

* Removed extra HRs

* Remove manual TOC in query reference

* Small code styling change in items page

* Updated users page to use snippet togglers and migrated REST and GraphQL endpoint docs to them

* dashboards fixed up property names

* Small copy update on extensions page

* Updated keys in delete mult notifications REST

* Updated keys in operations

* Update keys in panel delete many

* Update keys in permissions

* Added quotes around generic example ID strings

* Added code formatting to final example in share public info

* Format files

* Refined sidebar

* Insert newline before ending template tags

* Fixed extra closing tags, causing an error, un users ref

* Text Formatting Users

* Put GQL related notes inside toggler

* Added SDK code snippets to flows page and made generic variables consistant

* Added SDK code snippets to folder page and made generic variables consistant

* fixing whitepsace for flows and folders page

* Consistent newlines in SnippetToggler usages

* Run prettier

* Fix 'alwaysDark' definition

* Home page snippet toggler style fixes

* Fix snippet toggler lang hover color in light mode

* Introduce different code theme for light mode

* Added SDK code snippets to notifications page and made generic variables consistant

* Switch to 'material-theme-lighter'

* Format file

* Fix tip

* Fix tip in sdk ref

* Consistent spacing for custom containers

* Added SDK code snippets to operations page and made generic variables consistant

* Lint & format code blocks

* Lint & format operations

* Added SDK code snippets to panels page and made generic variables consistant

* Added SDK code snippets to permissions page and made generic variables consistant

* Added SDK code snippets to presets page and made generic variables consistant

* Added SDK code snippets to relations page and made generic variables consistant

* Added SDK code snippets to revisions page and made generic variables consistant

* Added SDK code snippets to roles page and made generic variables consistant

* Added SDK code snippets to server page and made generic variables consistant

* Added SDK code snippets to settings page and made generic variables consistant

* app_url -> directus_project_url

* Omitted auth details in delete multiple files

* Added quotes to values in roles

* Upload a file snippets

* Pluralization for upload/import files

* More files functions typos

* Added SDK code snippets to shares page (still missing createShare(s) as endpoint not functioning currently) and made generic variables consistant

* Added SDK code snippets to translations page (missing delete endponts because not working) and made generic variables consistant

* Added SDK code snippets to users page and made generic variables consistant

* Added SDK code snippets to webhooks page and made generic variables consistant

* Added SDK code snippets to utilites page (except cleaning cache, will be tested and added in later commit) and made generic variables consistant

* Added SDK code snippets to auth page (not login, refresh, and logout though due to errors)

* Added SDK code snippets for utilsExport and clearCache

* added github username be7DOTis to contributors

* Omit auth commands in updateComment

* utilsImport

* rename app_url generic value

* changed instances of updated*operation* to update*Operation*

* missed some 'updated' changse

* Added SDK Snippets to Query Parameters page

* Add section on file security

* added create(s)Shares SDK snippet to shares page

* added console.log to create snippets

* Added delete(s)Webhook SDK snippet to webhooks page

* Added SDK snippets to extensions page

* Added create/updateSingleton section to items page

* Links in files security

* Added SDK Snippets to Schema page

* Added GQL Generic examples to snippet togglers and removed snippet toggler from Login Using SSO Providers

* Added create(s)Presets SDK Snippets to presets page

* replaced fields query in generics snippets for a more generic

* replaced fields query in generics snippets for a more generic

* Use storage value only if valid choice

* Sync snippet togglers across page

* Update docs/reference/system/activity.md

* Update docs/reference/system/activity.md

* Update docs/reference/system/extensions.md

* Update docs/reference/system/revisions.md

* Update docs/reference/system/settings.md

* Update docs/reference/system/revisions.md

* Update docs/reference/system/settings.md

* Update docs/reference/system/activity.md

* Update docs/reference/system/roles.md

* Update docs/reference/system/roles.md

* Update docs/reference/system/roles.md

* Update docs/reference/system/roles.md

* Update docs/reference/system/schema.md

* Update docs/reference/system/server.md

* Update docs/reference/system/shares.md

* Replace all directus_project_url placeholders

* Revert "Sync snippet togglers across page"

This reverts commit 8b36f0d778.

* Update docs/reference/system/shares.md

* Update docs/reference/system/webhooks.md

* Clarify singleton section

* Consistent newlines between SnippetToggler templates

* Format files

* Remove console.log(result) statements from snippet

* Add examples for shares & users

Co-authored-by: Brainslug <tim@brainslug.nl>

* Fix hash GraphQL example

* Clarify update singleton section

* Add auth examples

Co-authored-by: Brainslug <tim@brainslug.nl>

* Final run on consistent newlines between SnippetToggler

* Switch to github themes

* The "Last One"

Co-authored-by: Brainslug <tim@brainslug.nl>

* The "Big One"

* Fix dead links

---------

Co-authored-by: Bevis Halsey-Perry <hi@be7.is>
Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
2023-07-25 17:30:37 -04:00
Brainslug
d71b0e94ee SDK Revamp (#18987)
* Setup build chain

* Initial structure

* Typing, exports, fix build

* Reorganize

* prutsen met output types

* Thursday fun times

* failed experiments in feature composition

* got feature flags on the client

* using interfaces instead of literals

* messed with decorators

* split up decorators

* added fetch and ws types

* reintroduced the global.d.ts we'll figure that out later

* reworked composables

* some changes

* experimenting with commands

* got the read item command working again with types

* trying authentication

* basic gql implementation

* Super basic websocket implementation

* renamed websocket composable and removed obsolete code

* Typing relational fields

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* fixed recursive type

* SDK revamp revamp (#18916)

* Split up files

* Simplify some more (too much?)

* Oh boy we figured out object extending

* OK JK now we're there

* OK getting somewhere real now

* Start structuring type helpers

* Types werken zowaar!

* Remove unneeded "T"'s for readability

* Added support for array relational types

* split up query nesting logic

* make relational fields optional to support multiple relations

* improved readability

* updated REST

* Move URL to top level

* Remove T

* recursively join fields in params

* cleaning up

* updated graphql implementation

* removing old unused code

---------

Co-authored-by: Brainslug <tim@brainslug.nl>

* Reduce global reuse of rest

* Start messing with output types

* Return it from the rest command

* first level schema output filtering

* It works!! but will need some docs for context

* Added some comments

* removed export keyword from types that do not need to be exported

* cleaned up debug script

* graphql update

* Added dom for WebSocket and Fetch typings

* initial readme setup

* moved some types

* removed accidental commit

* Refactor `useDirectus` and improve token handling (#18966)

* Add comment and reduce code of useDirectus

* Add fabian-hiller to contributors.yml

* Change token handling of useDirectus client

---------

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

* Change ClientConfig type back to interface (#18968)

* initial realtime feature

* started on some ws commands and implemented message receiving callback

* disabled rest config for now

* setup auth extension boilerplate

* Added some websocket examples to the readme

* docs: add getting started guide

* docs: add link to previous sdk

* docs: updates

* implemented readItem

* updated readItems

* Added delete commands

* docs: updates to snippets and phrasing

* updated lockfile

* Update dictionary

* docs: removed repeated typescript snippet

* Enrich package.json for SDK

* docs: update snippet

* Fix casing of readme

* added create items commands

* fixed read items output

* removed obsolete types

* added update commands

* updated tsup

* removed unused dependencies

* implemented basic memory storage fallback

* implemented the login function for auth

* implemented refresh and logout auth functions

* docs: update guide

* updated auth refresh logic

* oops, have to actually store the expires at value

* fixed authentication timeout

* added autoRefresh config option

* updated readme

* updated getting started

* docs: updates to guide

* added beta version nr

* removed debug scripts

* added docblocks to the composables

* Added some docblocks

* Added BETA warning to readme

* Added extra type extends object checks

* added a bunch of index files

* updated tsup build entrypoints and exports

* updated import paths

* updated code examples

* docs: removed unnecessary phrases

* Unignore SDK changesets

* Revert "docs: removed unnecessary phrases"

This reverts commit 3559ade873.

* docs: removed unnecessary phrases

* Make sure we export all available functions

* Tweak exports

* Add TypeDoc for new (and old) SDK

* Update docs/guides/sdk/getting-started.md

* Re-add beta version flag in package.json

* Format readme

* Tweaks

* Spellchecker

* v10.4.0

* Add link to TypeDoc of new SDK

* updated query types

* trying to expand the query types

* extending the Query options

* add all exports to the root

* fixed incorrect field mapping

* Abstracted more  of the request logic for more flexibility

* partial error handling, global fetch settings and fetch response options

* reworked the requests for better options control and started on better error handling

* type fix

* Run formatter & linter

* Spell fixes

* added onRequest handler

* updated global request hooks

* expanded ItemType to accept singletons

* updated output types for singletons

* fixed fields type generation

* removed rest globaloptions in favor of onRequest

* started singleton command

* different commands for singletons

* ran prettier

* updated readme

* stateless helpers for tomorrow

* support m2a in field types

* added m2a fields parsing and attempt at output typing

* made the base client stateless

* making sure things are exported as needed

* added minimal core table schema for files and users

* added update singleton command

* Added core user read commands

* merged related commands into the same file

* Added create users commands

* Added user update commands

* added user delete commands

* updated query handling

* ran prettier and bumped version

* ran prettier

* disabled global error handling for now

* fixed output formatting for delete commands

* fixed onResponse handling

* fixed item types for create and update

* added missing partial item for create

* ran prettier

* updated readme

* added missing export

* Publish beta version

* Added a bunch of core collection types

* updated users commands

* added more complex core types

* double checked nullable core fields

* fixed core collection merging with custom properties

* added authentication commands

* ran prettier and fixed line endings

* Added all core read commands

* Added all core create commands

* Added all core delete commands

* Added all core update commands

* ran prettier

* renamed `useDirectus` to `createDirectus` and `.use` to `.with` to prevent naming confusion with reacthooks or express middleware.

* ran prettier

* added more misc core commands

* added schema endpoints

* added server api commands

* ran prettier

* added most utility endpoints

* finished utility endpoints

* checking the command typing and jsdoc

* fixed those pesky relational output types

* ran prettier

* removed obsolete type

* initial aggregation typing

* improved aggregation and grouping typing

* ran prettier

* checked exports

* Beta 4

* fixed the m2a fields regression

* added basic client test

* do query parsing at the latest stage

* extra type comments

* reverted accidental commit and ran prettier

* Adjust tsconfig to updated @directus/tsconfig package

* updated websocket event handling

* fixed capitalization

* removed obsolete queryToParams usage

* implemented websocket reconnecting and some non-happy path fixes

* persist subscription across reconnecting

* updated readme

* ran prettier

* 11.0.0-beta.5

* using plurar for uploadFiles ad removed "D" from updateFiles

* fix incorrect paths

* created new util types file

* extracted output types

* fixed input typing issue (for items)

* extracted functions to its own file

* fixed path for presets

* ran prettier

* Applied typing fix to all commands

* fixed naming error `updatedItems` -> `updateItems`

* fixed type error

* Failing types gracefully if no schema is provided

* beta.6

* Clean-up tsup config

- Use documented way to define config
- Doesn't need to be ts file: not type checked, intellisense available
  in vscode anyway
- remove default & deprecated options

* added other user commands

* added other share commands

* satisfy prettier

* added string array types to webhook core schema

* fixed plain string request output

* keep nullability for relational fields

* Update documentation guides to use new SDK (#19131)

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <tim@brainslug.nl>

* Fix error messages for core collections

* updated dictionary

* updated partial item input for fields

* Ready, set, go!

---------

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Fabian Hiller <35291865+fabian-hiller@users.noreply.github.com>
Co-authored-by: Esther Agbaje <folasadeagbaje@gmail.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Esther Agbaje <53586167+estheragbaje@users.noreply.github.com>
Co-authored-by: Kevin Lewis <kvn@lws.io>
2023-07-25 14:46:06 -04:00
Zeyar Paing
d6e0e35970 Typo fix for codebase overview docs (#19167)
* Typo fix for codebase overview docs

* Update contributors.yml
2023-07-14 12:37:58 -04:00
Rijk van Zanten
1005738267 Tweak last quirks in hooks error example (#19122) 2023-07-11 11:16:45 +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
Connor
94bfecf72e Fix Docs Broken Links and add License to @directus/stores (#18988)
* add license to stores package

* fix broken links

* disable edit link on generated documentation

* Create heavy-papayas-buy.md
2023-06-23 15:47:43 -04:00
Connor
5e1f02dba1 Add TypeDocs to Docs (#18867)
* Create package

* TypeDoc Init Config

* Start Config

* Configure Packages

* Generation

* Add Plugins

* Vitepress Generation

* More Generation

* Fix Lock File

* Fix Connections

* Build Step

* Deployment Testing

* Fix Sidebar

* Fix Lock File

* Deployment Fix

* Change Sidebar

* Final POC/MVP Updates

* fix commands

* fix dev deps

* fix netlify functions

* CHANGELOG: Create warm-spiders-double.md

* Fix typing

* Remove double title

---------

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-06-13 10:18:22 -04:00
Connor
f667fe7658 Contributor Docs Improvements Round 2 (#18667)
* add delete by query information and examples

* add that changelogs should be past tense

* add examples of unit and blackbox tests

* add information on where upload/extension folder should go locally

* add new packages and remove redundant column

* fix spelling

* Create hot-pillows-tan.md

* Fix tip box and links

* Update docs/contributing/codebase-overview.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Update docs/contributing/running-locally.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-05-30 12:30:58 -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
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
Azri Kahar
19cbe896b4 docs updates on file library, content sidebar etc (#10334) 2021-12-06 09:36:00 -05:00
Azri Kahar
8f7a3dc9cd update vue 2 to vue 3 in codebase overview (#7648) 2021-08-27 11:41:40 -04:00
rijkvanzanten
22535bf566 Resolve TKs/@TODOs in docs
Fixes #3287
2021-04-21 15:57:26 -04:00
rijkvanzanten
fb5c9068bc List updated min requirement 2021-03-04 14:14:31 -05:00
Rijk van Zanten
817ccf3620 Overhaul docs (#3951)
* Add Quickstart Guide

* Update installation

* Remove unused files

* Update support/backing

* Tweaks in concepts

* Setup file structure for API reference 2.0

* Setup page layout for reference

* Add clean-urls plugin

* getting started updates

* Finish authentication rest

* getting started updates

* Render stylus in 2 spaces

* Various

* Various

* Finish activity docs

* Add collections reference

* Add extension reference

* concepts updates

* Fields/tweaks

* Add files doc

* Add revisions

* concepts docs

* More api reference

* Finish rest api reference (finally)

* initial concepts

* More things

* Add assets api ref

* Move sections from file to assets

* Add environment variables

* contributing docs

* Add field transforms page

* Left align table headers

* concept links

* Add API config

* Fix mobile nav

* Add migrating a project

* doc link fixes

Co-authored-by: Ben Haynes <ben@rngr.org>
2021-02-05 18:51:54 -05:00