npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

swiftcode

v1.0.1

Published

Automate the generation of the swagger api and vue template

Downloads

3

Readme

swiftcode

简介

自动生成代码工具

  • 转换 swagger api 文档,生成前端接口文件和匹配的类型文件,支持输入 swagger 地址和 json 文档进行数据读取。
  • 快速生成 vue 列表页面,根据模板配置文件,配置要生成的内容。

快速开始


# 安装
$ npm install -g swiftcode

# 使用:在一个文件夹中打开终端,执行以下命令
$ swiftcode

# 帮助手册
$ qucickcode -h

转换 Swagger API


# 使用:在一个文件夹中打开终端,执行以下命令
$ swiftcode

# SwaggerAPI:通过命令转换 swagger 地址
# SwaggerAPI:swagger 链接查找方式:打开swagger 页面,控制台网络找到api.json接口
$ swiftcode gen-api <swagger-api-address>

# 通过命令转换 swagger json 文档
$ swiftcode gen-api <swagger-json-address> -f

# 通过命令生成调试产物
$ swiftcode gen-api <swagger-api-address> -d

# 重命名存放产物的文件夹
$ swiftcode gen-api <swagger-api-address> -d -r <rename-dist>

生成 SFC 页面

前置环境

  • vue3
  • element-plus
  • 配置 ElConfigProvider 文件

功能命令


# 使用:在一个文件夹中打开终端,执行以下命令
$ swiftcode

# 转换列表页面,默认为 template.js
$ swiftcode gen-list [template-address]

# 下载转换列表的模板
$ swiftcode gen-list-template

配置选项

// 为避免重复写引号定义的变量
const select = 'select'
const selection = 'selection'
const index = 'index'
const text = 'text'
const link = 'link'
const time = 'time'
const option = 'option'
const tag = 'tag'
const operate = 'operate'
const input = 'input'
const daterange = 'daterange'
const datetime = 'datetime'
const date = 'date'
const datetimerange = 'datetimerange'
const left = 'left'
const right = 'right'

const pageContents = {
  // 一个属性对应一个页面
  模板列表: {
    // 模板相关
    template: {
      // 页面的中文名称,用于路由名,页面注释
      cn: '模板列表',
      // 页面的英文名称,用于路由路径,文件名,页面 customId
      en: 'templateList',
      // 是否有 filter-top 插槽
      top: true,
      // 是否有 table-bottom 插槽
      bottom: true,
      // 是否有表格选择
      select: true,
      // 是否有 filter-bottom 插槽按钮组
      btn: ['新增', '删除'],
    },
    // 筛选器选项
    filter: {
      输入框: input,
      选择框: select,
      日期范围选择框: daterange,
      日期时间选择框: datetime,
      日期字段: date,
      日期时间范围选择框: datetimerange,
      日期月范围选择框: {
        type: 'daterange',
        range: [1, 'm'], // 第二个参数可以是d m y
      },
    },
    // 表格选项
    table: {
      选择: select,
      序号: index,
      输入框: text,
      // 时间格式 YYYY-MM-DD HH:mm:ss
      时间字段: time,
      // 日期格式 YYYY-MM-DD
      日期字段: date,
      // 时间格式自定义 需单独配置 config-provider
      日期时间字段: {
        type: datetime,
        formatDate: 'MM-DD HH:mm',
      },
      // 枚举 需单独配置 config-provider
      选择字段: option,
      // 链接 需单独配置 config-provider
      链接字段: link,
      // 标签 需单独配置 config-provider
      标签字段: tag,
      操作: {
        type: operate,
        fixed: 'right',
        // 渲染按钮组
        render: ['修改', '删除'],
      },
    },
  }
}

const renderList = {
  // 存放生成的列表产物的文件夹
  dir: '.lists',
  // 页面配置
  pages: pageContents,
  // 路由配置
  routes: {
    // 是否需要生成路由文件
    isRender: true,
    menu: {
      // 路由菜单英文名
      en: 'templateManagement',
      // 路由菜单中文名
      cn: '模板列表',
    },
  },
  // 每个页面是否生成对应的表格 mock 文件
  mock: true,
  // 每个页面是否生成对应的 README 文件
  readMe: false,
}