.malagu
-m http
模式激活malagu rollout
"keywords": ["sample-component"]
,则组件配置文件名称可以为:sample.yml
,模式配置文件为:sample-[mode].yml
packager: pnpm
属性不生效decorate(Unmanaged(), Widget, 0)
malagu:
mvc:
jsonView:
errorHandler:
enabled: true
priority: 2000
template: |
{
"message": "{{error}}",
"success": {{success}},
"data": {{model}}
}
/health
查看所有健康指标,/health/xxx
查看名称为 xxx 的健康指标,开发者也可以通过 HealthIndicator 接口注册自定义健康指标@malagu/node-runtime-plugin
onTarget
和 onMode
,例如 foo: ${ 'bar' | onTarget('backend') }
表示当作为后端属性时,foo 属性的值才是 bar
schedule
No context available. ns.run() or ns.bind() must be called first
jwt-app
模板的 ErrorHandler 不生效问题jwt-app
@malagu/jwt
sample-app
public
目录entry: EMPTY
,或者通过模式指定 -m empty-entry
next.config.mjs
配置文件entry: EMPTY_ENTRY
,或者通过模式指定 -m empty-entry
malagu-fc.yml
文件不存在问题malagu-component clean
命令报错better-sqlite3
排除.env
处理策略@malagu/testing
, 方便实现 e2e 测试backend-app
模板添加集成测试代码示例@malagu/elasticsearch
malagu-component
,方便开发者快速开发 Malagu 组件@malagu/ext-scripts
改名为 @malagu/component
withoutCodeLimit
,默认为 true,函数代码体积无限制globalThis
为 currentThis
@All
装饰器projectPath
属性时,框架无法正确匹配bot-config.json
中的 secret
属性mycli
模板malagu info
命令打印随机域名s3://bucket/key?region=xxx&version=1
,其中 key 支持多级路径,region 和 version 可选@malagu/qq-guild-bot-adapter
和 @malagu/next-plugin
standalone-app
,如何在不适用命令行工具的情况下,集成框架能力Application
添加 stop
方法malagu --skip-auto-install
:跳过自动按需安装运行时组件过程malagu.cloud.function.sync=onlyUpdateCode
只更新函数代码,而不更新函数配置--props-file
选项是报 mode 相关的错误configurations is not iterable
错误source-map
,方便调试--props-dir
和 --props-file
,用于指定额外的自定义属性文件位置,优先级比项目级别的属性文件高,方便开发者透传属性配置GLOBAL_MALAGU_PROPS_DIR_PATH
自定义,默认是 ~/.malagu
next
模块找不到错误after
阶段nextjs
模板nextjs
框架的开发部署before
阶段,例如 Build Hook 的 before
阶段表示在构建之前执行,只需在 Hook 文件中导出 before
方法即可malagu update
命令不生效~/.malagu/malagu.yml
,可以通过环境变量自定义:GLOBAL_MALAGU_CONFIG_PATH
projectPath
,可以在配置文件中指定项目的真正工作目录,该配置项只在命令行的工作目录的配置文件有效static-site
malagu update
,一键升级命令行和组件malagu init
,移除 name
选项,--output-dir
选项的行为与 git clone
的 dir
参数保持一致SERVER_PORT
process/browser
模块找不到问题allowedHosts
为 all,确保在云端开发也能正常预览malagu.cloud.disableProjectId
(#93)malagu runtime install --overwrite
malagu info
执行效率malagu info
报函数别名找不到malagu config --default-runtime
选项malagu build -m server
和 vercel 部署模式 malagu deploy -m vercel
externals
,该模式内置了需要排除的包,比如 vm2 等等,使用方式:malagu deploy -m externals
cloud.faas
中的 faas,并将 faas 子属性提升malagu props
env
中的表达式没有被计算malagu props
命令,用户显示当前应用完整属性配置信息stage
属性表示当前环境,优先级低于应用根组件属性的 stage
,高于其他malagu info
切环境信息不对serve hook
插件,支持 HMRmalagu config --default-mode
配置属性,用于配置默认 modemalagu
框架的默认构建目录malagu init
命令初始化模板后没有正确安装依赖包MALAGU_PROJECT_DIST_PATH
配置项目构建目录malagu
框架运行报错malagu
框架@malagu/cli
包,优先使用本地的命令quiet
参数用于控制不输出日志信息malagu
、compression
、eslint
模式配置文件,方便开发者一键开启响应功能prod
模式下才会压缩混淆MALAGU_CONFIG_FILE_ALIAS
环境变量方式配置,优先级比配置文件高MALAGU_BANNER
环境变量方式配置,优先级比配置文件高profile.credentials.token
赋值malagu info
命令malagu config --show-profile
显示账号配置信息malagu config --config-file-alias deploy
命令不生效问题malagu config --show
显示完整配置信息malagu.[mode].yml
和 malagu-[mode].yml
malagu config --config-file-alias deploy
,默认总会加载 malagu 别名的配置文件,如 malagu.yml,现在可以额外指定其他别名feat(frameworks) 支持 expressjs、koajs、nestjs 框架部署
feat(cli-service) 优化构建输出目录结构
feat(frameworks) supports expressjs, koajs, nestjs framework deployment
feat(cli-service) optimize the structure of the output directory structure
@malagu/node-plugin
compnentfeat(*-adapter) 将构建部署相关逻辑抽象为独立的组件 *-plugin,以方便复用
feat(code-loader-plugin) 将代码加载打包逻辑抽象为独立组件
feat(cli-runtime) 添加 scf
运行时
feat(cli) 支持属性文件定义运行时
feat(parent) 升级 lerna 版本到 4.0.0
feat(parent) 升级 axios 版本到 0.24.0
feat(static-plugin) 添加插件 @malagu/static-plugin
feat(frameworks) 添加组件 @malagu/frameworks
feat(static-plugin) 优化代码
fix(all) fix Dependabot alerts
feat(cli) 支持智能适配运行时和模式
feat(cloud-plugin) 支持命令行参数输入账号配置信息 (#72)
feat(cli + cli-common) 优化模式命令
feat(cli) 支持 malagu config
命令
feat(*-adapter) abstracts the logic of construction and deployment into independent components *-plugin to facilitate reuse
feat(code-loader-plugin) abstracts code loading and packaging logic into independent components
feat(cli-runtime) add scf
runtime
feat(cli) supports property file definition runtime
feat(static-plugin) add plugin @malagu/static-plugin
feat(frameworks) add component @malagu/frameworks
feat(static-plugin) optimized code
fix(all) fix Dependabot alerts
feat(cli) supports smart adaptation of runtime and mode
feat(cloud-plugin) supports command line parameters to input account configuration information (#72)
feat(cli + cli-common) optimization mode command
feat(cli) Support malagu config
command
fix(rpc) 修复 rpc 接口参数为数组的时候解析不正确
feat(web) 升级 class-transformer 和 class-validator
fix(rpc) fixes incorrect parsing when the rpc interface parameter is an array
feat(web) upgrade class-transformer and class-validator
microservice
accounts
template. The authentication and authorization functions are quickly realized through this template, which comes from real business scenarios.accounts
模板。通过该模板快速实现认证与授权功能,该模板来自于真实业务场景。feat(core) 升级 inversifyjs 版本为 v5.1.1
feat(core) 修改 core 模块为静态模块,移除 auto
属性配置
feat(core+web) 将 pipe 功能移动到 @malagu/web
组件
feat(core) ContainerProvider
提供一个异步获取容器方法:asyncProvide
feat(typeorm) 升级 typeorm 版本为 v0.2.37
feat(typeorm) 升级 mysql 版本为 v2.18.1
feat(core) upgrade inversifyjs version to v5.1.1
feat(core) modify the core module as a static module, remove the auto
attribute configuration
feat(core+web) moves the pipe function to the @malagu/web
component
feat(core) ContainerProvider
provides an asynchronous method to obtain the container: asyncProvide
feat(typeorm) upgrade typeorm version to v0.2.37
feat(mysql) upgrade typeorm version to v2.18.1
ts-node
等模块找不到错误@malagu/serve-static
component, the front-end build product is forced to be output to the non-memory file system during the local runtime.@malagu/serve-static
组件时,本地运行时强制前端构建产物输出到非内存文件系统中。@Unmanaged()
JexlEngineProvider
interface to EL Policy to facilitate independent extension of expression functions@Unmanaged()
JexlEngineProvider
接口,方便独立扩展表达式函数schedule
templatewebpack-dev-server
和 axois
webpack-dev-server
and axois
malagu runtime install
malagu.web.body.limit: 5mb
malagu.web.body.limit: 5mb
malagu runtime install
feat(cli) upgrade dependency package commander
feat(cli) optimized log output style
fix(scf-adapter) fixes the problem of attribute configuration
feat(cli) 升级依赖包 commander
feat(cli) 优化日志输出样式
fix(scf-adapter) 修复属性配置问题
feat(cli) supports automatically restarting the application after modifying the property file and the code of various plug-ins. (#44)
feat(cli-service) supports dotenv
file, the .env
file under the project root is automatically loaded by default, or you can customize the file path through the property malagu.webpack.dotenvPlugin.path
, the relative path is relative to the project root content. (#46)
feat(cli-service) supports Webpack.DefinePlugin
plug-in, which can be configured through the attribute malagu.webpack.definePlugin
(#46)
feat(cli) optimize log output, magic board and code
chore: Optimize the build, release and local testing process
feat(mvc): add @Req
, @Res
Decorator (#45)
feat(cli) 支持修改属性文件、以及各种插件的代码后自动重启应用。(#44)
feat(cli-service) 支持 dotenv
文件,默认自动加载项目根下的 .env
文件,也可以通过属性 malagu.webpack.dotenvPlugin.path
自定义文件路径,相对路径是相对项目根目录。(#46)
feat(cli-service) 支持 Webpack.DefinePlugin
插件,可以通过属性 malagu.webpack.definePlugin
配置 (#46)
feat(cli) 优化日志输出、魔板和代码
chore: 优化构建、发布和本地测试流程
feat(mvc): 添加 @Req
, @Res
装饰器 (#45)
local
的情况下,才会加载应用中的 devDependencies
中的组件local
exists, the components in the devDependencies
in the application will be loadedmode: [mns-topic]
. The sample configuration is as follows:mode: [ mns-topic ]
malagu:
faas-adapter:
trigger:
invocationRole: acs:ram::123456:role/app-mns-role
sourceARN: acs:mns:cn-hangzhou:123456:/topics/test
triggerConfig:
topicName: test
# filterTag: foo
fix(web) replace alscontext
with cls-hooked
package to fix undefined
error.
feat(faas-adapter) adds the FaaSEventListener
interface, which can be used to monitor the event when the function is triggered to execute.
feat(faas-adapter+fc-adapter) 支持 mns topic 消息队列触发器,通过模式属性 mode: [ mns-topic ]
开启。示例配置如下:
mode: [ mns-topic ]
malagu:
faas-adapter:
trigger:
invocationRole: acs:ram::123456:role/app-mns-role
sourceARN: acs:mns:cn-hangzhou:123456:/topics/test
triggerConfig:
topicName: test
# filterTag: foo
cls-hooked
包替换 alscontext
,修复 undefined
错误。FaaSEventListener
接口,可用于监听函数被触发执行的事件。feat(web) 支持环境嗅探式的请求上下文:Async-Hook 和 AsyncLocalStorage。当运行 Nodejs 版本 8.12.0 到 12.17.0 或 13.10.0 之前的版本时,使用来自 node.js 的 Async-Hook API;当运行 Nodejs 版本 12.17.0 或 13.10.0 之前的版本时,使用来自 node.js 的 AsyncLocalStorage。
feat(web) supports environment sniffing request context: Async-Hook and AsyncLocalStorage. When running Nodejs version 8.12.0 to version before (12.17.0 or 13.10.0), use the Async-Hook API from node.js; When running a version later than Nodejs version (12.17.0 or 13.10.0), use AsyncLocalStorage from node.js.
feat(cli-service) optimize the cache cleaning mechanism of node backend HMR module
fix(compression) fix illegal attribute cache
feat(cli-service+core) add polyflill of process
feat(cli-service) 优化 node 后端 HMR 模块缓存清理机制
fix(compression) 修复不合法属性 cache
feat(cli-service+core) 添加 process
的 polyflill
fix(cli) 修复隐式依赖版本不一致问题
fix(cli-common) 优化组件版本一致性检查
fix(cli) 升级 vue-app
模板中 vue-router 依赖版本
fix(cli) fix the problem of implicit dependency version inconsistency
fix(cli-common) optimize component version consistency check
fix(cli) upgrade the vue-router dependent version in the vue-app
template
@malagu/shedule
component.vue-app
template lack dependency errorvue-app
模板缺少依赖错误eval
conversion, for example, '1 + 3'| eval
results in 4
eval
转换,例如 '1+3'|eval
结果为 4
malagu.includeModules
defaults to undefined
admin-app
templatescf-app
templateMALAGU_DOMAIN
environment variablesfeat(cli) splits the original @malagu/cli
command line tool into three parts: @malagu/cli-common
, @malagu/cli
and @malagu/cli-service
. Among them, @malagu/cli
will no longer rely on a series of heavy dependencies such as webpack, typescript, etc., and move related dependencies to @malagu/cli-service
. In addition, the webpack plugin supports chain configuration.
feat(oss) upgrade oss sdk
feat (cli) malagu.includeModules
default changed to true
feat (cli) specifies package management tools through malagu.packager
, currently supports npm and yarn tools, and if no display is specified, the framework will select the appropriate package management tools for the current project environment, giving preference to yarn tools.
feat(cli) The consistency of command behavior is maintained whether the global malagu command is executed or local.
feat(cli) 将原先的 @malagu/cli
命令行工具拆分成三部分:@malagu/cli-common
、@malagu/cli
和 @malagu/cli-service
。其中,@malagu/cli
将不再依赖 webpack、typescript 等等一些列重型依赖,将相关的依赖移动到 @malagu/cli-service
中。另外,webpack 插件支持链式配置。
feat(oss) 升级 oss sdk
feat(cli) malagu.includeModules
默认值改为 true
feat(cli) 通过 malagu.packager
指定包管理工具,目前支持 npm 和 yarn 工具,如果没有指定显示指定,框架会更具当前项目环境选择合适包管理工具,优先选择 yarn 工具。
feat(cli) 无论是执行全局 malagu 命令,还是局部,都将保持命令行为的一致性。
@Service()
decoration, currently @Service()
and @Component()
have the same effect. When adding a decorator to a service class, using @Service()
will be better and more readable; when AOP interception is needed on the service class, separate the service class from other classes, which is more convenient for AOP Intercept.@Service()
装饰,目前 @Service()
与 @Component()
效果是一样的。当给服务类添加装饰器的时候,使用 @Service()
会更好,可读性更强;当要对服务类进行 AOP 拦截的时候,将服务类与其他类进行分开,更方便 AOP 拦截。feat(serve-static) does not cache html files by default
fix(rpc) fixes the problem that the session setting in the rpc method does not take effect
feat(typeorm) shields unnecessary warning messages
feat(serve-static) 默认不缓存 html 文件
fix(rpc) 修复在 rpc 方法中设置 session 不生效问题
feat(typeorm) 屏蔽掉不必要的警告信息
fix(cli) to fix the error when using hook in vue-app
template
feat(vue) supports Vue CSS file parsing
fix(cli) 修复 vue-app
模板在使用 Hook 时候报错
feat(vue) 支持 vue css 文件解析
feat(cli) add vue related application templates
feat(vue) Added @malagu/vue
component, integrated vue capability
feat(cli) 添加 vue 相关应用模板
feat(vue) 添加 @malagu/vue
组件,集成 vue 能力
AccessDecisionUtils
to facilitate manual verification of permissionsAccessDecisionUtils
,方便手动验证权限feat(core) remove the TenantProvider
interface
feat(web) Context
adds get or set Tenant
method
feat(security) remove the implementation of the TenantProvider
interface and set the Tenant
in the security context middleware
feat(core) 移除 TenantProvider
接口
feat(web) Context
添加获取或设置 Tenant
方法
feat(security) 移除 TenantProvider
接口实现,并在安全上下文中间件中设置 Tenant
getUrl
and getPath
added to the UrlUtil
tool classUrlUtil
工具类添加 getUrl
和 getPath
便捷方法feat(security) supports similar cloud vendor authorization policy mechanism AclPolicy
feat(security) PolicyResolver
no longer returns true|false
, and returns three results: agree, deny and abstain
feat(security) Add a new decorator @Resource
, used to customize resource names, which can be added to classes and methods, and support EL expressions when added to methods. By default, the class name is used as the resource name, and the resource name will be used when determining permissions
feat(security) adds a new decorator @Action
, which is used to customize the action name and can only be loaded on the method. By default, the class name + method name is used as the action name, and the action name will be used when determining permissions
feat(security) adds a new interface ActionNameResolver
for resolving action names
feat(security) unifies multiple interfaces of policy providers into one interface PolicyProvider
feat(security) 支持类似云厂商授权策略机制 AclPolicy
feat(security) PolicyResolver
不再返回 true|false
,返回三种结果:同意、拒绝和弃权
feat(security) 添加新装饰器 @Resource
,用于自定义资源名称,可以加在类和方法上,加在方法上支持 EL 表达式。默认使用类名称作为资源名称,资源名称在权限判断的时候会使用到
feat(security) 添加新装饰器 @Action
,用于自定义动作名称,只能加载方法上。默认使用类名 + 方法名称作为动作名称,动作名称在权限判断的时候会使用到
feat(security) 添加新接口 ActionNameResolver
,用于解析动作名称
feat(security) 将策略提供者多种接口统一成一个接口 PolicyProvider
feat(all) Use project references to enable incremental compilation to speed up compilation
feat(cli) multi-component template was renamed monorepo, and the content of the upgraded template was optimized
feat(cli) optimize the hot replacement behavior of back-end type projects in monorepo projects
feat(all) 使用项目引用,开启增量编译,加快编译速度
feat(cli) multi-component 模板改名为 monorepo,并优化升级模板内容
feat(cli) 优化后端类型项目在 monorepo 项目中热替换行为
feat(core) adds support for multi-tenant, provides TenantProvider
interface
feat(security) provides an implementation of the TenantProvider
interface
feat(cloud) object storage service supports the copyObject
method
feat(cache) adds the @malagu/cache
component, which integrates cache-manager
, and provides memory-based storage strategies by default
fix(oss) Fix the problem of incorrect transfer of token when using temporary AKSK
feat(core) 添加对多租户的支持,提供了 TenantProvider
接口
feat(security) 提供了 TenantProvider
接口的实现
feat(cloud) 对象存储服务支持 copyObject
方法
feat(cache) 添加 @malagu/cache
组件,该组件集成了 cache-manager
,默认提供基于内存的存储策略
fix(oss) 修复使用临时 AKSK 时,没有正确传递 Token 问题
fix(scf-adapter) Fix the incorrect geographic list of Tencent Cloud SCF
fix(cli) Exception message is not thrown as expected when executing cli hook
feat(scf-adapter) scf sdk already supports the TC3-HMAC-SHA256
signature algorithm, remove the workround implementation
feat(grommet) Optimize localized component LocalMenu
, add new component property fontSize
fix(scf-adapter) 修复腾讯云函数的地域列表不正确问题
fix(cli) 执行 cli hook 的时候异常信息没有按预期抛出来
feat(scf-adapter) scf sdk 已经支持 TC3-HMAC-SHA256
签名算法,移除 workround 实现
feat(grommet) 优化本地化组件 LocalMenu
,添加新组件属性 fontSize
feat(security) adds the enumeration type UserType
and a method to determine whether it is a User
object
fix(security) fix the problem that non-authentication exceptions are not thrown correctly
feat(security) Improve Github third-party authentication user information mapping rules
feat(security) 添加枚举类型 UserType
和判断是否是 User
对象的方法
fix(security) 修复非认证异常没有正确抛出问题
feat(security) 完善 Github 第三方认证用户信息映射规则
fix(cloud) misspelling
fix(faas-adapter) fix the problem that the include
behavior of the function code configuration codeUri
does not meet expectations
feat(cli) add templates related to file operations based on object storage
feat(cli) delete unwanted attributes in the malagu.yml
file output by the component merge
fix(cloud) 拼写错误
fix(faas-adapter) 修复函数代码配置 codeUri
的 include
行为不符合预期问题
feat(cli) 添加基于对象存储实现的文件操作相关的模板
feat(cli) 删除组件合并输出的 malagu.yml
文件中不需要的属性
feat(cloud) abstracts a basic cloud computing component @malagu/cloud
, abstracts unified interfaces and configurations for cloud products of different cloud vendors, developers can use unified interfaces to operate cloud service resources that do not require cloud vendors
feat(oss + cos + s3) adds three new components: @malagu/oss
, @malagu/cos
, @malagu/s3
, respectively for the object storage resources of Alibaba Cloud, Tencent Cloud and Amazon Cloud Implementation of the operation interface
feat(faas-adapter) adds a new component: @malagu/faas-adapter
, this component is an adapter summary for FaaS scenarios, and does not need to be implemented by cloud vendors’ Faa adapter extension @malagu/faas-adapter
feat(faas-adapter) extends the new command: malagu config
, through which the account is manually configured, and AKSK related information
feat(lambda-adapter) add a new component: @malagu/lambda-adapter
, use Amazon cloud Apigateway + lambda to implement application deployment
feat(faas-adapter) deployment related configuration is unified to the configuration of malagu.faas-adapter
property
feat(cloud) 抽象了一个云计算基础组件 @malagu/cloud
,对不同的云厂商的云产品抽象统一的接口和配置,开发者可以使用统一的接口操作不用云厂商的云服务资源
feat(oss + cos + s3) 添加三个新组件:@malagu/oss
、@malagu/cos
、@malagu/s3
,分别对阿里云、腾讯云和亚马逊云的对象存储资源操作接口的实现
feat(faas-adapter) 添加新组件:@malagu/faas-adapter
,该组件是对 FaaS 场景的适配器抽象,不用云厂商的 FaaS 适配器扩展 @malagu/faas-adapter
组件实现
feat(faas-adapter) 扩展新的命令:malagu config
,通过该命令手动配置账号、AKSK 相关的信息
feat(lambda-adapter) 添加新组件:@malagu/lambda-adapter
,使用亚马逊云的 Apigateway + lambda 实现应用部署
feat(faas-adapter) 部署相关的配置全部统一到 malagu.faas-adapter
属性上配置
feat(cli) add the malagu.webpack.sourceMaploaderExclude
property to ignore the warning message that the source map cannot be loaded
feat(cli) build and release code also generates the malagu.yml
file to the .malagu
directory, which can be ignored by the codeUri
property of the function. The default is to ignore the upload of the malagu.yml
file to prevent some private information Give way
feat(fc-adapter) adds the codeUri
property configuration to the function, and the default value is to ignore the upload of the malagu.yml
file
feat(scf-adapter) adds the codeUri
property configuration to the function, and the default value is to ignore the upload of the malagu.yml
file
feat(puppeteer) add @malagu/puppeteer component
feat(cli) add puppeteer
application template
feat(mvc) adds the file view FileView
to facilitate the implementation of file download related APIs. It also provides a simplified decorator @File()
, and also provides @Text()
, @Json()
, @Html()
decorator simplifies the ability to use different types of views
feat(cli) 添加 malagu.webpack.sourceMaploaderExclude
属性,用于忽略 source map 加载不到警告信息
feat(cli) 构建发布代码也生成 malagu.yml
文件到 .malagu
目录,可以通过函数的 codeUri
属性进行忽略,默认是忽略 malagu.yml
文件上传的,防止一些私密信息泄露
feat(fc-adapter) 为函数添加 codeUri
属性配置,且默认值为忽略掉 malagu.yml
文件的上传
feat(scf-adapter) 为函数添加 codeUri
属性配置,且默认值为忽略掉 malagu.yml
文件的上传
feat(puppeteer) 添加 @malagu/puppeteer 组件
feat(cli) 添加 puppeteer
应用模板
feat(mvc) 添加文件视图 FileView
,方便实现文件下载相关 API,同时也提供简化的装饰器 @File()
,另外也提供了 @Text()
、@Json()
、@Html()
装饰器简化使用不同类型视图能力
feat(core) optimizes the AOP user interface and provides the decorator @Aspect()
feat(core) @Component()
Add sysTags
for classifying object labels injected into the container to facilitate AOP control of the intercept scope based on sysTags
feat(core) @Component()
Add default values for configuration properties: `malagu.annotation.
feat(core) Adds AOP global switch control: malagu.aop.enabled
, enabled by default
feat(security) Adds secure intercept access control: malagu.security.aop.pointcut
, which defaults to Endpoint
, which means intercept all external endpoint processors
feat(security) adds front-end abstraction for easy integration with SPA.
feat(security) Adds a user info fetch endpoint, defaults to /userinfo
.
fix(oauth2-client) Fix the problem of not being able to get user information based on OAuth2.0 authentication.
fix(security) optimizes the permission decision algorithm and adds a resource pattern to match the permission configuration
fix (security) supports Base certification
fix(core) optimizes a large amount of code
feat(core) 优化 AOP 用户接口,提供装饰器@Aspect()
feat(core) @Component()
添加 sysTags
,用于给注入到容器的对象标签分类,方便 AOP 基于 sysTags
控制拦截范围
feat(core) @Component()
添加默认值配置属性:malagu.annotation.Component
feat(core) 添加 AOP 全局开关控制:malagu.aop.enabled
,默认开启
feat(security) 添加安全拦截访问控制:malagu.security.aop.pointcut
,默认值为 Endpoint
,表示拦截所有的对外端点处理器
feat(security) 添加前端抽象,方便与 SPA 集成使用
feat(security) 添加获取用户信息端点,默认为 /userinfo
fix(oauth2-client) 修复基于 OAuth2.0 认证无法获取用户信息问题
fix(security) 优化权限决策算法,添加资源模式匹配权限配置
fix(security) 支持 Base 认证
fix(core) 优化大量代码
@Icon()
decorator for injecting custom icon components@Icon()
装饰器,用于注入自定义的图标组件staticModules
to avoid repeated packaging of public modules for dynamic modulesstaticModules
,避免动态模块重复打包公共模块lib/common/module.j|ts
file of the component by default as the front and back public modulelib/common/module.j|ts
文件作为前后端公共模块fix(node-debug): Replacing node with pwa-node
fix(launch.json): Delete outFiles
fix(core): removeLisners -> removeListeners
feat(oidc-provider) Add component oidc-provider
feat(fc-adapter) The HTTP trigger name is generated based on the function name
feat(cli) Optimize command line plugin loading mechanism
fix(node-debug) 用 pwa-node 替换 node
fix(launch.json) 删除 outFiles
fix(core): removeLisners -> removeListeners
feat(oidc-provider) 添加组件 oidc-provider
feat(fc-adapter) HTTP 触发器的名称是基于函数名生成的
feat(cli) 优化命令行插件加载机制
feat(core) Upgrade vscode-ws-jsonrpc version
feat(core) Decorator @Component()
supports name, tag, default, when attributes
feat(core) Add new decorators @Named()
, @Tagged()
, @TargetName()
, @PostConstruct()
feat(rpc) Supports error converter ʻErrorConverter`
feat(cli) .malagu/backend/malagu.yml
and .malagu/backend/malagu.yml
obtained by merging all components will only be generated during the local development process
feat(core) 升级 vscode-ws-jsonrpc 版本
feat(core) 装饰器 @Component()
支持 name、tag、default、when 属性
feat(core) 添加新的装饰器 @Named()
、@Tagged()
、@TargetName()
、@PostConstruct()
feat(rpc) 支持错误转换器 ErrorConverter
feat(cli) 合并所有组件得到的 .malagu/backend/malagu.yml
和 .malagu/backend/malagu.yml
只会在本地开发过程才会生成
Breaking Changes:
@Optional()
必须得带小括号@Optional()
must have parenthesesfor in
for in
遍历不出来方法成员feat(cli) malagu init
command supports specifying template options, you can specify the built-in template name and remote GitHub address, such as: malagu init demo fc-backend-app
or malagu init demo git@github.com:cellbang/cellbang-site.git
feat(widget+shell) component property change: malagu.widget.locales
changed to malagu.locales
feat(widget) component property change: malagu.widget.themes
changed to malagu.themes
feat(cli) malagu init
命令支持指定模板选项,可以指定内置模板名称和远端 GitHub 地址,如:malagu init demo fc-backend-app
或者 malagu init demo git@github.com:cellbang/cellbang-site.git
feat(widget+shell) 组件属性变更:malagu.widget.locales
变更为 malagu.locales
feat(widget) 组件属性变更:malagu.widget.themes
变更为 malagu.themes
feat(fc-adapter + scf-adapter + vercel + cli) Remove the configuration attribute deployConfig, and put the configuration attributes under deployConfig to the child of the specific adaptation component
feat(fc-adapter) When configuring the route of a custom domain name, the route configuration is changed to be updated by appending instead of overwriting (#1)
feat(fc-adapter) When configuring the route of a custom domain name, you can automatically calculate the service, function and alias name without specifying it
feat(fc-adapter + scf-adapter + vercel + cli) 移除配置属性 deployConfig,将 deployConfig 下面的配置属性放到具体适配组件子级
feat(fc-adapter) 配置自定义域名的路由时,路由配置改为以追加的方式进行更新,而非覆盖
feat(fc-adapter) 配置自定义域名的路由时,可以不指定服务、函数以及别名名称,自动计算
fix(web+fc-adapter) fix cors function release to function calculation does not take effect
fix(typeorm) fix the local running modification code hot loading causes the database link to have an error
fix(core) fix the "EventEmitter memory leak detected" warning caused by hot loading of local running modified code
fix(web+fc-adapter) 修复 cors 功能发布到函数计算不生效
fix(typeorm) 修复本地运行修改代码热加载导致数据库链接已经存在错误
fix(core) 修复本地运行修改代码热加载导致 “EventEmitter memory leak detected” 警告
feat(cli + core) property file supports regular expression properties: ${{'.*.google.com$'|regexp}}
fix(web) run locally to remove the hard-coded configuration of cors
feat(cli + core) 属性文件支持正则表达式属性:${{'.*.google.com$'|regexp}}
fix(web) 本地运行去掉 cors 硬编码配置
fix(cli) fix the compatibility problem of cli tool in windows environment
feat(core) upgrade class-transformer
feat(grommet) optimize the style of NavItem component
feat(grommet) 优化 NavItem 组件样式
fix(cli) 修复 cli 工具在 windows 环境下存在的兼容性问题
feat(core) 升级 class-transformer
fix(cli) fix FilterWarningsPlugin configuration
fix(typeorm) fix typeorm component configuration
fix(cli) 修复 FilterWarningsPlugin 配置
fix(typeorm) 修复 typeorm 组件配置
The feat(cli) compilation process supports progress display
The local operation of feat(cli) disables the PWA function by default, which can be manually turned on through malagu.webpack.workboxWebpackPlugin.generateInDevMode configuration, and the PWA function will be automatically turned on when publishing
feat(cli) admin-app template update
feat(core) optimize online and local log levels
feat(widget) completes the design and implementation of the first version of the widget. The widget provides the ability to dynamically assemble, configure and expand the front-end page, and it is also the basic ability of the future micro-front-end and visualization
feat(shell) adds a shell component and provides a highly extensible layout component by default
feat(react) completed the first version of Slot design and implementation, so that front-end components can be injected into a slot, and dynamically manage front-end components, namely widgets
feat(widget+react+grommet) internationalization, multi-theme, communication between front-end components (rxjs) design and implementation
feat (cli) template supports github actions configuration
feat(cli) 编译构建过程支持进度显示
feat(cli) 本地运行默认关闭 PWA 功能,可以通过 malagu.webpack.workboxWebpackPlugin.generateInDevMode 配置手动开启,发布的时候会自动开启 PWA 功能
feat(cli) admin-app 模板更新
feat(core) 优化线上和本地日志级别
feat(widget) 完成 widget 第一版设计与实现,通过 widget 提供前端页面的动态组装、配置和扩展的能力,同时也是未来微前端和可视化的基础能力
feat(shell) 添加 shell 组件,默认提供了一个高度可扩展的布局组件
feat(react) 完成第一版 Slot 设计与实现,让前端组件可以被注入到某个 Slot,动态管理前端组件,即 widget
feat(widget+react+grommet) 国际化、多主题、前端组件之间通信(rxjs)设计与实现
feat(cli)模板支持github actions 配置
feat(cli+core) In the configuration of a node in the component configuration, if the _ignoreEl attribute is true, the expression calculation of the configuration node and child nodes is ignored
feat(cli+core) ignores the expression calculation under the configuration node such as env by default
feat(cli+core) 组件配置中某个节点配置如果存在 _ignoreEl 属性为 true,则忽略该配置节点以及子节点的表达式计算
feat(cli+core) 默认忽略 env 等配置节点下面的表达式计算
feat(cli) optimizes command line execution speed by loading modules on demand
feat(core) front-end application is no longer directly in the body, and provides a div container with an id of malagu.hostDomId
feat(cli) provides a default html template, if the index.html file exists in the project root directory, it will overwrite the default provided template
feat(serve-static) defines two component attributes: path and apiPath, path matches the front-end route, and apiPath matches the back-end route
feat(cli) adds the base tag to the default html template to allow the resources in html to be loaded by absolute routing
feat(cli) serve, build and deploy add parameter entry and options -t, --targets uniformly, support non-malagu framework operation, build and deployment
feat(cli) build command adds options -o, --output, custom code output location
feat(cli) 通过按需加载模块优化命令行执行速度
feat(core) 前端应用不再直接 body 里面,提供了一个 id 为 malagu.hostDomId 的 div 容器
feat(cli) 提供一个默认的 html 模板,如果项目根目录存在 index.html 文件,会覆盖默认提供的模板
feat(serve-static) 定义了两个组件属性:path 和 apiPath,path 匹配的前端路由,而 apiPath 匹配的是后端路由
feat(cli) 默认 html 模板中添加 base 标签,让 html 中的资源以绝对路由的方式加载
feat(cli) serve、build 和 deploy 统一添加参数 entry 和选项 -t, --targets,支持非 malagu 框架运行、构建和部署
feat(cli) build 命令添加选项 -o, --output,自定义代码输出位置
feat(cli) add admin-app application template
feat(cli) deployment command no longer checks mode when skipping build
feat(cli) supports automatic identification of favicon.ico in the root directory of the project
feat(cli) supports generating resource manifest.json to facilitate access to the micro front-end system
feat(cli) front-end application supports SPA
feat(serve-static) optimizes the static resource caching strategy, js, css, pictures and other resources are permanently cached by default, and the HTML file is cached for 5 seconds
fix(cli) Fix the sourcemap file contains the local path information of the packaged user
fix(cli) Fix the problem of infinite loop when loading configuration file based on mode
fix(fc-adapter) Fix the version/alias of the custom domain name binding does not follow the deployment environment
feat(cli) 添加 admin-app 应用模板
feat(cli) 部署命令跳过构建时不再检查 mode
feat(cli) 支持自动识别在项目根目录下的 favicon.ico
feat(cli) 支持生成资源 manifest.json,方便接入微前端体系
feat(cli) 前端应用支持 SPA
feat(serve-static) 优化静态资源缓存策略,js、css 和图片等资源默认永久缓存,html 文件缓存 5 秒
fix(cli) 修复 sourcemap 文件中包含打包用户的本地路径信息
fix(cli) 修复基于 mode 加载配置文件出现死循环问题
fix(fc-adapter) 修复自定义域名绑定的版本/别名没有跟着部署环境走
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。