Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
generator-mpi
Advanced tools
KISSY MINI 模块生成脚手架工具,KISSY MINI 的模块是基于 bower 的模块包,原则上不支持线上地址直接引用,而是推荐通过 bower insall 的方式安装引用。这里的脚手架工具即是生成这个 bower 模块包的脚手架工具。KISSY MINI 的项目生成工具是Generator-Mask,两者配合使用效果更佳。
你可以自己定制自己的模块将要存放在哪个git仓库。阿里旅行的 KISSY MINI 模块代码存放在 gitlab 上,安装组件时需要配好.bowerrc
(这个文件会被 Mask 工具自动生成),
{
"directory":"./",
"shorthand_resolver":"http://gitlab.alibaba-inc.com/{{{owner}}}/{{{package}}}.git"
}
这里的代码仓库前缀可以任意修改
如果你在阿里内网,请指向内网镜像
sudo npm install -g tnpm --registry=http://registry.npm.alibaba-inc.com
,然后使用tnpm
KISSY MINI 模块包代码只能通过 bower 来管理,因此非常干净,不包含本地服务和构建,运行本地Demo和测试用例只需用个人习惯的Node服务即可,推荐使用here-ssi。
首先安装三件套:
tnpm install -g yo grunt-cli bower
然后安装本地服务和脚手架
tnpm install -g here-ssi generator-mpi
完成。
首先创建好一个模块的空目录,进入这个空目录,执行
yo mpi
然后根据提示完成项目初始化的工作即可
在模块目录根目录中执行here
便可启动本地服务,访问demo/index.html
即可运行当前demo,访问test/runner.html
即可运行当前测试用例。js 开发预发规范符合 CMD 的基本约定,亦兼容 KMD 规范。
代码版本管理默认基于 Gitlab (阿里内网的代码仓库),所以源码中目录和文件名看不到版本信息,基于Bower的版本需要自行手动修改bower.json
,如果当前代码对其他模块有依赖,也需要手动修改bower.json
。比如offline-app-router这个模块的bower.json的内容如下:
{
"name": "offline-app-router",
"version": "0.1.0",
"description": "对在手淘,支付宝中的跨类目离线包跳转做封装",
"authors": [
"若狸 <jinglun.zjl@alibaba-inc.com>"
],
"main": "./index.js",
"ignore": [
".jshintrc",
"**/*.txt"
],
"dependencies": {
"base":"mpi/base"
},
"devDependencies": {
}
}
请注意版本的写法和依赖模块的写法,bower.json 是模块唯一最重要的配置文件
模块的研发完全基于本地 Demo 页面,无需构建和特别的本地环境配置,因此非常干净简单,代码存储直接提交在 gitlab 里即可,他人安装此模块只需通过bower install
即可。模块文件是需要被具体的项目脚本构建的,构建工具参照grunt-kmb或者gulp-kmc。阿里旅行前端同学请使用 clam 构建工具来生成项目.
因为已经安装好了here-ssi
服务,代码checkout到本地后,直接在项目根目录中执行here
,即可开启服务
here
模块代码完成后,如需引用该模块,只需通过 bower 来安装该模块,例如:
bower install mpi/widget-name
package.json
,但强烈不推荐这样做,因为从日常开发角度看,人肉保持 git 仓库中代码和远程 npm 仓库代码的版本一致性要消耗掉极高的成本,所以仅用git来保存代码可以尽可能保持简单可依赖FAQs
KISSY MINI 模块生成脚手架
We found that generator-mpi demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.