feat: cli增加前端插件模板

pull/56/head
moonrailgun 2 years ago
parent e90cc6bc3b
commit c63ad3735c

@ -0,0 +1,9 @@
{
"label": "{{name}}",
"name": "{{id}}",
"url": "/plugins/{{id}}/index.js",
"version": "0.0.0",
"author": "{{author}}",
"description": "{{desc}}",
"requireRestart": true
}

@ -0,0 +1,14 @@
{
"name": "@plugins/{{id}}",
"main": "src/index.tsx",
"version": "0.0.0",
"description": "{{desc}}",
"private": true,
"scripts": {
"sync:declaration": "tailchat declaration github"
},
"dependencies": {},
"devDependencies": {
"react": "18.2.0"
}
}

@ -0,0 +1 @@
console.log('Plugin {{name}} is loaded');

@ -0,0 +1,7 @@
{
"compilerOptions": {
"esModuleInterop": true,
"jsx": "react",
"importsNotUsedAsValues": "error"
}
}

@ -0,0 +1,2 @@
declare module '@capital/common';
declare module '@capital/component';

@ -18,6 +18,15 @@ module.exports = function (
return upperFirst(pickPluginName(text));
});
const namePrompts = [
{
type: 'input',
name: 'name',
require: true,
message: '插件名称',
}
]
const serverPrompts = [
{
type: 'input',
@ -40,6 +49,27 @@ module.exports = function (
},
];
// 服务端插件的前端模板代码
plop.setGenerator('client-plugin', {
description: '纯前端插件的模板代码',
prompts: [
...namePrompts,
...serverPrompts,
],
actions: [
{
type: 'addMany',
destination: path.resolve(process.cwd(), './plugins'),
base: './client-plugin',
templateFiles: [
'./client-plugin/**/*',
],
skipIfExists: true,
globOptions: {},
},
],
});
// 服务端插件的前端模板代码
plop.setGenerator('server-plugin', {
description: '服务端插件模板代码',
@ -60,12 +90,7 @@ module.exports = function (
plop.setGenerator('server-plugin-web', {
description: '服务端插件的前端模板代码',
prompts: [
{
type: 'input',
name: 'name',
require: true,
message: '插件名称',
},
...namePrompts,
...serverPrompts,
],
actions: [
@ -87,12 +112,7 @@ module.exports = function (
plop.setGenerator('server-plugin-full', {
description: '服务端插件的完整模板代码',
prompts: [
{
type: 'input',
name: 'name',
require: true,
message: '插件名称',
},
...namePrompts,
...serverPrompts,
],
actions: [

Loading…
Cancel
Save