mirror of
https://github.com/directus/directus.git
synced 2026-01-24 14:37:58 -05:00
* Refactor storage logic to testable setup * Add tests to get storage config * Add tests for register drivers * Tests for index * Organize imports * Add missing getStorage * Setup boilerplate for cloudinary drive * Add build script * Add cloudinary configuration * WIP tweaks for R&D * Start storage abstraction v2 * Make storage manager single file * Add test coverage * Organize imports * Setup local driver boilerplate * [WIP] Start on local driver 2.0 * Add more methods * Lunchtime * Add put method * Add list method * [WIP] Try using storage in api * Use node16 module-resolution * Lets not mess with apply-query rn * I love CJS. Death to CJS. * Use dynamic imports * Make things work * Add path normalizer * Add azure storage driver * Update lock * Start on tests * Add getBuffer test * Add getStat tests * Add tests for exists * Add tests for move * Add tests for copy * Add tests for put * Add tests for delete * Add test coverage for list * Add removeLeading option to normalizePath * Use removeLeading option * Start on gcs * Add fullpath test * Add getStream * Add getBuffer * Add getStat * Add exists * Add move * Add copy * Add put * Add delete * Finish DriverGCS * Cleanup tests a bit * Start s3 * Add getStream * Add getBuffer * Please Wryn * Add #exists * Use randomize data * No more hardcoded values 🙅♀️ * Add tests for copy * Add tests for put * Add put/copy/delete * Add tests for delete * WIP list * Remove duplicate fullPath check * Finish AWS tests * Listen to wryn * Mission critical tweak * Add randomization, cleanup tests * Check src vs dest full path * Start on Cloudinary * Add parameter signature helper * Fix ESM building of shared * Fix ESM building of shared * Improve tests * Update pnpm * Remove old build commands * Generated d.ts files * Fix export naming * Move ESM only utils to new @directus/utils * Update lockfile * Fix type exports * Implement getStream * Cleanup tests * Simplify api * Simplify API * Simplify api * Simplify API * Add read/stat * Cleanup / add exists * Add move * Add write * Move uploadChunk to separate method * Add test for #uploadChunk * Add tests for write * Add copy * Add delete * Add list * Add list error handling * Remove old drive packages * Start updating API usage of storage * Use Readable instead of NodeJS.ReadableStream * Use readable instead of buffer * Restore shared to main * Update lockfile * Use a streaming pipeline for sharp metadata * Add basic e2e test for local upload and delete * Fix integer filesize in SQLite * fixed environment mocking in unit tests * applied the same env mocking to other tests * Update api/src/storage/register-drivers.ts Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * Use sha256 by default * Add base read test for /assets * Replace exifr with exif-reader * Fix tests for storage/index * Install faking lib for tests * Add test for register-drivers * Add tests for register-locations * Finish tests * Organize imports * Resolve Azris comments * Fix outdated tests Certainly not the cleanest, but I need to do a bigger pass on all these tests to get them up to date with the latest team requirements. Gonna do that in a separate PR.. * Test for sha256 * Attempt 1 at fixing toString errorr I'm not seeing this issue locally, so we'll spam a couple commits here to get things going * Use node 18 in tests?! * Fix localhost resolution with 127.0.0.1 * Mock getEnv() * Use @directus/tsconfig instead of duplicated conf * Does this fix it? * OK fun detour * Recreate lockfile * Update config files * Use multipart uploads in S3 * Cleanup imports * File Storage 2.0: Make metadata extraction backward-compatible (#16868) * Reinstall packages using pnpm instead of manually removing them (#16871) * Added extra environment setting for sharp processing of invalid images (#16811) * Added extra environment setting for sharp processing of invalid images * renamed environment var to `ASSETS_INVALID_IMAGE_SENSITIVITY_LEVEL` * Remove unused excludes from tsconfig * Remove copy/paste leftover * Update packages/utils/readme.md Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * Update packages/utils/package.json Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> Co-authored-by: ian <licitdev@gmail.com> Co-authored-by: Brainslug <tim@brainslug.nl> Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
232 lines
5.8 KiB
JSON
232 lines
5.8 KiB
JSON
{
|
|
"name": "directus",
|
|
"version": "9.21.2",
|
|
"description": "Directus is a real-time API and App dashboard for managing SQL database content",
|
|
"keywords": [
|
|
"directus",
|
|
"realtime",
|
|
"database",
|
|
"content",
|
|
"api",
|
|
"rest",
|
|
"graphql",
|
|
"app",
|
|
"dashboard",
|
|
"headless",
|
|
"cms",
|
|
"mysql",
|
|
"postgresql",
|
|
"cockroachdb",
|
|
"sqlite",
|
|
"framework",
|
|
"vue"
|
|
],
|
|
"homepage": "https://directus.io",
|
|
"bugs": {
|
|
"url": "https://github.com/directus/directus/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/directus/directus.git",
|
|
"directory": "api"
|
|
},
|
|
"funding": "https://github.com/directus/directus?sponsor=1",
|
|
"license": "GPL-3.0-only",
|
|
"author": {
|
|
"name": "Monospace Inc",
|
|
"email": "info@monospace.io",
|
|
"url": "https://monospace.io"
|
|
},
|
|
"maintainers": [
|
|
{
|
|
"name": "Rijk van Zanten",
|
|
"email": "rijkvanzanten@me.com",
|
|
"url": "https://github.com/rijkvanzanten"
|
|
},
|
|
{
|
|
"name": "Ben Haynes",
|
|
"email": "ben@rngr.org",
|
|
"url": "https://github.com/benhaynes"
|
|
}
|
|
],
|
|
"exports": {
|
|
".": "./dist/index.js",
|
|
"./*": "./dist/*.js",
|
|
"./package.json": "./package.json"
|
|
},
|
|
"main": "dist/index.js",
|
|
"bin": {
|
|
"directus": "cli.js"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"!**/*.test.js",
|
|
"!**/__*__/"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc --build && copyfiles \"src/**/*.{yaml,liquid}\" -u 1 dist",
|
|
"cli": "NODE_ENV=development SERVE_APP=false ts-node --script-mode --transpile-only src/cli/run.ts",
|
|
"dev": "NODE_ENV=development SERVE_APP=false ts-node-dev --files --transpile-only --respawn --watch \".env\" --inspect=0 --exit-child -- src/start.ts",
|
|
"start": "npx directus start",
|
|
"test": "vitest run",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:watch": "vitest"
|
|
},
|
|
"dependencies": {
|
|
"@authenio/samlify-node-xmllint": "2.0.0",
|
|
"@aws-sdk/client-ses": "3.211.0",
|
|
"@directus/app": "workspace:*",
|
|
"@directus/extensions-sdk": "workspace:*",
|
|
"@directus/format-title": "9.15.0",
|
|
"@directus/schema": "workspace:*",
|
|
"@directus/shared": "workspace:*",
|
|
"@directus/specs": "workspace:*",
|
|
"@directus/storage": "workspace:*",
|
|
"@directus/storage-driver-azure": "workspace:*",
|
|
"@directus/storage-driver-cloudinary": "workspace:*",
|
|
"@directus/storage-driver-gcs": "workspace:*",
|
|
"@directus/storage-driver-local": "workspace:*",
|
|
"@directus/storage-driver-s3": "workspace:*",
|
|
"@godaddy/terminus": "4.11.2",
|
|
"@rollup/plugin-alias": "4.0.2",
|
|
"@rollup/plugin-virtual": "3.0.1",
|
|
"argon2": "0.30.2",
|
|
"async": "3.2.4",
|
|
"async-mutex": "0.4.0",
|
|
"axios": "1.1.3",
|
|
"busboy": "1.6.0",
|
|
"bytes": "3.1.2",
|
|
"camelcase": "6.3.0",
|
|
"chalk": "4.1.1",
|
|
"chokidar": "3.5.3",
|
|
"commander": "9.4.1",
|
|
"cookie-parser": "1.4.6",
|
|
"cors": "2.8.5",
|
|
"csv-parser": "3.0.0",
|
|
"date-fns": "2.29.3",
|
|
"deep-diff": "1.0.2",
|
|
"destroy": "1.2.0",
|
|
"dotenv": "16.0.3",
|
|
"encodeurl": "1.0.2",
|
|
"eventemitter2": "6.4.9",
|
|
"execa": "5.1.1",
|
|
"exif-reader": "1.0.3",
|
|
"express": "4.18.2",
|
|
"fast-redact": "3.1.2",
|
|
"flat": "5.0.2",
|
|
"fs-extra": "10.1.0",
|
|
"globby": "11.0.4",
|
|
"graphql": "16.6.0",
|
|
"graphql-compose": "9.0.10",
|
|
"helmet": "6.0.0",
|
|
"icc": "2.0.0",
|
|
"inquirer": "8.2.4",
|
|
"ioredis": "5.2.4",
|
|
"joi": "17.7.0",
|
|
"js-yaml": "4.1.0",
|
|
"js2xmlparser": "5.0.0",
|
|
"json2csv": "5.0.7",
|
|
"jsonwebtoken": "8.5.1",
|
|
"keyv": "4.5.2",
|
|
"knex": "2.3.0",
|
|
"knex-schema-inspector": "3.0.0",
|
|
"ldapjs": "2.3.3",
|
|
"liquidjs": "9.42.1",
|
|
"lodash": "4.17.21",
|
|
"marked": "4.2.2",
|
|
"micromustache": "8.0.3",
|
|
"mime-types": "2.1.35",
|
|
"ms": "2.1.3",
|
|
"nanoid": "3.1.23",
|
|
"node-cron": "3.0.2",
|
|
"node-machine-id": "1.1.12",
|
|
"nodemailer": "6.8.0",
|
|
"object-hash": "3.0.0",
|
|
"openapi3-ts": "3.1.1",
|
|
"openid-client": "5.3.0",
|
|
"ora": "5.4.0",
|
|
"otplib": "12.0.1",
|
|
"pino": "8.7.0",
|
|
"pino-http": "8.2.1",
|
|
"pino-http-print": "3.1.0",
|
|
"pino-pretty": "9.1.1",
|
|
"qs": "6.11.0",
|
|
"rate-limiter-flexible": "2.4.1",
|
|
"rollup": "3.3.0",
|
|
"samlify": "2.8.7",
|
|
"sanitize-html": "2.7.3",
|
|
"sharp": "0.31.2",
|
|
"snappy": "7.2.2",
|
|
"stream-json": "1.7.4",
|
|
"strip-bom-stream": "4.0.0",
|
|
"tmp-promise": "3.0.3",
|
|
"update-check": "1.5.4",
|
|
"uuid": "9.0.0",
|
|
"uuid-validate": "0.0.3",
|
|
"vm2": "3.9.11",
|
|
"wellknown": "0.5.0"
|
|
},
|
|
"devDependencies": {
|
|
"@ngneat/falso": "6.3.0",
|
|
"@types/async": "3.2.15",
|
|
"@types/busboy": "1.5.0",
|
|
"@types/bytes": "3.1.1",
|
|
"@types/cookie-parser": "1.4.3",
|
|
"@types/cors": "2.8.12",
|
|
"@types/deep-diff": "1.0.1",
|
|
"@types/destroy": "1.0.0",
|
|
"@types/encodeurl": "1.0.0",
|
|
"@types/exif-reader": "1.0.0",
|
|
"@types/express": "4.17.14",
|
|
"@types/express-serve-static-core": "4.17.31",
|
|
"@types/fast-redact": "3.0.2",
|
|
"@types/flat": "5.0.2",
|
|
"@types/fs-extra": "9.0.13",
|
|
"@types/inquirer": "8.2.1",
|
|
"@types/js-yaml": "4.0.5",
|
|
"@types/json2csv": "5.0.3",
|
|
"@types/jsonwebtoken": "8.5.9",
|
|
"@types/keyv": "3.1.4",
|
|
"@types/ldapjs": "2.2.5",
|
|
"@types/lodash": "4.14.189",
|
|
"@types/marked": "4.0.7",
|
|
"@types/mime-types": "2.1.1",
|
|
"@types/ms": "0.7.31",
|
|
"@types/node": "18.11.9",
|
|
"@types/node-cron": "3.0.6",
|
|
"@types/nodemailer": "6.4.6",
|
|
"@types/object-hash": "2.2.1",
|
|
"@types/pino": "7.0.4",
|
|
"@types/pino-http": "5.8.1",
|
|
"@types/qs": "6.9.7",
|
|
"@types/sanitize-html": "2.6.2",
|
|
"@types/sharp": "0.31.0",
|
|
"@types/stream-json": "1.7.2",
|
|
"@types/uuid": "8.3.4",
|
|
"@types/uuid-validate": "0.0.1",
|
|
"@types/wellknown": "0.5.4",
|
|
"@vitest/coverage-c8": "0.25.2",
|
|
"copyfiles": "2.4.1",
|
|
"form-data": "4.0.0",
|
|
"knex-mock-client": "1.8.4",
|
|
"ts-node": "10.9.1",
|
|
"ts-node-dev": "2.0.0",
|
|
"typescript": "4.9.3",
|
|
"vitest": "0.25.2"
|
|
},
|
|
"optionalDependencies": {
|
|
"@keyv/redis": "2.5.3",
|
|
"keyv-memcache": "1.2.5",
|
|
"memcached": "2.2.2",
|
|
"mysql": "2.18.1",
|
|
"nodemailer-mailgun-transport": "2.1.5",
|
|
"nodemailer-sendgrid": "1.0.3",
|
|
"pg": "8.8.0",
|
|
"sqlite3": "5.1.2",
|
|
"tedious": "15.1.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=12.20.0"
|
|
}
|
|
}
|