mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
v10.11.0
17 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
81e0f4c021 |
Fix email template loading (#21718)
* ugly exception for templates * Ignore folders that aren't valid extensions * Add changeset * Don't double-loop * Super small polishing --------- Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com> Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> |
||
|
|
82b23a57d4 |
Add the Directus Marketplace (#21674)
* Add support for MIGRATIONS_PATH (#20627) * Deprecate "local" extension types (#20624) * No longer resolve local non-package extensions * Remove local extensions from watcher * Install fs-extra for app dev * Replace usage of get-extensions * Rename create functions to match behavior * Drop extensions prefix from cli create * Drop name requirement from cli add * Drop extensions name regex checks * Don't rely on regex for extension identification * Add changeset * Fix build for @directus/extensions * Don't ensure nested dirs * Load npm dependency by name prefix * Throw more helpful error when pkg json is missing * Fix dependency loading paths * Only load local extensions if extensions path exists * Fix merge conflict * Remove unused fs-extra * Only sync extensions if location is defined * `extensions` -> `localExtensions` * Fix resolving of package extensions - consistent usage of term "package extensions" - enhance error messages * Fix syncing extension from storage * Revert-revert change from #20627 --------- Co-authored-by: ian <licitdev@gmail.com> Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * Add back `MIGRATIONS_PATH` to `@directus/env` (#21053) * Setup browse endpoint for browsing Directus extensions (#21033) * Rename tag directus-custom to directus-extension * Devil's in the details * [WIP] Start on search lib * Setup extensions-registry package * Update pnpm lock * Move registry search fn to new package * Squash bugs * Remove unused deps * Remove unused dep in `extensions` * Add tests for validate-limit * Finish test coverage * Remove unused constant * Add back lodash-es 😇 * Install extensions-registry * Add default keywords * Expose registry endpoint in rest api * Add describe module * Reinstal pnpm * Drop reliance on author field The problem is that there's no requirement for it to be a valid(ated) user. Publisher is the only field we can rely on being an existing NPM user. * Update convertSearchResult test after author change * Format * Allow anything after the route To support packages with scopes * Add test for describe * Add more tests * Throw unprocessablecontenterror instead of error * Install errors pkg * Finish test coverage * Don't require description * Don't wrap individual keywords * Run formatter * Add changeset * Update packages/extensions-registry/src/modules/search/utils/validate-text.ts Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * Return sandbox information * Drop support for directus-custom keyword * Set type to null for multiple tags * Restart api for new registry * Add version utility * Add out-of-date error * Add assertion for api versions * Finish new list method * Add describe * Use updated registry functions * Fix controller usage * Return output in data flag to be consistent * Add tests for the describe module * Add tests for list module * Finish tests for extensions-registry package * Remove vscode shenanigans --------- Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * Project Forum: Browse UX (#21276) * Render marketplace route in-app * Update api list integration * Add support for limit/offset in list * Boilerplate route for drawer * Render extension readme in drawer * Render extension detail as separate page * Setup markup for extension banner * Render readme with markdown styling * Boilerplate metadata block * Use v-list for extension metadata metrics * Render compatibility metric * Show downloads and publish date * Refactor to individual files * Fix missing import * Add size metric * Show author on metadat * Show verified badge * Finish metadata * Run formatter * Style forum detail banner (#21290) * Style banner contents * Add background art * Add banner styles to default dark mode theme * Undo base style change to avoid conflict * Add beta chip badge to settings nav (#21296) * Add layout styling for detail page (#21297) * Render metadata as grid if size allows * Finish layout for detail page * Fix alignment of count * Fix search-input active state * Finalize forum header * Add marketplace banner * Style registry filter * Change v-list-item height to min-height Allows rows for forum registry to grow * Finalize styling for extension list item * Finalize styling for registry * Don't rely on format util * Forum account detail page (#21299) * Add support for author describe endpoint * Boilerplate author page * Add author endpoint * Update naming to account * Render github name on registry list * Render user's name + avatar on detail * Load account data on account page * Restructure module * Render account banner on account page * Render account metadata * Finish account detail page * Run formatter * Add sidebar info detail sections * install extensions from registry (#21070) * added an endpoint to install extensions from registries * add changeset * Revert format/lint scripts * Update pnpm-lock * Remove unused dependency * Add download module to extensions-registry abstraction * Download from extension registry instead of direct npm * Throw on error * Install based on version ID rather than name * Install based on ID in body Allows us to extend it in the future if need be * Download to tmp path instead of extensions * Save to extensions manager flattened * Use const for package folder name * Run more in try/catch to avoid server exit * Remove changeset * Undo docs updates We'll do all docs in a single PR :) --------- Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com> * Manage extensions by directus_extensions primary key instead of npm package name (#21300) * Add marketplace migration * Include bundle info * Rename name to folder * Store name as folder * [WIP] Change name to ID * Update API to use UUIDs for extensions * Update app to use extensions id * Run formatter * Add changeset * Update generate-app-entrypoint to use updated format * Fix graphql usage * Format * Add forum uninstall endpoint (#21301) * Bootstrap uninstall * Finish uninstall endpoint * Use shared extensions store state for managing extensions in settings (#21317) * Use extensionsstore for extensions management * Use shared store for extensions state and modification * Remove unused emit * Adds install/uninstall GUI elements for project forum (#21319) * Use warning color for incompatible * Styling tweaks * Transition optional background color * Add keys for installing * Add install button to extension detail * Finish install button * Add uninstall option to extensions item * Empty local cached extensions on start * Add (hopefully) temporary hack to await reload * Add install / uninstall buttons * Update lockfile * Fix bundle entries not rendering properly * Clean up spinner styling * Properly wait for reload to be done * Run formatter * Fix registry name * Fix local extension loading * Render location/company in byline * Rearchitect metadata to unstyled listitems * Add max-width to page container * Only allow admins to install/uninstall extensions * Remove unused link * Disable eslint for map use * Run formatter * Add no-results indicator (#21389) * Add no-results indicator * add error state as well * Standardize trailing slash * Standardize pk check * Resolve unnecessary check * Move all deps to dev deps in app * Optimize exec order * Pull data from top level package * Redesign filter bar * Reset page count on filter change * Use default padding on top of page Feels weird now, but there's a theme-update coming that'll make this make sense :) * Show first/last in pagination * Auto-format package name * Use updated registry api return names * Add sorting by total downloads * Add sparkline for downloads * Add a bit of padding * Finalize sparkline styling * Run formatterg * Add sandbox flag in list call * Add MARKETPLACE_TRUST env var * Set sandbox requirement on download * Render list item badge * Fix padding * Show license in gui * Add support for multiple maintainers * Add activity tracking for install * Make incompatibility notice friendlier * Tweak margin of sparkline * Update default CSP headers to include github content * Make extension readme selectable * Consistent icon, add tooltips * Reduce size of install button * Run formatter * Render readme anchors with target blank * Add min width to v-select components * Fix background on search input * Reduce padding on marketplace pages * Fix showing no results * Be consistent * Render type filter menu in full height * Clean up compatibility notice * Hide count result when search count is 0 * Use v-show instead * Bump no results notice down a bit * Cleanup size of install buttons * Use buttons for install / author * Fix sparkline rendering * Add better loading state for extension detail page * Add spinners * Render proper error message in case readme is missing * Use heart logo for marketplace * Add image border shadow * Add loading banner on account page * Show reload warning as persistent notification * Only show one notification * Update snapshot * Add padding to verified icon * Base extensions id on package id, show installed badge * Sync pagination / search / filter with URL Special shoutout to Tim * Next max ext (#21541) * Add limit exceeded error * Add limit exceeded translation * Add extensions_limit env var * Load extensions limit in app * Don't allow installing unknown versions * Don't require installed flag * Return bundled entries in describe * Update chip to match style * Prevent install on limit reached * Run formatter * Fix bundle loading * Resolve npm extensions by package manifest (#21478) * Merge main into next (#21669) * Clean-up deps * Don't export type (as long as not used anywhere) * Update semver to latest * Relax compatibility notice * Use more suitable icon for version * Re-render download charts on color-scheme change * Link extensions to marketplace --------- Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com> Co-authored-by: ian <licitdev@gmail.com> Co-authored-by: Mahendra Kumar <22556323+mahendraHegde@users.noreply.github.com> |
||
|
|
45f203afb4 | Export type RegisterFunctions (#21441) | ||
|
|
b189fd4594 |
Add enable/disable support for bundle type extensions (#20940)
* Add enable/disable support for bundle type extensions * added changeset * Update app/src/modules/settings/routes/extensions/components/extension-item.vue Co-authored-by: Brainslug <br41nslug@users.noreply.github.com> * add docs * bundle with app extensions should display reload on prod * use early returns for toggle logic Co-Authored-By: Brainslug <br41nslug@users.noreply.github.com> * add enable/disable all for partially enabled * refresh message should work for enable and disable all * Clearer tooltip for app extensions in dev --------- Co-authored-by: Brainslug <br41nslug@users.noreply.github.com> Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> |
||
|
|
b576c6e5e0 |
Fixes enabling/disabling extensions (#20677)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> |
||
|
|
9769c10a2e |
do not remove custom devDependencies on bundle add (#20750)
Co-authored-by: Pascal Jufer <5363448+paescuj@users.noreply.github.com> |
||
|
|
f39e40dfd1 | Add missing translation strings, type & icon for theme extensions (#20644) | ||
|
|
ba7fac402e | Update Prettier v3.1.0 (#20481) | ||
|
|
8d8b649a1f |
Theming various (#20426)
* Update the minimal theme * Remove unused files * Remove unused default dark theme * Fix type error * Fix the order of themes in the picker interface * Fix account/sign-out not using module foreground color * Fix module bar interface styling * Update system match label * Use half width for default appearance * Fix preview changed based on appearance * Add includeNull option to theme selector interface * Add minimal theme extension docs * Attempt to make typedoc play nice * Remove module bar color override * Add snippet on overrides interface * Deprecate "normal" style v-notice * System filter interface background * Add menu scope * Use colors consistent with interface previews * Remove card-face-color usage * Use consistent hover style in collections & fields * Deprecate card-face-color * Remove old --card vars * Fix revisions divider styling * Remove duplicate background from overview header * Fix permissions overview corner overlap * Make form input height configurable * Allow overriding public form input height * Rename text string * updated data model icon * Standardize form settings between scopes * Allow overriding sidebar forms * Add configurable form gap * Add configurable input-padding * Fix list-item padding * Fix padding in block style * Add links to defaults * Apply color match updates * Default to database icon * Fix schaling of theme selector interface * Fix font loading * Fetch font weights from Google as well * Use display weight in titles * Fix color match display font * Clean up font weights for labels * Update test to remove normal state * Remove typo * Add lowercase dev * Add changeset * Remove font-weight --------- Co-authored-by: Ben Haynes <ben@rngr.org> |
||
|
|
5f899012c7 |
Make themes an extension type (#20423)
* Enable theme fields * Start adding more default themes * WIP add theme selector interface * Restructure, add rules-to-vars util * Render used vars in local overrides * Use local theme vars in theme preview * Render theme option full-width * Add more test colors * Only override used variables * Fix rendering bugs in preview * Remove test theme * Add small border to preview * Add organic theme * Add changeset * Don't crash color interface on complex input bg * Use themable color for disabled input * Use nav-sidebar theme in v-drawer * Use border width from the theme in panels * Use theme border width for panel borders * Use page background for panel edit buttons * Fix Active state forselected panel * Don't use primary for logout hover state * Fix background color of item duplication fields * Use form border/background in v-list block * Use theme border width in hardcoded 2px sections * fix chip padding * Rename background-page to background, rename background to background-normal * Fix search input styling * Tweak search input themability * update icons * Add border on sidebar section content * Add color match, start on minimal * Organize import * Adjust spacing * Don't require all rules in TS * Rename theme files * Add template for theme * Import directly from util to prevent circular * Register custom themes on app load * Ignore stylesheet files * Ignore svg as well * Add changeset * Update test snapshots --------- Co-authored-by: Ben Haynes <ben@rngr.org> Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> |
||
|
|
fd6eff4a5a |
Show package version if available (#20303)
* Show package version if available * Create nice-bottles-flow.md * Colorize state chip --------- Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> |
||
|
|
f61f2b7ef1 |
Fix duplicate local extension name collision (#20221)
* Fix duplicate local extension name collision Fixes #20213 * Add changeset |
||
|
|
715388da9b |
Extensions fixed hook filter generic type (#20219)
* Fixed hook filter generic type * Create angry-crabs-cover.md * applied generic type in Filter Hook type |
||
|
|
441b062ccc | Require scope for log / sleep (#20115) | ||
|
|
5a1f8874bd |
Tweak secure extensions (#20113)
* Catch errors thrown in router callback * Resolve virtual modules from directus: ns * Use headers as string-string record * Add sandbox types * Ship sandbox types * Fix copy/paste error in operation registration * Update pnpm lock for good measure * Use asyncHandler |
||
|
|
76f60913e3 |
Secure Extensions (#20031)
* start setting up types * Add types for sandbox flag * Add initial secure API extensions implementation * Remove erroneous file * Delete old exec implementation * Read sandbox from extension manifest * Rename \0virtual to @directus/virtual-ent4y * Test register exec * Add exec function using ivm callback * Throw error on invalid type * Make extensions individually unregisterable * Remove support for secure bundle extensions * Rework context passing to fix async * Remove unused promise.resolve * Start implementing secure extension register and context functions * Rename secure to sandbox * Only dispose isolate on catastrophic error * Use callback copy option instead of explicit ExternalCopy * Add registerOperation handler * Add registerRoute handler * Rename some return values * Rename sandbox registration file * Expose utils through sdk import * Remove unused files * Rename timeout to sleep for consistency with flows * Make registerRoute method uppercase * Add request util * Abort process on catastrophic error * Update api extension sdk import name * Add variables for reference parameters for consistency * Add permissions to request util * Fix non-determinism when registering sandboxed extensions * Improve stack trace readability * Initialize isolated-vm for Vitest * Format files * Fix request options undefined check * Always copy host function result into isolate * Split up host function reference generation * Add workaround for async error from host not thrown in isolate * Use undefined instead of null as first argument to apply * Abort process if sandbox has reached memory limit * Reorganize files * Use type error for assertion * Use typeerrors in sdk generators, restructure some more * Document * Add changeset --------- Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de> Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> |
||
|
|
42d4f2d56a |
Merge next into main (#20107)
* Content Versioning (#19463)
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
* Update clean-berries-do.md
* Prerelease mode
* v10.7.0-beta.0
* Ignore format of auto-generated pre.json file
* Update naming conventions for Content Versioning (#19678)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Content versioning tweaks (#19700)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Add additional system fields to Content Versioning & include preview in promote drawer (#19752)
* Use key instead of name for Content Versioning (#19813)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Reorder component tags
* Prompt user to keep or delete the version before promoting (#19829)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Fix multiple constraints to users system table from versions system table for MSSQL (#19912)
* fix multiple constraints from versions to users
* fix users unit test
* Add Sorting by Aggregated Queries (#19568)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Update API References for Content Versioning (#19911)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Add version argument in GraphQL (#19910)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Merge branch 'main' into next (#19974)
* Show installed extensions in settings pane (#19964)
* Setup boilerplate for extensions page
* Allow reading all extensions from the root endpoint
* Add basic sidebar info detail
* Render list of extensions
* Move extensions manager to folder
* Move stuff related to extensions to @directus/extensions
* Import extensions utils/types/etc from ext. package
* Resolve last imports
* Add no-extensions warning
* Start on extensions grouped
* Remove string type
* Improve naming conventions
* Couple more optimizations
* Add more structure
* Add comments
we finally understand how this works! hehe
* Remove constructor in favor of static set
* Add more comments
* Don't filter in get-extensions
TBD if this will break things horrendously
* Sprinkle on better names / comments
* Render by section, nested bundled extensions
* Fix typo
* Live-saving tip from the formatter
* Don't know where this came frmo
* Add a changeset
* 📈 Insights QoL Part 1 (#19467)
* Start adding Create Default Modal
* Add Metric List
* Number Formatter Utility
* Start on Label Formatting Options and Resizing
* Update Metric List to use New Number Formatter
* fix auto fit and styling
* fix typings for number formatter and error catching
* add conditional formatting to metric list
* Add Number Formatting to Metrics and Size Formats
* Add Option to Hide Percentage and Fix Sizing of Meter
* Add manual sizing for labels
* Add translation strings
* Add comments to insights
* Fix color errors and add icon
* update translations
* Refine Linechart
* Revert "Start adding Create Default Modal"
This reverts commit
|