1.66.7 • Published 10 months ago

@datlas/design v1.66.7

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

pipeline status coverage report

MDT DESIGN

Install

npm install @datlas/design
yarn add @datlas/design

Usage

import { loadTheme } from '@datlas/design/esm/components/style/themes';
import { ThemeEnum } from '@datlas/design/esm/components/style/context';
import Button from '@datlas/design/esm/components/button';

loadTheme(ThemeEnum.dark);

export default () => {
  <Button type="primary">button</Button>
}

可以添加 webpack alias 使引用路径变短

addWebpackAlias({ ["@@"]: path.resolve('./node_modules/@datlas/design/esm') })

tsconfig:

{
  "compilerOptions": {
  "baseUrl": ".",
  "paths": {
    "@/*": ["src/*"],
    "@@/*": ["./node_modules/@datlas/design/esm/*"]
  }
}

使用时

import Button from '@@/components/button';

可能遇到的问题

  1. d.ts 报错,请添加 ignore-loader

    config.module.rules.push({
      test: /\.d\.ts$/,
      loader: 'ignore-loader'
    });
  2. react 多实例问题 https://github.com/facebook/react/issues/13991

    addWebpackAlias({ react: path.resolve('./node_modules/react')})
  3. dayjs使用报错: Uncaught TypeError: xxxx is not a function

    由于组件库项目中使用到 dayjs 做一些轻量级的时间计算,所以外层在将引入 dayjs 时会有版本不同而造成方法缺失的问题,组件库提供的解决方案如下:

    1. 请将本地的 dayjs 保持和组件库版本一致

    2. 不方便改版本的话,可以使用dayjs提供的插件支持,将缺失的自行extend到本地项目中,使用方法详见

      例如:

        import isoWeek from 'dayjs/plugin/isoWeek';
      
        dayjs.extend(isoWeek);

本地开发

  1. storybook开发,编写story

    yarn start
  2. link到项目开发,在组件项目执行

    yarn dev
    yarn link

    在项目中执行 yarn link "@datlas/design"

  3. 快速生成组件

    yarn gc 组件名

框架推荐工具及插件

基于 Storybook V6.2

样式规范

定义color,zindex变量, 后续放开stylelint检查

"sh-waqar/declaration-use-variable": [
  [
    "/color/",
    "z-index"
  ]
]

开发规范

  • 引用路径使用 import from '.' 替换为 import from './index', babel plugin bug
  • 测试文件放在 __tests__ 目录
  • storybook示例放在 __stories__ 目录
  • 组件 tsx 文件使用首字母大写
  • 文件夹小写,中划线间隔
  • 在某些情况下,您可能希望导出故事和非故事的混合体。例如,导出故事中使用的数据可能会很有用。为此,您可以在默认导出中使用可选字段includeStories和excludeStories配置字段,可以将其设置为字符串数组或正则表达式。按大写字母开头导出故事书, 小写字母开头导出数据。

    // MyComponent.stories.js
    
    import React from 'react';
    
    import MyComponent from './MyComponent';
    
    import someData from './data.json';
    
    export default {
      title: 'MyComponent',
      component: MyComponent,
      includeStories: /.*Story$/, // 👈 Storybook loads these stories
      excludeStories: /.*Data$/, // 👈 Storybook ignores anything that contains Data
    };
    
    export const simpleData = { foo: 1, bar: 'baz' };
    export const complexData = { foo: 1, foobar: { bar: 'baz', baz: someData } };
    
    export const SimpleStory = () => <MyComponent data={simpleData} />;
    export const ComplexStory = () => <MyComponent data={complexData} />;

Features

  • storybook
  • eslint
  • jest
  • commit lint
  • build svg to React Component
  • build less to css
  • build ts to es6
  • build ts to commonjs
  • minify css
  • watch build
  • auto publish
  • ci build
  • umd/iife
1.66.5

10 months ago

1.66.6

10 months ago

1.66.7

10 months ago

1.66.0

11 months ago

1.66.1

11 months ago

1.66.2

11 months ago

1.66.3

11 months ago

1.65.2

11 months ago

1.65.1

1 year ago

1.64.0

1 year ago

1.65.0

1 year ago

1.63.0

1 year ago

1.62.1

1 year ago

1.62.0

2 years ago

1.61.0

2 years ago

1.60.2

2 years ago

1.60.1

2 years ago

1.60.0

2 years ago

1.56.0

2 years ago

1.51.0

2 years ago

1.55.0

2 years ago

1.57.0

2 years ago

1.52.0

2 years ago

1.58.0

2 years ago

1.53.0

2 years ago

1.53.1

2 years ago

1.55.2

2 years ago

1.55.1

2 years ago

1.59.0

2 years ago

1.55.4

2 years ago

1.55.3

2 years ago

1.59.2

2 years ago

1.59.1

2 years ago

1.55.5

2 years ago

1.59.4

2 years ago

1.59.3

2 years ago

1.50.1

2 years ago

1.50.2

2 years ago

1.54.0

2 years ago

1.50.0

2 years ago

1.46.0

2 years ago

1.48.0

2 years ago

1.47.1

2 years ago

1.47.0

2 years ago

1.49.1

2 years ago

1.49.0

2 years ago

1.49.2

2 years ago

1.44.0

2 years ago

1.45.0

2 years ago

1.43.0

2 years ago

1.40.0

3 years ago

1.42.0

3 years ago

1.42.2

3 years ago

1.42.1

3 years ago

1.42.3

3 years ago

1.41.0

3 years ago

1.39.1

3 years ago

1.39.2

3 years ago

1.39.0

3 years ago

1.39.5

3 years ago

1.39.6

3 years ago

1.39.3

3 years ago

1.39.4

3 years ago

1.39.7

3 years ago

1.39.8

3 years ago

1.37.0

3 years ago

1.37.1

3 years ago

1.38.0

3 years ago

1.35.1

3 years ago

1.36.0

3 years ago

1.36.1

3 years ago

1.33.1

3 years ago

1.35.0

3 years ago

1.32.0

3 years ago

1.32.1

3 years ago

1.34.0

3 years ago

1.32.2

3 years ago

1.33.0

3 years ago

1.30.2

3 years ago

1.31.0

3 years ago

1.29.0

3 years ago

1.29.1

3 years ago

1.29.4

3 years ago

1.29.2

3 years ago

1.29.3

3 years ago

1.30.0

3 years ago

1.30.1

3 years ago

1.28.3

3 years ago

1.28.4

3 years ago

1.28.1

3 years ago

1.28.2

3 years ago

1.27.0

3 years ago

1.28.0

3 years ago

1.26.0

3 years ago

1.26.1

3 years ago

1.26.2

3 years ago

1.22.0

4 years ago

1.25.0

3 years ago

1.23.2

4 years ago

1.25.1

3 years ago

1.23.0

4 years ago

1.22.1

4 years ago

1.24.0

3 years ago

1.23.1

4 years ago

1.25.2

3 years ago

1.23.4

4 years ago

1.23.5

4 years ago

1.19.0

4 years ago

1.21.0

4 years ago

1.20.1

4 years ago

1.21.1

4 years ago

1.20.0

4 years ago

1.18.1

4 years ago

1.17.2

4 years ago

1.16.3

4 years ago

1.18.0

4 years ago

1.17.1

4 years ago

1.16.2

4 years ago

1.17.0

4 years ago

1.16.1

4 years ago

1.16.0

4 years ago

1.18.3

4 years ago

1.18.2

4 years ago

1.16.4

4 years ago

1.15.8

4 years ago

1.15.9

4 years ago

1.15.7

4 years ago

1.15.6

4 years ago

1.15.5

4 years ago

1.15.4

4 years ago