Skip to content

unity-template/onex-utils

Repository files navigation

onex-utils


沉淀业务开发过程中的通用工具函数和通用方案,持续进行长期维护和迭代,推荐锁版本使用,欢迎fork和star

📜 文档地址:

https://unity-template.github.io/onex-utils/index.html

✨ 特性

  • 稳定可靠:工具沉淀自高流量业务代码中的业务工具函数
  • 按需加载:提供babelbuild-script插件实现按需加载构建
  • 文档生成:定制TypeDoc支持TypeScript interfacemarkdown 文档生成
  • 持续集成Github Action 持续集成和持续交付(静态扫描、安全扫描、自动测试...)

📦 安装

$ npm install onex-utils --save
$ yarn add onex-utils --save

🔨 使用

import { url } from 'onex-utils';

const url_params_key = url.getUrlParam('key');

⌨️ 开发

  • npm run build: 项目构建命令
  • npm run test: 项目运行单元测试
  • npm run commit: 提交规范化commit
  • npm run lint: 代码格式进行校验
  • npm version patch: 发布正式包

🤝 贡献

  • Github Issue编写features或者Bug
  • fork仓库编写代码然后提交Pull Request

🎯 插件

babel-plugin-onex-utils (babel、webpack)

​查看详情

Install

$ npm i --save onex-utils
$ npm i --save-dev babel-plugin-onex-utils @babel/cli @babel/preset-env

Example

Transforms

import {capitalize, map} from "onex-utils";

map([], capitalize);

roughly to

"use strict";

var _map2 = _interopRequireDefault(require("onex-utils/build/utils/map"));

var _capitalize2 = _interopRequireDefault(
  require("onex-utils/build/utils/capitalize")
);

function _interopRequireDefault(obj) {
  return obj && obj.__esModule ? obj : {default: obj};
}

(0, _map2["default"])([], _capitalize2["default"]);

Usage

.babelrc

{
  "plugins": ["onex-utils"],
  "presets": [["@babel/env", {"targets": {"node": 6}}]]
}

Babel API

require("babel-core").transform("code", {
  plugins: ["onex-utils"],
  presets: [["@babel/env", {targets: {node: 6}}]],
});

webpack.config.js

'module': {
  'loaders': [{
    'loader': 'babel-loader',
    'test': /\.js$/,
    'exclude': /node_modules/,
    'query': {
      'plugins': ['onex-utils'],
      'presets': [['@babel/env', { 'targets': { 'node': 6 } }]]
    }
  }]
}

build-plugin-onex-utils(build-scripts)

查看详情

Install

$ npm install @alib/build-scripts build-plugin-onex-utils build-plugin-component --save-dev

Usage(和 rax 结合使用)

build.json

{
  "type": "rax",
  "targets": ["web"],
  "plugins": ["build-plugin-component", "build-plugin-onex-utils"]
}

package.json

{
  "main": "build/index.js",
  "types": "./lib",
  "files": ["dist", "es", "lib"],
  "scripts": {
    "build": "build-scripts build"
  }
}

cli

$ npm run build