
Research
/Security News
Miasma Mini Shai-Hulud Hits ImmobiliareLabs npm Packages
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.
@snack-kit/scripts
Advanced tools
Snack 模块打包脚手架,提供开发调试、生产打包、独立入口页面打包等命令。
npm install @snack-kit/scripts --save-dev
| 命令 | 说明 |
|---|---|
snack-scripts init [dir] | 初始化新 snack 工程 |
snack-scripts create | 在当前工程创建新模块模版 |
snack-scripts start | 启动开发调试服务 |
snack-scripts build | 生产模式打包 |
snack-scripts entry | 打包独立入口页面 |
# 在当前目录初始化
snack-scripts init
# 在指定目录初始化
snack-scripts init my-project
交互式提问:项目名、描述、作者、调试服务地址、入口页面 id/type。
生成文件:
my-project/
├── package.json
├── tsconfig.json
├── .gitignore
└── src/
├── env.d.ts
└── package/ ← 模块目录
在 snack 工程根目录执行:
snack-scripts create
交互式提问:模块中文名、目录名(PascalCase)、描述、作者、是否生成 setting 模块。
生成文件(以 UserManager 为例):
src/package/UserManager/
├── snack.json
├── index.ts
└── src/
├── index.tsx ← 继承 Snack 基类
├── setting.tsx ← 继承 SnackSetting 基类(可选)
└── style/
├── index.scss
└── setting.scss
{
"scripts": {
"start": "snack-scripts start",
"build": "snack-scripts build",
"entry": "snack-scripts entry"
}
}
{
"input": "./src/package", // snack 模块目录,默认 "src/package"
"output": "./dist", // 生产输出目录,默认 "dist"
"snack": {
"externals": {}, // 同 webpack externals,过滤不打包的依赖
"buildIgnore": [], // 生产打包忽略的模块(模块目录名)
"devPackage": [], // 开发模式仅启动指定模块(模块目录名),空数组表示全部启动
"entry": { // 独立入口页面配置(snack-scripts entry 命令使用)
"name": "entry", // 输出目录名,默认 "entry"
"id": "my_page", // 所加载的页面 id
"type": "portal", // 所加载的页面分类(可选)
"title": "My App", // HTML 页面 title(可选)
"favicon": "./favicon.ico", // 浏览器角标路径,相对项目根路径(可选)
"service": "", // snackbar 服务端地址,默认使用当前地址栏(可选)
"devServer": "", // 调试服务网关(可选)
"mobile": { // 移动端页面配置,竖屏或宽度 < 1024px 时加载(可选)
"id": "my_page_mobile",
"type": "portal"
},
"files": [], // 需复制到发布目录的文件或目录路径(可选)
"js": "./plugin.ts", // 外挂打包的 JS/TS 文件路径(可选)
"css": "./plugin.scss", // 外挂打包的 CSS/SCSS 文件路径(可选)
"template": { // 自定义 HTML 模板路径,相对项目根路径(可选)
"index": "./public/index.html",
"dev": "./public/dev.html",
"entry": "./public/entry.html"
}
},
"plugin": { // snack 模块独立 index.html 外挂文件(可选)
"js": "./plugin.ts",
"css": "./plugin.scss"
}
}
}
在项目根目录创建 config-overrides.js 可自定义 webpack 配置:
module.exports = (config) => {
// 修改 webpack 配置
return config;
};
通过 --templatePath 参数指定自定义模板目录(需包含完整模板文件):
{
"scripts": {
"start": "snack-scripts start --templatePath=template",
"build": "snack-scripts build --templatePath=template",
"entry": "snack-scripts entry --templatePath=template"
}
}
MIGRATION.md 迁移指南,说明从 @para-snack/* / @paraview/* 迁移到 @snack-kit/* 的完整步骤config/webpack.shared.js 共享 webpack 配置模块template/dev/index.tsx、template/entry/index.tsx、template/snack/index.tsx 模板文件更新,适配新包名snack-scripts init [dir] 命令,交互式初始化新 snack 工程snack-scripts create 命令,交互式在工程内创建模块模版webpack.shared.js),消除各配置文件重复代码loader.js 与 entry HTML 改为并行执行,提升构建速度@paraview/lib → @snack-kit/lib,支持全量 {} 导出,移除子路径引用@para-snack/core → @snack-kit/coreutils/fs.js 中 CcopyFile 拼写错误及内部未定义函数引用webpack.snack.config.js 中冗余且路径错误的 babel-loader 规则vue-loader / VueLoaderPlugin 残留依赖minimist 加入 dependencies(原先漏声明)const/箭头函数/可选链,for 循环改为 reduce/forEachFAQs
snack-cli package scripts Powered by Para FED
The npm package @snack-kit/scripts receives a total of 36 weekly downloads. As such, @snack-kit/scripts popularity was classified as not popular.
We found that @snack-kit/scripts demonstrated a healthy version release cadence and project activity because the last version was released less than 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.

Research
/Security News
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.

Security News
Rolldown paused Rust React Compiler integration after a 5MB binary size increase raised concerns about shipping React-specific code to all Vite users.

Security News
/Research
Mini Shai-Hulud expands into the Go ecosystem after hitting LeoPlatform npm packages and targeting GitHub Actions workflows.