PromucFlow_constructor/app/client/package.json
ashit-rath 32fee08c5c
feat: JSON Form widget (#8472)
* initial layout

* updated parser to support nested array

* array field rendering

* changes

* ts fix

* minor revert FormWidget

* modified schema structure

* select and switch fields

* added checkbox field

* added RadioGroupField

* partial DateField and defaults, typing refactoring

* added label and field type change

* minor ts changes

* changes

* modified widget/utils for nested panelConfig, modified schema to object approach

* array/object label support

* hide field configuration when children not present

* added tooltip

* field visibility option

* disabled state

* upgraded tslib, form initial values

* custom field configuration - add/hide/edit

* field configuration - label change

* return input when field configuration reaches max depth

* minor changes

* form - scroll, fixedfooter, enitity defn and other minior changes

* form title

* unregister on unmount

* fixes

* zero state

* fix field padding

* patched updating form values, removed linting warnings

* configured action buttons

* minor fix

* minor change

* property pane - sort fields in field configuration

* refactor include all properties

* checkbox properties

* date properties

* refactor typings and radio group properties

* switch, multselect, select, array, object properties

* minor changes

* default value

* ts fixes

* checkbox field properties implementation

* date field prop implementation

* switch field

* select field and fix deep nested meta properties

* multiselect implementation

* minor change

* input field implementation

* fix position jump on field type change

* initial accordian

* field state property and auto-complete of JSONFormComputeControl

* merge fixes

* renamed FormBuilder to JSONForm

* source data validation minor change

* custom field default value fix

* Editable keys for custom field

* minor fixes

* replaced useFieldArray with custom logic, added widget icon

* array and object accordian with border/background styling

* minor change

* disabled states for array and objects

* default value minor fix

* form level styles

* modified logic for isDisabled for array and object, added disabledWhenInvalid, exposed isValid to fieldState for text input, removed useDisableChildren

* added isValid for all field types

* fixed reset to default values

* debounce form values update

* minor change

* minor change

* fix crash - source data change multi-select to array, fix crash - change of options

* fix positioning

* detect date type in source data

* fix crash - when object is passed to regex input field

* fixed default sourceData path for fields

* accodion keep children mounted on collapse

* jest test for schemaParser

* widget/helper and useRegisterFieldInvalid test

* tests for property config helper and generatePanelPropertyConfig

* fix input field validation not appearing

* fix date field type detection

* rename data -> formData

* handle null/undefined field value change in sourceData

* added null/undefined as valid values for defaultValue text field

* auto detect email field

* set formData default value on initial load

* switch field inline positioning

* field margin fix for row direction

* select full width

* fiex date field default value - out of range

* fix any field type to array

* array default value logic change

* base cypress test changes

* initial json form render cy test

* key sanitization

* fix fieldState update logic

* required design, object/array background color, accordion changes, fix - add new custom field

* minor change

* cypress tests

* fix date formatted value, field state cypress test

* cypress - field properties test and fixes

* rename test file

* fix accessort change to blank value, cypress tests

* fix array field default value for modified accessor

* minor fix

* added animate loading

* fix empty state, add new custom field

* test data fix

* fix warnings

* fix timePrecision visibility

* button styling

* ported input v2

* fix jest tests

* fix cypress tests

* perf changes

* perf improvement

* added comments

* multiselect changes

* input field perf refactor

* array field, object field refactor performance

* checkbox field refactor

* refectored date, radio, select and switch

* fixes

* test fixes

* fixes

* minor fix

* rename field renderer

* remove tracked fieldRenderer field

* cypress test fixes

* cypress changes

* array default value fixes

* arrayfield passedDefaultValue

* auto enabled JS mode for few properties, reverted swith and date property controls

* cypress changes

* added widget sniping mode and fixed object passedDefaultValue

* multiselect v2

* select v2

* fix jest tests

* test fixes

* field limit

* rename field type dropdown texts

* field type changes fixes

* jest fixes

* loading state submit button

* default source data for new widget

* modify limit message

* multiseelct default value changes and cypress fix

* select default value

* keep default value intact on field type change

* TextTable cypress text fix

* review changes

* fixed footer changes

* collapse styles section by default

* fixed footer changes

* form modes

* custom field key rentention

* fixed footer fix in view mode

* non ascii characters

* fix meta merge in dataTreeWidget

* minor fixes

* rename useRegisterFieldInvalid.ts -> useRegisterFieldValidity.ts

* modified dependency injection into evaluated values

* refactored fixedfooter logic

* minor change

* accessor update

* minor change

* fixes

* QA fixes date field, scroll content

* fix phone number field, removed visiblity option from array item

* fix sourceData autocomplete

* reset logic

* fix multiselect reset

* form values hydration on widget drag

* code review changes

* reverted order of merge dataTreeWidget

* fixes

* added button titles, fixed hydration issue

* default value fixes

* upgraded react hook form, modified array-level/field-level default value logic

* fixed select validation

* added icon entity explorer, modified icon align control

* modify accessor validation for mongo db _id

* update email field regex

* review changes

* explicitly handle empty source data validation
2022-03-24 12:43:25 +05:30

309 lines
10 KiB
JSON

{
"name": "appsmith",
"version": "0.1.0",
"private": true,
"engines": {
"node": "^14.15.4",
"npm": "^6.14.10"
},
"cracoConfig": "craco.dev.config.js",
"dependencies": {
"@blueprintjs/core": "^3.36.0",
"@blueprintjs/datetime": "^3.23.6",
"@blueprintjs/icons": "^3.10.0",
"@blueprintjs/popover2": "^0.5.0",
"@blueprintjs/select": "^3.10.0",
"@blueprintjs/timezone": "^3.6.0",
"@craco/craco": "^5.7.0",
"@draft-js-plugins/editor": "^4.1.0",
"@draft-js-plugins/mention": "^4.5.1",
"@fusioncharts/powercharts": "^3.16.0",
"@github/g-emoji-element": "^1.1.5",
"@manaflair/redux-batch": "^1.0.0",
"@sentry/react": "^6.2.4",
"@sentry/tracing": "^6.2.4",
"@sentry/webpack-plugin": "^1.12.1",
"@tinymce/tinymce-react": "^3.13.0",
"@uppy/core": "^1.16.0",
"@uppy/dashboard": "^1.16.0",
"@uppy/file-input": "^1.4.22",
"@uppy/google-drive": "^1.5.22",
"@uppy/image-editor": "^0.2.4",
"@uppy/onedrive": "^1.1.22",
"@uppy/react": "^1.11.2",
"@uppy/url": "^1.5.16",
"@uppy/webcam": "^1.8.4",
"@welldone-software/why-did-you-render": "^4.2.5",
"acorn-walk": "^8.2.0",
"algoliasearch": "^4.2.0",
"astring": "^1.7.5",
"axios": "^0.21.1",
"caniuse-lite": "^1.0.30001208",
"classnames": "^2.3.1",
"codemirror": "^5.59.2",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.9.1",
"craco-alias": "^2.1.1",
"cypress-log-to-output": "^1.1.2",
"dayjs": "^1.10.6",
"deep-diff": "^1.0.2",
"downloadjs": "^1.4.7",
"draft-js": "^0.11.7",
"emoji-mart": "^3.0.1",
"eslint": "^7.11.0",
"exceljs-lightweight": "^1.14.0",
"fast-deep-equal": "^3.1.1",
"fast-xml-parser": "^3.17.5",
"flow-bin": "^0.148.0",
"fuse.js": "^3.4.5",
"fusioncharts": "^3.18.0",
"fusionmaps": "^3.18.0",
"history": "^4.10.1",
"husky": "^3.0.5",
"immer": "^9.0.6",
"instantsearch.css": "^7.4.2",
"instantsearch.js": "^4.4.1",
"interweave": "^12.7.2",
"interweave-autolink": "^4.4.2",
"js-beautify": "^1.14.0",
"js-sha256": "^0.9.0",
"jshint": "^2.13.4",
"json-fn": "^1.1.1",
"libphonenumber-js": "^1.9.44",
"lint-staged": "^9.2.5",
"localforage": "^1.7.3",
"lodash": "^4.17.21",
"lodash-es": "4.17.21",
"lodash-move": "^1.1.1",
"loglevel": "^1.7.1",
"lottie-web": "^5.7.4",
"mammoth": "^1.4.19",
"marked": "^2.0.0",
"memoize-one": "^5.2.1",
"moment": "^2.24.0",
"moment-timezone": "^0.5.27",
"nanoid": "^2.0.4",
"node-forge": "^1.0.0",
"node-sass": "^7.0.1",
"normalizr": "^3.3.0",
"path-to-regexp": "^6.2.0",
"popper.js": "^1.15.0",
"prettier": "^1.18.2",
"prismjs": "^1.27.0",
"punycode": "^2.1.1",
"rc-pagination": "^3.1.3",
"rc-select": "^12.1.10",
"rc-tree-select": "^4.4.0-alpha.2",
"re-reselect": "^3.4.0",
"react": "^16.12.0",
"react-base-table": "^1.9.1",
"react-beautiful-dnd": "^12.2.0",
"react-custom-scrollbars": "^4.2.1",
"react-dnd": "^9.3.4",
"react-dnd-html5-backend": "^9.3.4",
"react-dnd-touch-backend": "^9.4.0",
"react-documents": "^1.0.4",
"react-dom": "^16.7.0",
"react-full-screen": "^1.1.0",
"react-fusioncharts": "^3.1.2",
"react-google-maps": "^9.4.5",
"react-google-recaptcha": "^2.1.0",
"react-helmet": "^5.2.1",
"react-hook-form": "^7.28.0",
"react-infinite-scroller": "^1.2.4",
"react-instantsearch-dom": "^6.4.0",
"react-json-view": "^1.19.1",
"react-masonry-css": "^1.0.16",
"react-media-recorder": "^1.6.1",
"react-mentions": "^4.1.1",
"react-paginating": "^1.4.0",
"react-player": "^2.3.1",
"react-rating": "^2.0.5",
"react-redux": "^7.2.4",
"react-responsive": "^9.0.0-beta.3",
"react-router": "^5.1.2",
"react-router-dom": "^5.1.2",
"react-scripts": "4.0.1",
"react-select": "^3.0.8",
"react-spring": "^9.4.0",
"react-syntax-highlighter": "^15.4.4",
"react-table": "^7.0.0",
"react-tabs": "^3.0.0",
"react-timer-hook": "^3.0.4",
"react-toastify": "^5.5.0",
"react-transition-group": "^4.3.0",
"react-use-gesture": "^7.0.4",
"react-virtuoso": "^1.9.0",
"react-webcam": "^6.0.0",
"react-window": "^1.8.6",
"react-zoom-pan-pinch": "^1.6.1",
"redux": "^4.0.1",
"redux-form": "^8.2.6",
"redux-saga": "^1.1.3",
"remixicon-react": "^1.0.0",
"reselect": "^4.0.0",
"rfdc": "^1.3.0",
"scroll-into-view-if-needed": "^2.2.26",
"shallowequal": "^1.1.0",
"showdown": "^1.9.1",
"smartlook-client": "^4.5.1",
"socket.io-client": "^4.2.0",
"styled-components": "^5.2.0",
"styled-system": "^5.1.5",
"tern": "^0.21.0",
"tinycolor2": "^1.4.2",
"toposort": "^2.0.2",
"ts-loader": "^6.0.4",
"tslib": "^2.3.1",
"typescript": "^4.1.3",
"unescape-js": "^1.1.4",
"url-search-params-polyfill": "^8.0.0",
"worker-loader": "^3.0.2",
"yjs": "^13.5.12",
"zipcelx": "^1.6.2"
},
"scripts": {
"analyze": "yarn cra-bundle-analyzer",
"start": "BROWSER=none EXTEND_ESLINT=true REACT_APP_ENVIRONMENT=DEVELOPMENT REACT_APP_CLIENT_LOG_LEVEL=debug HOST=dev.appsmith.com craco start",
"build": "./build.sh",
"build-local": "craco --max-old-space-size=4096 build --config craco.build.config.js",
"build-staging": "REACT_APP_ENVIRONMENT=STAGING craco --max-old-space-size=4096 build --config craco.build.config.js",
"test": "CYPRESS_BASE_URL=https://dev.appsmith.com cypress/test.sh",
"test:ci": "CYPRESS_BASE_URL=https://dev.appsmith.com cypress/test.sh --env=ci",
"eject": "react-scripts eject",
"start-prod": "REACT_APP_ENVIRONMENT=PRODUCTION craco start",
"cytest": "REACT_APP_TESTING=TESTING REACT_APP_ENVIRONMENT=DEVELOPMENT craco start & ./node_modules/.bin/cypress open",
"test:unit": "$(npm bin)/jest -b --colors --no-cache --coverage --collectCoverage=true --coverageDirectory='../../' --coverageReporters='json-summary'",
"test:jest": "$(npm bin)/jest --watch",
"generate:widget": "plop --plopfile generators/index.js",
"postinstall": "patch-package"
},
"resolution": {
"jest": "24.8.0"
},
"eslintConfig": {
"extends": "react-app",
"parser": "@typescript-eslint/parser",
"overrides": [
{
"files": [
"**/*.stories.*"
],
"rules": {
"import/no-anonymous-default-export": "off"
}
}
]
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"devDependencies": {
"@babel/core": "^7.7.4",
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.2.6",
"@testing-library/react-hooks": "^7.0.2",
"@testing-library/user-event": "^13.1.1",
"@types/codemirror": "^0.0.96",
"@types/deep-diff": "^1.0.0",
"@types/dom-mediacapture-record": "^1.0.11",
"@types/downloadjs": "^1.4.2",
"@types/draft-js": "^0.11.1",
"@types/emoji-mart": "^3.0.4",
"@types/jest": "^24.0.22",
"@types/js-beautify": "^1.13.2",
"@types/jshint": "^2.12.0",
"@types/lodash": "^4.14.120",
"@types/marked": "^1.2.2",
"@types/moment-timezone": "^0.5.10",
"@types/nanoid": "^2.0.0",
"@types/node": "^10.12.18",
"@types/node-forge": "^0.10.0",
"@types/prismjs": "^1.16.1",
"@types/react": "^16.8.2",
"@types/react-beautiful-dnd": "^11.0.4",
"@types/react-custom-scrollbars": "^4.0.7",
"@types/react-dom": "^16.8.0",
"@types/react-google-recaptcha": "^2.1.1",
"@types/react-helmet": "^5.0.14",
"@types/react-instantsearch-dom": "^6.3.0",
"@types/react-redux": "^7.0.1",
"@types/react-router-dom": "^5.1.2",
"@types/react-select": "^3.0.5",
"@types/react-syntax-highlighter": "^13.5.2",
"@types/react-table": "^7.0.13",
"@types/react-tabs": "^2.3.1",
"@types/react-test-renderer": "^17.0.1",
"@types/react-window": "^1.8.2",
"@types/redux-form": "^8.1.9",
"@types/redux-mock-store": "^1.0.2",
"@types/resize-observer-browser": "^0.1.5",
"@types/showdown": "^1.9.4",
"@types/styled-components": "^5.1.3",
"@types/styled-system": "^5.1.9",
"@types/tern": "0.22.0",
"@types/tinycolor2": "^1.4.2",
"@types/toposort": "^2.0.3",
"@types/zipcelx": "^1.5.0",
"@typescript-eslint/eslint-plugin": "^4.15.0",
"@typescript-eslint/parser": "^4.15.0",
"autoprefixer": "^9",
"babel-plugin-module-resolver": "^4.1.0",
"babel-plugin-styled-components": "^1.10.7",
"brotli-webpack-plugin": "^1.1.0",
"compression-webpack-plugin": "^6.0.5",
"cra-bundle-analyzer": "^0.1.0",
"craco-babel-loader": "^0.1.4",
"cy-verify-downloads": "^0.0.5",
"cypress": "8.7.0",
"cypress-file-upload": "^4.1.1",
"cypress-image-snapshot": "^4.0.1",
"cypress-multi-reporters": "^1.2.4",
"cypress-real-events": "^1.5.1",
"cypress-wait-until": "^1.7.2",
"cypress-xpath": "^1.4.0",
"dotenv": "^8.1.0",
"eslint": "^7.11.0",
"eslint-config-prettier": "^6.12.0",
"eslint-config-react": "^1.1.7",
"eslint-import-resolver-babel-module": "^5.3.1",
"eslint-plugin-cypress": "^2.11.2",
"eslint-plugin-import": "^2.25.2",
"eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-react": "^7.21.3",
"eslint-plugin-react-hooks": "^2.3.0",
"eslint-plugin-sort-destructure-keys": "^1.3.5",
"factory.ts": "^0.5.1",
"jest-canvas-mock": "^2.3.1",
"mocha": "^7.1.0",
"mocha-junit-reporter": "^1.23.3",
"mochawesome": "^5.0.0",
"mochawesome-report-generator": "^4.1.0",
"msw": "^0.28.0",
"patch-package": "^6.4.7",
"plop": "^2.7.4",
"postcss": "^8",
"postinstall-postinstall": "^2.1.0",
"raw-loader": "^4.0.2",
"react-docgen-typescript-loader": "^3.6.0",
"react-is": "^16.12.0",
"react-test-renderer": "^16.11.0",
"redux-devtools": "^3.5.0",
"redux-devtools-extension": "^2.13.8",
"redux-mock-store": "^1.5.4",
"storybook-addon-designs": "^5.4.0",
"tailwindcss": "npm:@tailwindcss/postcss7-compat",
"ts-jest": "^26.5.4",
"webpack-merge": "^4.2.2",
"workbox-webpack-plugin": "^5.1.2"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
}
}