1.65.0 • Published 16 days ago

@datlas/design v1.65.0

Weekly downloads
-
License
MIT
Repository
-
Last release
16 days 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.64.0

17 days ago

1.65.0

16 days ago

1.63.0

18 days ago

1.62.1

2 months ago

1.62.0

3 months ago

1.61.0

3 months ago

1.60.2

4 months ago

1.60.1

4 months ago

1.60.0

4 months ago

1.56.0

8 months ago

1.51.0

10 months ago

1.55.0

9 months ago

1.57.0

8 months ago

1.52.0

10 months ago

1.58.0

7 months ago

1.53.0

9 months ago

1.53.1

9 months ago

1.55.2

9 months ago

1.55.1

9 months ago

1.59.0

7 months ago

1.55.4

8 months ago

1.55.3

8 months ago

1.59.2

7 months ago

1.59.1

7 months ago

1.55.5

8 months ago

1.59.4

6 months ago

1.59.3

6 months ago

1.50.1

10 months ago

1.50.2

10 months ago

1.54.0

9 months ago

1.50.0

10 months ago

1.46.0

1 year ago

1.48.0

12 months ago

1.47.1

1 year ago

1.47.0

1 year ago

1.49.1

11 months ago

1.49.0

11 months ago

1.49.2

11 months ago

1.44.0

1 year ago

1.45.0

1 year ago

1.43.0

1 year ago

1.40.0

1 year ago

1.42.0

1 year ago

1.42.2

1 year ago

1.42.1

1 year ago

1.42.3

1 year ago

1.41.0

1 year ago

1.39.1

1 year ago

1.39.2

1 year ago

1.39.0

1 year ago

1.39.5

1 year ago

1.39.6

1 year ago

1.39.3

1 year ago

1.39.4

1 year ago

1.39.7

1 year ago

1.39.8

1 year ago

1.37.0

2 years ago

1.37.1

2 years ago

1.38.0

1 year ago

1.35.1

2 years ago

1.36.0

2 years ago

1.36.1

2 years ago

1.33.1

2 years ago

1.35.0

2 years ago

1.32.0

2 years ago

1.32.1

2 years ago

1.34.0

2 years ago

1.32.2

2 years ago

1.33.0

2 years ago

1.30.2

2 years ago

1.31.0

2 years ago

1.29.0

2 years ago

1.29.1

2 years ago

1.29.4

2 years ago

1.29.2

2 years ago

1.29.3

2 years ago

1.30.0

2 years ago

1.30.1

2 years ago

1.28.3

2 years ago

1.28.4

2 years ago

1.28.1

2 years ago

1.28.2

2 years ago

1.27.0

2 years ago

1.28.0

2 years ago

1.26.0

2 years ago

1.26.1

2 years ago

1.26.2

2 years ago

1.22.0

2 years ago

1.25.0

2 years ago

1.23.2

2 years ago

1.25.1

2 years ago

1.23.0

2 years ago

1.22.1

2 years ago

1.24.0

2 years ago

1.23.1

2 years ago

1.25.2

2 years ago

1.23.4

2 years ago

1.23.5

2 years ago

1.19.0

2 years ago

1.21.0

2 years ago

1.20.1

2 years ago

1.21.1

2 years ago

1.20.0

2 years ago

1.18.1

2 years ago

1.17.2

2 years ago

1.16.3

2 years ago

1.18.0

2 years ago

1.17.1

2 years ago

1.16.2

2 years ago

1.17.0

2 years ago

1.16.1

2 years ago

1.16.0

2 years ago

1.18.3

2 years ago

1.18.2

2 years ago

1.16.4

2 years ago

1.15.8

3 years ago

1.15.9

3 years ago

1.15.7

3 years ago

1.15.6

3 years ago

1.15.5

3 years ago

1.15.4

3 years ago