New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@bytedance/mona

Package Overview
Dependencies
Maintainers
5
Versions
382
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bytedance/mona - npm Package Compare versions

Comparing version 0.0.3 to 0.0.4

6

package.json
{
"name": "@bytedance/mona",
"version": "0.0.3",
"version": "0.0.4",
"description": "Merchant app's developing and building tools",

@@ -17,3 +17,3 @@ "main": "./dist/index",

"@bytedance/mona-plugin-events": "^0.0.3",
"@bytedance/mona-runtime": "^0.0.3"
"@bytedance/mona-runtime": "^0.0.4"
},

@@ -24,3 +24,3 @@ "publishConfig": {

},
"gitHead": "97ed421fa8c36906c53d7fda2cce8566b94acc2f"
"gitHead": "d89e169d306e1fef4a0bb7241abc7909c1019aec"
}

@@ -1,117 +0,105 @@

# mona-cli
## 介绍
mona-cli是电商商家应用的CLI工具,主要为了能够提升商家应用在各端运行效率,对齐开发规范,统一开放方案,保证开放安全。
## 快速开始
### 安装CLI
快速开始开发一个商家应用/商家应用插件需要先安装该CLI工具,使用如下命令进行安装
```bash
npm install -g @ecom/mona-cli
// 或使用yarn安装,任选其一
yarn global add @ecom/mona-cli
```
# mona
对外暴露mona组件以及API
安装完成后,控制台输入
```bash
mona -v
```
能正确打印出版本,则表明安装成功
## 组件
### Link
跳转组件,支持插件/应用间页面跳转
### 初始化项目
下面我们来初始化一个项目,使用如下命令
```bash
mona init
```
#### 例子
按照提示依次输入项目名称,选择模板,选择是否使用typescript和样式预处理器
注意:模板目前仅支持PC和Plugin(pc适用于web应用和桌面端应用的开发)
```jsx
import { Link } from '@bytedance/mona';
### 开发
项目初始化完成后可以进行开发,使用如下命令启动开发服务器,可以实时调试
```bash
mona start
```
const Index = () => {
return (
<div>
<Link to="/pages/home/index">navigate to home </Link>
</div>
)
}
### 打包
开发完成后,对项目进行打包,可以使用如下命令
export default Index;
```
mona build
```
#### 参数说明
### 发布
web发布按照旧有流程发布
桌面端发布需要通过gecko进行发布
插件发布需要通过mona publish命令进行发布
| 参数 | 说明 | 是否必填 | 类型 | 默认值 |
| ---- | ---- | ---- | ---- | ---- |
| to | 要跳转的页面路由 | 是 | string | - |
## 配置
默认配置文件为项目根目录下的`mona.config.js`,配置文件内容如下:
## API
### navigateTo
路由跳转,跳转到新的页面
#### 例子
```js
import { createMonaConfig } from '@ecom/mona-webpack'
import { navigateTo } from '@bytedance/mona';
// 修改CDN
const CDN = '/';
export default createMonaConfig({
projectTarget: ['web'],
projectName: 'mona-demo',
input: './src/app',
dest: 'build',
output: {
publicPath() {
return process.env.NODE_ENV === 'production' ? `${CDN}` : '/';
},
},
abilities: {
react: {
hot: true,
},
ts: true,
less: true,
},
raw(options) {
return options;
},
dev: {
devServer: {
historyApiFallback: true,
},
},
});
navigateTo('/pages/home/index')
```
该配置与是Eden配置文件的扩展,增加了`projectTarget`和`projectName`两个字段。
### projectTarget
指定打包端,有效值如下:`desktop/web/miniapp/plugin`。可以接受一个字符串或者字符串数组作为值。非有效值直接忽略。
- 模板`pc`默认值:`['web','desktop']`
- 模板`mobile`默认值:`['miniapp']`
- 模板`plugin`默认值:`['plugin']`
- 模板`monorepo`:各个仓库值如上所示
### redirectTo
路由重定向,跳转并替换当前页面路由
### projectName
即应用名称或插件名称,如果选择了monorepo则各项目的命名如下,一期先不做
- pc:[name]-pc
- mobile: [name]-mobile
- plugin: [name]-plugin
#### 例子
```js
import { redirectTo } from '@bytedance/mona';
## 命令
可以使用`mona -h`查看帮助命令,`mona -v`查看当前版本
redirectTo('/pages/home/index')
```
### mona init
初始化一个商家应用/商家应用插件项目
## 其他
### createProjectConfig
创建项目配置,`mona.config.ts`中使用
#### 例子
```js
// mona.config.ts
import { createProjectConfig } from '@bytedance/mona';
export default createProjectConfig({
projectName: 'demo',
input: './src/app.tsx',
output: 'dist'
})
```
### mona start
启动开发模式服务器
#### 参数说明
| 参数 | 说明 | 是否必填 | 类型 | 默认值 |
| ---- | ---- | ---- | ---- | ---- |
| projectName | 应用/插件名称 | 是 | string | - |
| input | 入口文件路径 | 是 | string | - |
| output | 打包后的文件目录路径 | 否 | string | - |
### mona build
对项目进行打包
### createAppConfig
创建应用配置,`app.config.ts`中使用
#### 例子
```js
// app.config.ts
import { createAppConfig } from '@bytedance/mona';
export default createAppConfig({
pages: [
'pages/Home/index',
'pages/Info/index',
'pages/List/index'
]
})
```
#### 参数说明
| 参数 | 说明 | 是否必填 | 类型 | 默认值 |
| ---- | ---- | ---- | ---- | ---- |
| pages | 页面路径 | 是 | string[] | - |
### mona lint
对项目进行代码格式化
### mona proxy
打开代理服务器
### createPageConfig
创建页面配置,需在每个页面目录的`page.config.ts`中使用
### mona publish
发布插件
### mona update
更新CLI命令
#### 例子
```js
// page.config.ts
import { createPageConfig } from '@bytedance/mona';
export default createPageConfig({
navigationBarTitleText: 'page title'
})
```
#### 参数说明
| 参数 | 说明 | 是否必填 | 类型 | 默认值 |
| ---- | ---- | ---- | ---- | ---- |
| navigationBarTitleText | 当前页面标题 | 否 | string | - |
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc