Skip to content

Commit b913974

Browse files
authored
Merge pull request #975 from data-driven-forms/v3
Merge V3 to master
2 parents 212870a + 1ce9ea9 commit b913974

File tree

1,313 files changed

+15790
-55087
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,313 files changed

+15790
-55087
lines changed

.eslintrc.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"parser": "babel-eslint",
2+
"parser": "@babel/eslint-parser",
33
"parserOptions": {
44
"ecmaVersion": 6,
55
"sourceType": "module",
@@ -22,7 +22,7 @@
2222
"arguments": true
2323
},
2424
"plugins": ["prettier"],
25-
"extends": ["react-app", "eslint:recommended", "plugin:react/recommended", "plugin:prettier/recommended", "prettier/react"],
25+
"extends": ["react-app", "eslint:recommended", "plugin:react/recommended"],
2626
"env": {
2727
"es6": true,
2828
"browser": true,

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,5 @@ packages/**/size-snapshot.json
7676

7777
# Node version manager configuration
7878
.nvmrc
79+
80+
.DS_STORE

README.md

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Data Driven Forms is a React library used for rendering and managing forms with
1717

1818
:tada: Features :tada:
1919
- **Easily readable schema**, you don't need to know any HTML or JS to be able to write your own form schemas!
20-
- You can use your **own components** or use one of our **provided mappers** ([PatternFly 3](https://patternfly-react.surge.sh/patternfly-3/index.html), [PatternFly 4](https://patternfly-react.surge.sh/patternfly-4/), [Material-UI](https://material-ui.com/), [Ant Design](https://ant.design/)! and more, see below!)
20+
- You can use your **own components** or use one of our **provided mappers**: [PatternFly 4](https://patternfly-react.surge.sh/patternfly-4/), [Material-UI](https://material-ui.com/), [Ant Design](https://ant.design/)! and more, see below!)
2121
- **Form state manager** out-of-the-box (including error states!)
2222
- Fully **customizable** (you can use your own buttons, actions, etc.)!
2323
- **Conditional** fields!
@@ -36,7 +36,6 @@ Data Driven Forms is a React library used for rendering and managing forms with
3636
- [Installation](#installation)
3737
- [React Form Renderer](#react-form-renderer)
3838
- [Material-UI Mapper](#material-ui-mapper)
39-
- [PatternFly 3 Mapper](#patternfly-3-mapper)
4039
- [PatternFly 4 Mapper](#patternfly-4-mapper)
4140
- [BlueprintJS Mapper](#blueprintjs-mapper)
4241
- [Semantic UI Mapper](#semantic-ui-mapper)
@@ -81,16 +80,6 @@ $ npm install @data-driven-forms/mui-component-mapper -S
8180
$ yarn add @data-driven-forms/mui-component-mapper
8281
```
8382

84-
#### [PatternFly 3 Mapper](https://data-driven-forms.org/mappers/pf3-component-mapper)
85-
86-
```console
87-
$ npm install @data-driven-forms/pf3-component-mapper -S
88-
```
89-
90-
```console
91-
$ yarn add @data-driven-forms/pf3-component-mapper
92-
```
93-
9483
#### [PatternFly 4 Mapper](https://data-driven-forms.org/mappers/pf4-component-mapper)
9584

9685
```console
@@ -149,7 +138,7 @@ In order to Data Driven Forms in your component you need the renderer and a comp
149138

150139
```jsx
151140
import React from 'react';
152-
import FormRenderer, { componentTypes } from '@data-driven-forms/react-form-renderer';
141+
import { FormRenderer, componentTypes } from '@data-driven-forms/react-form-renderer';
153142
import { componentMapper, FormTemplate } from '@data-driven-forms/pf4-component-mapper';
154143

155144
const schema = {
@@ -176,7 +165,7 @@ You can also use custom mapper.
176165

177166
```jsx
178167
import React from 'react';
179-
import FormRenderer, { componentTypes, useFieldApi } from '@data-driven-forms/react-form-renderer';
168+
import { FormRenderer, componentTypes, useFieldApi } from '@data-driven-forms/react-form-renderer';
180169

181170
const TextField = props => {
182171
const {label, input, meta, ...rest} = useFieldApi(props)
@@ -237,7 +226,6 @@ Please use our [documentation site](https://data-driven-forms.org/). In case of
237226
### Useful links
238227

239228
- [Data Driven Forms documentation](https://data-driven-forms.org/)
240-
- [PatternFly 3 Design documentation](https://www.patternfly.org/v3/)
241229
- [PatternFly 4 Design documentation](https://www.patternfly.org/v4/)
242230
- [Material-UI documentation](https://material-ui.com/)
243231
- [Ant Design documentation](https://ant.design/)
@@ -246,7 +234,6 @@ Please use our [documentation site](https://data-driven-forms.org/). In case of
246234
- [IBM Carbon](https://www.carbondesignsystem.com/)
247235
- NPM
248236
- [React Form Renderer](https://www.npmjs.com/package/@data-driven-forms/react-form-renderer)
249-
- [PatternFly 3 Mapper](https://www.npmjs.com/package/@data-driven-forms/pf3-component-mapper)
250237
- [PatternFly 4 Mapper](https://www.npmjs.com/package/@data-driven-forms/pf4-component-mapper)
251238
- [MaterialUI Mapper](https://www.npmjs.com/package/@data-driven-forms/mui-component-mapper)
252239
- [Ant Design Mapper](https://www.npmjs.com/package/@data-driven-forms/ant-component-mapper)
@@ -275,7 +262,7 @@ yarn build
275262
Each package has a small playground `package/demo`, where you can test your changes.
276263

277264
```console
278-
cd packages/pf3-component-mapper
265+
cd packages/pf4-component-mapper
279266
yarn start
280267
```
281268

@@ -294,7 +281,7 @@ Tests needed to be run from the core folder.
294281
```console
295282
yarn test
296283

297-
yarn test packages/pf3-component-mapper
284+
yarn test packages/pf4-component-mapper
298285
```
299286

300287
#### Commits
@@ -306,15 +293,15 @@ Format:
306293
```
307294
[type]([package]): message
308295
309-
fix(pf3): title accepts node
296+
fix(pf4): title accepts node
310297
```
311298

312299
Types:
313300
- `feat`: a new feature, will trigger new `_.X._` release
314301
- `fix`: a fix, will trigger new `_._.X` release
315302

316303
Packages:
317-
- Please describe which package is being changed `pf3`, `renderer`, ...
304+
- Please describe which package is being changed `4`, `renderer`, ...
318305

319306
Please, do not use Semantic Release, if you update only the demo.
320307

__mocks__/with-provider.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint-disable react/prop-types */
22
import React from 'react';
33
import { RendererContext } from '@data-driven-forms/react-form-renderer';
4-
import Form from '@data-driven-forms/react-form-renderer/dist/cjs/form';
4+
import Form from '@data-driven-forms/react-form-renderer/form';
55

66
const RenderWithProvider = ({ value = { formOptions: {} }, children, onSubmit = () => {} }) => {
77
return (

babel.config.js

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,36 +7,20 @@ const camelToSnake = (string) => {
77
};
88

99
module.exports = {
10-
presets: ["@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript"],
11-
plugins: ["@babel/plugin-transform-runtime", "@babel/plugin-syntax-dynamic-import", "lodash", "@babel/plugin-proposal-class-properties" ],
12-
env: {
13-
cjs: {
14-
plugins: [
15-
[
16-
'transform-imports',
17-
{
18-
'@data-driven-forms/react-form-renderer': {
19-
transform: (importName) => `@data-driven-forms/react-form-renderer/dist/cjs/${camelToSnake(importName)}`,
20-
preventFullImport: true
21-
}
22-
},
23-
'@data-driven-forms/react-form-renderer-CJS'
24-
],
25-
]
10+
presets: ["@babel/preset-env", "@babel/preset-react", ["@babel/preset-typescript", {allowNamespaces: true}]],
11+
plugins: [
12+
"@babel/plugin-transform-runtime",
13+
"@babel/plugin-syntax-dynamic-import",
14+
"lodash",
15+
"@babel/plugin-proposal-class-properties",
16+
[
17+
'transform-imports',
18+
{
19+
'@data-driven-forms/react-form-renderer': {
20+
transform: (importName) => `@data-driven-forms/react-form-renderer/${camelToSnake(importName)}`,
21+
preventFullImport: true
22+
}
2623
},
27-
esm: {
28-
plugins: [
29-
[
30-
'transform-imports',
31-
{
32-
'@data-driven-forms/react-form-renderer': {
33-
transform: (importName) => `@data-driven-forms/react-form-renderer/dist/esm/${camelToSnake(importName)}`,
34-
preventFullImport: true
35-
}
36-
},
37-
'@data-driven-forms/react-form-renderer-ESM'
38-
],
39-
]
40-
}
41-
}
24+
'@data-driven-forms/react-form-renderer'
25+
]]
4226
}
File renamed without changes.

package.json

Lines changed: 42 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,39 @@
88
"private": true,
99
"scripts": {
1010
"bootstrap": "lerna bootstrap",
11-
"build": "lerna run build --concurrency 1 --ignore @data-driven-forms/react-renderer-demo",
11+
"build": "yarn clean-build && lerna run build --concurrency 1 --ignore @data-driven-forms/react-renderer-demo",
1212
"vendor": "lerna run vendor",
1313
"test": "jest --coverage",
1414
"test:ci": "jest --coverage --runInBand",
1515
"test:update": "jest -u",
1616
"release": "semantic-release",
1717
"codecov": "codecov",
1818
"start-demo": "lerna run start --scope=@data-driven-forms/react-render-demo",
19-
"lint": "yarn eslint .",
19+
"lint": "yarn eslint ./packages/*/src --ext .js",
2020
"lint:ts": "tslint -c ./tslint.json 'packages/**/*.d.ts'",
21-
"generate-template": "node ./scripts/generate-mapper.js"
21+
"generate-template": "node ./scripts/generate-mapper.js",
22+
"clean-build": "node ./scripts/clean-build.js",
23+
"preinstall": "node ./scripts/clean-build.js"
2224
},
2325
"workspaces": [
2426
"packages/**"
2527
],
2628
"jest": {
2729
"verbose": true,
30+
"testPathIgnorePatterns": [
31+
"/node_modules/"
32+
],
2833
"setupFiles": [
2934
"<rootDir>/config/jest.setup.js"
3035
],
3136
"collectCoverageFrom": [
3237
"<rootDir>/packages/**/src/**/*.js",
38+
"<rootDir>/packages/**/src/**/*.ts",
39+
"!<rootDir>/packages/**/src/**/*.d.ts",
3340
"!<rootDir>/packages/react-renderer-demo/**/*.js",
3441
"!<rootDir>/packages/**/dist",
35-
"!<rootDir>/templates/**/*.js"
42+
"!<rootDir>/templates/**/*.js",
43+
"!<rootDir>/packages/**/src/**/index.js"
3644
],
3745
"moduleNameMapper": {
3846
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
@@ -41,11 +49,12 @@
4149
"modulePathIgnorePatterns": [
4250
"<rootDir>/templates/"
4351
],
44-
"globalSetup": "<rootDir>/globalSetup.js"
52+
"globalSetup": "<rootDir>/config/globalSetup.js"
4553
},
4654
"devDependencies": {
47-
"@babel/plugin-transform-runtime": "^7.9.0",
48-
"@babel/preset-typescript": "^7.9.0",
55+
"@babel/eslint-parser": "^7.13.8",
56+
"@babel/plugin-transform-runtime": "^7.13.9",
57+
"@babel/preset-typescript": "^7.13.0",
4958
"@khala/commit-analyzer-wildcard": "^2.4.1",
5059
"@khala/npm-release-monorepo": "^2.4.1",
5160
"@khala/wildcard-release-notes": "^2.4.1",
@@ -59,17 +68,17 @@
5968
"atob-lite": "^2.0.0",
6069
"babel-plugin-transform-imports": "^2.0.0",
6170
"dtslint": "^3.6.4",
62-
"eslint": "^6.8.0",
63-
"eslint-config-i-am-meticulous": "^12.0.0",
64-
"eslint-config-prettier": "^6.10.0",
65-
"eslint-config-react-app": "^5.2.0",
66-
"eslint-loader": "^3.0.3",
67-
"eslint-plugin-flowtype": "^4.6.0",
68-
"eslint-plugin-import": "^2.20.1",
69-
"eslint-plugin-jsx-a11y": "^6.2.3",
70-
"eslint-plugin-prettier": "^3.1.2",
71-
"eslint-plugin-react": "^7.18.3",
72-
"eslint-plugin-react-hooks": "^2.4.0",
71+
"eslint": "^7.21.0",
72+
"eslint-config-prettier": "^8.1.0",
73+
"eslint-config-react-app": "^6.0.0",
74+
"eslint-loader": "^4.0.2",
75+
"eslint-plugin-flowtype": "^5.3.1",
76+
"eslint-plugin-import": "^2.22.1",
77+
"eslint-plugin-jsx-a11y": "^6.4.1",
78+
"eslint-plugin-prettier": "^3.3.1",
79+
"eslint-plugin-react": "^7.22.0",
80+
"eslint-plugin-react-hooks": "^4.2.0",
81+
"fs-extra": "^9.0.1",
7382
"glob": "^7.1.6",
7483
"identity-obj-proxy": "^3.0.0",
7584
"inquirer": "^7.1.0",
@@ -89,7 +98,20 @@
8998
},
9099
"release": {
91100
"monorepo": "./packages",
92-
"branches": ["+([0-9])?(.{+([0-9]),x}).x", "master", "next", "next-major", {"name": "beta", "prerelease": true}, {"name": "alpha", "prerelease": true}],
101+
"branches": [
102+
"+([0-9])?(.{+([0-9]),x}).x",
103+
"master",
104+
"next",
105+
"next-major",
106+
{
107+
"name": "beta",
108+
"prerelease": true
109+
},
110+
{
111+
"name": "alpha",
112+
"prerelease": true
113+
}
114+
],
93115
"plugins": [
94116
"@khala/npm-release-monorepo",
95117
[
@@ -119,7 +141,7 @@
119141
"assets": [
120142
"package.json"
121143
],
122-
"successComment": ":tada: This ${issue.pull_request ? 'PR is included' : 'issue has been resolved'} in version ${nextRelease.version} :tada:\n\nThe release is available on \n\n- [react-form-renderer (@latest dist-tag)](https://www.npmjs.com/package/@data-driven-forms/react-form-renderer)\n\n- [pf3-component-mapper (@latest dist-tag)](https://www.npmjs.com/package/@data-driven-forms/pf3-component-mapper)\n\n- [pf4-component-mapper (@latest dist-tag)](https://www.npmjs.com/package/@data-driven-forms/pf4-component-mapper)\n\n- [mui-component-mapper (@latest dist-tag)](https://www.npmjs.com/package/@data-driven-forms/mui-component-mapper)\n\nDemo can be found [here](http://data-driven-forms.org/)!"
144+
"successComment": ":tada: This ${issue.pull_request ? 'PR is included' : 'issue has been resolved'} in version ${nextRelease.version} :tada:\n\nThe release is available on \n\n- [react-form-renderer (@latest dist-tag)](https://www.npmjs.com/package/@data-driven-forms/react-form-renderer)\n\nDemo can be found [here](http://data-driven-forms.org/)!"
123145
},
124146
[
125147
"@semantic-release/git",
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../common/.npmignore

packages/ant-component-mapper/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ For using Data Driven Forms in your component you need the renderer and a compon
5656

5757
```jsx
5858
import React from 'react';
59-
import FormRenderer, { componentTypes } from '@data-driven-forms/react-form-renderer';
59+
import { FormRenderer, componentTypes } from '@data-driven-forms/react-form-renderer';
6060
import { componentMapper, layoutMapper } from '@data-driven-forms/ant-component-mapper';
6161

6262
const schema = {

0 commit comments

Comments
 (0)