presetter-preset-react 4.7.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  •   [Quick Start](#quick-start)   •   [Project Structure](#project-structure)   •   [Customization](#customization)   •   [Scripts](#script-template-summary)   •
8
8
 
9
9
  [![npm](https://img.shields.io/npm/v/presetter-preset-react?style=flat-square)](https://github.com/alvis/presetter/releases)
10
- [![build](https://img.shields.io/github/workflow/status/alvis/presetter/code%20test?style=flat-square)](https://github.com/alvis/presetter/actions)
10
+ [![build](https://img.shields.io/github/actions/workflow/status/alvis/presetter/test.yaml?branch=master&style=flat-square)](https://github.com/alvis/presetter/actions)
11
11
  [![maintainability](https://img.shields.io/codeclimate/maintainability/alvis/presetter?style=flat-square)](https://codeclimate.com/github/alvis/presetter/maintainability)
12
12
  [![coverage](https://img.shields.io/codeclimate/coverage/alvis/presetter?style=flat-square)](https://codeclimate.com/github/alvis/presetter/test_coverage)
13
13
  [![security](https://img.shields.io/snyk/vulnerabilities/github/alvis/presetter/packages/preset-react/package.json.svg?style=flat-square)](https://snyk.io/test/github/alvis/presetter?targetFile=packages/preset-react/package.json&style=flat-square)
@@ -45,7 +45,7 @@ and now you can try to run some example life cycle scripts (e.g. run prepare).
45
45
 
46
46
  ## Project Structure
47
47
 
48
- After installation, your project file structure should resemble the following or with more configuration files if you also installed other presets such as [`presetter-preset-esm`](https://github.com/alvis/presetter/blob/master/packages/preset-essentials).
48
+ After installation, your project file structure should resemble the following or with more configuration files if you also installed other presets such as [`presetter-preset-esm`](https://github.com/alvis/presetter/blob/master/packages/preset-esm).
49
49
 
50
50
  Implement your business logic under `source` and prepare tests under `spec`. The `.d.ts` files are handy type definitions for you to import `.css` or image files in typescript.
51
51
 
package/lib/index.js CHANGED
@@ -29,17 +29,17 @@ const template = ({ custom: { variable: { types }, }, }) => ({
29
29
  /* eslint-disable @typescript-eslint/naming-convention */
30
30
  '.eslintrc.json': resolve(TEMPLATES, 'eslintrc.yaml'),
31
31
  'tsconfig.json': resolve(TEMPLATES, 'tsconfig.yaml'),
32
+ 'tsconfig.build.json': resolve(TEMPLATES, 'tsconfig.build.yaml'),
32
33
  [join(types, IMAGE_TYPE)]: resolve(TEMPLATES, IMAGE_TYPE),
33
34
  [join(types, STYLE_TYPE)]: resolve(TEMPLATES, STYLE_TYPE),
34
35
  /* eslint-enable @typescript-eslint/naming-convention */
35
36
  });
36
37
  const noSymlinks = ({ custom: { variable: { types }, }, }) => [join(types, IMAGE_TYPE), join(types, STYLE_TYPE)];
37
- const supplementaryConfig = {
38
+ const supplementaryConfig = () => ({
38
39
  eslint: resolve(CONFIGS, 'eslint.yaml'),
39
40
  gitignore: ({ custom: { variable: { types }, }, }) => [join('/', types, IMAGE_TYPE), join('/', types, STYLE_TYPE)],
40
- jest: resolve(CONFIGS, 'jest.yaml'),
41
41
  lintstaged: resolve(CONFIGS, 'lintstaged.yaml'),
42
- };
42
+ });
43
43
  /**
44
44
  * get the list of templates provided by this preset
45
45
  * @returns list of preset templates
@@ -53,4 +53,4 @@ export default async function () {
53
53
  variable: DEFAULT_VARIABLE,
54
54
  };
55
55
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVILE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSXpDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRXBELGtDQUFrQztBQUNsQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztBQUNsRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztBQW9COUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWE7SUFDeEMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsS0FBSztDQUNkLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7QUFDaEMsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDO0FBRWhDLE1BQU0sUUFBUSxHQUE0QixDQUFDLEVBQ3pDLE1BQU0sRUFBRSxFQUNOLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUNwQixHQUNGLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDTCx5REFBeUQ7SUFDekQsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUM7SUFDckQsZUFBZSxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO0lBQ3BELENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO0lBQ3pELENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO0lBQ3pELHdEQUF3RDtDQUN6RCxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsR0FBOEIsQ0FBQyxFQUM3QyxNQUFNLEVBQUUsRUFDTixRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FDcEIsR0FDRixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBRXpELE1BQU0sbUJBQW1CLEdBQXVDO0lBQzlELE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQztJQUN2QyxTQUFTLEVBQUUsQ0FBQyxFQUNWLE1BQU0sRUFBRSxFQUNOLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUNwQixHQUNGLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbEUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO0lBQ25DLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDO0NBQ2hELENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUs7SUFDbEIsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQztRQUMzQyxRQUFRO1FBQ1IsVUFBVTtRQUNWLG1CQUFtQjtRQUNuQixRQUFRLEVBQUUsZ0JBQWdCO0tBQzNCLENBQUM7QUFDSixDQUFDIn0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVILE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSXpDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRXBELGtDQUFrQztBQUNsQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztBQUNsRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztBQW9COUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWE7SUFDeEMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsS0FBSztDQUNkLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7QUFDaEMsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDO0FBRWhDLE1BQU0sUUFBUSxHQUE0QixDQUFDLEVBQ3pDLE1BQU0sRUFBRSxFQUNOLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUNwQixHQUNGLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDTCx5REFBeUQ7SUFDekQsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUM7SUFDckQsZUFBZSxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO0lBQ3BELHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUscUJBQXFCLENBQUM7SUFDaEUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUM7SUFDekQsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUM7SUFDekQsd0RBQXdEO0NBQ3pELENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxHQUE4QixDQUFDLEVBQzdDLE1BQU0sRUFBRSxFQUNOLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUNwQixHQUNGLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFFekQsTUFBTSxtQkFBbUIsR0FBdUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNyRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUM7SUFDdkMsU0FBUyxFQUFFLENBQUMsRUFDVixNQUFNLEVBQUUsRUFDTixRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FDcEIsR0FDRixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDO0NBQ2hELENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSztJQUNsQixPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDO1FBQzNDLFFBQVE7UUFDUixVQUFVO1FBQ1YsbUJBQW1CO1FBQ25CLFFBQVEsRUFBRSxnQkFBZ0I7S0FDM0IsQ0FBQztBQUNKLENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "presetter-preset-react",
3
- "version": "4.7.1",
3
+ "version": "5.0.0",
4
4
  "description": "An opinionated presetter preset for a React project",
5
5
  "keywords": [
6
6
  "presetter",
@@ -20,20 +20,19 @@
20
20
  "url": "git+https://github.com/alvis/presetter.git"
21
21
  },
22
22
  "peerDependencies": {
23
- "@testing-library/react": "^14.0.0",
23
+ "@testing-library/react": "^16.0.0",
24
24
  "@types/react": "^18.0.0",
25
25
  "eslint-plugin-react": "^7.0.0",
26
- "eslint-plugin-testing-library": "^5.0.0",
27
- "presetter": "4.7.1"
26
+ "eslint-plugin-testing-library": "^6.0.0",
27
+ "presetter": "5.0.0"
28
28
  },
29
29
  "devDependencies": {
30
- "presetter": "4.7.1"
30
+ "presetter": "5.0.0"
31
31
  },
32
32
  "dependencies": {
33
- "presetter-types": "4.7.1"
33
+ "presetter-types": "5.0.0"
34
34
  },
35
35
  "scripts": {
36
- "bootstrap": "run prepare",
37
36
  "build": "run build",
38
37
  "coverage": "run coverage --",
39
38
  "lint": "run lint --",
@@ -23,3 +23,38 @@ overrides:
23
23
  max-lines-per-function:
24
24
  - warn
25
25
  - max: 120
26
+ '@typescript-eslint/naming-convention': # use JS/TS naming convention
27
+ - error
28
+ - selector: default
29
+ format:
30
+ - camelCase # default
31
+ leadingUnderscore: allow # default
32
+ trailingUnderscore: allow # default
33
+ - selector: import
34
+ format:
35
+ - camelCase # default, for functions and variables
36
+ - PascalCase # default, for classes
37
+ - selector: function
38
+ format:
39
+ - camelCase # default
40
+ - PascalCase # for react components
41
+ - selector: objectLiteralMethod
42
+ format: null # disable as an object literal is likely used for assigning parameters to a third-party library
43
+ - selector: objectLiteralProperty
44
+ format: null # disable as an object literal is likely used for assigning parameters to a third-party library
45
+ - selector: parameter
46
+ format:
47
+ - camelCase # default
48
+ - PascalCase # for react components
49
+ leadingUnderscore: allow # default
50
+ trailingUnderscore: allow # default
51
+ - selector: variable
52
+ format:
53
+ - PascalCase # for react functional components
54
+ - camelCase # default
55
+ - UPPER_CASE # default, for constants
56
+ leadingUnderscore: allow
57
+ trailingUnderscore: allow
58
+ - selector: typeLike
59
+ format:
60
+ - PascalCase # default
@@ -1 +1 @@
1
- coverage: npm run --if-present test -- --coverage --collectCoverageFrom='{source}/**/*.[jt]s?(x)'
1
+ coverage: npm run --if-present test -- --coverage
@@ -0,0 +1,3 @@
1
+ exclude:
2
+ - '**/*.stories.ts'
3
+ - '**/*.stories.tsx'
package/configs/jest.yaml DELETED
@@ -1,8 +0,0 @@
1
- testEnvironment: jsdom
2
- testMatch:
3
- - '**/?(*.)+(spec).[jt]sx'
4
- transform:
5
- '^.+\\.[jt]sx?$':
6
- 1:
7
- tsconfig:
8
- jsx: react-jsx # jsx must be set to react-jsx in order for ts-jest to work