mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
Add create command to extension-sdk CLI (#6590)
* Add create command to extension-sdk CLI * Extract extension package.json key name to shared * Check package.json before building extensions * Add source field to package.json * Pin extension-sdk verson in scaffolded package * Change options color to magenta
This commit is contained in:
committed by
GitHub
parent
e7a737bba8
commit
ff393eab3b
@@ -7,3 +7,5 @@ export const API_EXTENSION_TYPES: ApiExtensionType[] = ['endpoint', 'hook'];
|
||||
export const EXTENSION_TYPES: ExtensionType[] = [...APP_EXTENSION_TYPES, ...API_EXTENSION_TYPES];
|
||||
|
||||
export const EXTENSION_NAME_REGEX = /^(?:(?:@[^/]+\/)?directus-extension-|@directus\/extension-).+$/;
|
||||
|
||||
export const EXTENSION_PKG_KEY = 'directus:extension';
|
||||
|
||||
@@ -3,7 +3,7 @@ import fse from 'fs-extra';
|
||||
import { Extension } from '../types';
|
||||
import { resolvePackage } from './resolve-package';
|
||||
import { listFolders } from './list-folders';
|
||||
import { EXTENSION_NAME_REGEX, EXTENSION_TYPES } from '../constants';
|
||||
import { EXTENSION_NAME_REGEX, EXTENSION_PKG_KEY, EXTENSION_TYPES } from '../constants';
|
||||
import { pluralize } from './pluralize';
|
||||
|
||||
export async function getPackageExtensions(root: string): Promise<Extension[]> {
|
||||
@@ -19,7 +19,7 @@ export async function getPackageExtensions(root: string): Promise<Extension[]> {
|
||||
const extensionPath = resolvePackage(extensionName, root);
|
||||
const extensionPkg = await fse.readJSON(path.join(extensionPath, 'package.json'));
|
||||
|
||||
if (extensionPkg['directus:extension'].type === 'pack') {
|
||||
if (extensionPkg[EXTENSION_PKG_KEY].type === 'pack') {
|
||||
const extensionChildren = Object.keys(extensionPkg.dependencies).filter((dep) =>
|
||||
EXTENSION_NAME_REGEX.test(dep)
|
||||
);
|
||||
@@ -28,8 +28,8 @@ export async function getPackageExtensions(root: string): Promise<Extension[]> {
|
||||
path: extensionPath,
|
||||
name: extensionName,
|
||||
version: extensionPkg.version,
|
||||
type: extensionPkg['directus:extension'].type,
|
||||
host: extensionPkg['directus:extension'].host,
|
||||
type: extensionPkg[EXTENSION_PKG_KEY].type,
|
||||
host: extensionPkg[EXTENSION_PKG_KEY].host,
|
||||
children: extensionChildren,
|
||||
local: false,
|
||||
root: root === undefined,
|
||||
@@ -42,9 +42,9 @@ export async function getPackageExtensions(root: string): Promise<Extension[]> {
|
||||
path: extensionPath,
|
||||
name: extensionName,
|
||||
version: extensionPkg.version,
|
||||
type: extensionPkg['directus:extension'].type,
|
||||
entrypoint: extensionPkg['directus:extension'].path,
|
||||
host: extensionPkg['directus:extension'].host,
|
||||
type: extensionPkg[EXTENSION_PKG_KEY].type,
|
||||
entrypoint: extensionPkg[EXTENSION_PKG_KEY].path,
|
||||
host: extensionPkg[EXTENSION_PKG_KEY].host,
|
||||
local: false,
|
||||
root: root === undefined,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user