# plugin-lifecycle 规范
定义插件从创建、打包、安装、删除到单插件构建的整个生命周期,包括插件元数据如何影响最终交付产物。
pluginMaker/index.cjs 的 create、package、install、remove 命令config.require 对单插件构建结果的影响pluginMaker/index.cjs.fes.predev.one.jssrc/common/copySelectedPublicDirsPlugin.jssrc/common/utils.js.env.predev.onepackage.json插件生命周期命令 SHALL 同时面向源码目录与公共资源目录这两个命名空间工作。create、package、install、remove 都属于正式生命周期命令集合。
node pluginMaker/index.cjs package <plugin>src/plugins/<plugin> 为源码边界进行打包public/plugins/<plugin>,也 SHALL 一并纳入包内容node pluginMaker/index.cjs install <plugin>pluginMaker/install/<plugin>.zip 存在插件生命周期 ZIP 包 SHALL 保持 src/plugins/<plugin> 与可选 public/plugins/<plugin> 这两组正式相对路径。install 命令 SHALL 依赖这组路径直接解压到仓库根目录,而不是在安装时做额外路径重映射。
node pluginMaker/index.cjs install <plugin>template.zip 生成的内容 SHALL 被视为插件初始化便利工具,而不是插件最终结构的全部规范来源。正式插件结构与约束应以 plugin-system 规范为准;脚手架只负责快速起步。
node pluginMaker/index.cjs create <plugin>create 命令 SHALL 初始化 src/plugins/<plugin> 下的源码模板,并创建 public/plugins/<plugin>/preview 预览资源目录。该命令可以做插件名与日期等基础替换,但 SHALL 不被视为已经完成业务级插件设计。
node pluginMaker/index.cjs create <plugin>config.js、页面实现与预览资源单插件构建流程 SHALL 保留目标插件及其显式声明的依赖插件。其资源保留范围以目标插件名和 config.require 为准,而不是全量复制所有插件公共资源。
FES_APP_PLSNAME 指定config.require 中声明的依赖插件资源带破坏性的 remove 命令 SHALL 继续被视为插件生命周期规范的一部分,而不是拆到独立运维规范。由于其会删除源码与公共资源目录,维护者 SHALL 仅在显式确认删除时使用该命令。
node pluginMaker/index.cjs remove <plugin>src/plugins/<plugin> 与 public/plugins/<plugin> 中存在的对应目录