From 1475a954fe491b958b9bf325723fc6fd795aa9c1 Mon Sep 17 00:00:00 2001 From: Cameron Contour <35661840+ccontour@users.noreply.github.com> Date: Fri, 28 Jan 2022 11:53:22 -0600 Subject: [PATCH 001/188] Update reference.js Crash fixing - 15906 --- src/actions/properties/reference.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/actions/properties/reference.js b/src/actions/properties/reference.js index 35df5cfe3d..0881540c67 100644 --- a/src/actions/properties/reference.js +++ b/src/actions/properties/reference.js @@ -334,9 +334,11 @@ module.exports = (router) => { if (err) { return reject(err); } - util.removeProtectedFields(form, 'index', res.resource.item.map(submission => { - return _.get(submission, `data.${path}`); - })); + if( res.resource && Array.isArray(res.resource.item) ) { + util.removeProtectedFields(form, 'index', res.resource.item.map(submission => { + return _.get(submission, `data.${path}`); + })); + } resolve(); }); }); From 7c23c7a67a5b7b32d8c910aa264e51d18d613930 Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Wed, 2 Feb 2022 13:56:02 -0600 Subject: [PATCH 002/188] Updated build --- Changelog.md | 5 +++ package-lock.json | 92 ++++++++++++++++++++++++----------------------- package.json | 4 +-- 3 files changed, 54 insertions(+), 47 deletions(-) diff --git a/Changelog.md b/Changelog.md index 675436c810..12f999b696 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.0-rc.3 +### Changed + - Updated formiojs@4.14.1-rc.10 + - Update reference.js + ## 2.4.0-rc.2 ### Changed - Updated formiojs@4.14.1-rc.8 diff --git a/package-lock.json b/package-lock.json index 5a77c36eac..e63934939f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.2", + "version": "2.4.0-rc.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1574,9 +1574,9 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.0.tgz", + "integrity": "sha512-S55LzUl8HUav8l9E2PBTlC5PAJrHK7tkM+XXFGD+fbsbkTzhCpG6K05LxJcUOEWzMa4v6ptcMZ9s3fOdJDu0Zw==", "optional": true }, "dezalgo": { @@ -2329,11 +2329,11 @@ } }, "formiojs": { - "version": "4.14.1-rc.8", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.8.tgz", - "integrity": "sha512-a4KfbJf6iwjGMhsKZXO/n+u9ha7BtlGgBZBEssKO8AHjEPe1MDsI9ACzUDctLZ936YHhdwjyWpKNTpQYShR+Aw==", + "version": "4.14.1-rc.10", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.10.tgz", + "integrity": "sha512-B+J/Zc07oxtgkbqE18EU9rEpTRjK7KWp/cO7ZoF1npTa+hW/Sh7eMTn83l52gYwXpHRGULGQ7L1oIHoEQIeihg==", "requires": { - "@formio/bootstrap3": "^2.12.0", + "@formio/bootstrap3": "^2.12.1-rc.1", "@formio/choices.js": "^9.0.1", "@formio/semantic": "^2.6.0", "@formio/vanilla-text-mask": "^5.1.1", @@ -2368,6 +2368,16 @@ "tippy.js": "^6.3.7", "uuid": "^8.3.2", "vanilla-picker": "^2.12.1" + }, + "dependencies": { + "@formio/bootstrap3": { + "version": "2.12.1-rc.1", + "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.1-rc.1.tgz", + "integrity": "sha512-fs40LxrXhfjGKD4G/nEsxMr4TfagVpyC0YIKgAKueM2hzgjVYgi0fVyJEiH3h8S0f5KI2ta19XWAPvonydxoKA==", + "requires": { + "resize-observer-polyfill": "^1.5.1" + } + } } }, "forwarded": { @@ -3179,13 +3189,13 @@ "integrity": "sha512-uESCXM2KdtOQ8LOvKyTUXEeg0MkYp4wGglTIpGcYHvjJcS5sn2Wkfrfit8m4xSbaNDAw2KdI9elgkOxZbrFYbg==" }, "keytar": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.7.0.tgz", - "integrity": "sha512-YEY9HWqThQc5q5xbXbRwsZTh2PJ36OSYRjSv3NN2xf5s5dpLTjEZnC2YikR29OaVybf9nQ0dJ/80i40RS97t/A==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.8.0.tgz", + "integrity": "sha512-mR+BqtAOIW8j+T5FtLVyckCbvROWQD+4FzPeFMuk5njEZkXLpVPCGF26Y3mTyxMAAL1XCfswR7S6kIf+THSRFA==", "optional": true, "requires": { - "node-addon-api": "^3.0.0", - "prebuild-install": "^6.0.0" + "node-addon-api": "^4.3.0", + "prebuild-install": "^7.0.1" } }, "keyv": { @@ -3804,20 +3814,12 @@ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "node-abi": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", - "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.7.0.tgz", + "integrity": "sha512-3J+U4CvxVNEk9+lGdJkmYbN8cIN0HMTDT9R0ezX7pmp7aD6BaKsfAHwVn3IvVg6pYIRUuQ+gHW1eawrvywnSQQ==", "optional": true, "requires": { - "semver": "^5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "optional": true - } + "semver": "^7.3.5" } }, "node-abort-controller": { @@ -3826,9 +3828,9 @@ "integrity": "sha512-L8RfEgjBTHAISTuagw51PprVAqNZoG6KSB6LQ6H1bskMVkFs5E71IyjauLBv3XbuomJlguWF/VnRHdJ1gqiAqA==" }, "node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", "optional": true }, "node-fetch": { @@ -4278,22 +4280,22 @@ } }, "prebuild-install": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", - "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz", + "integrity": "sha512-QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==", "optional": true, "requires": { - "detect-libc": "^1.0.3", + "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", - "node-abi": "^2.21.0", + "node-abi": "^3.3.0", "npmlog": "^4.0.1", "pump": "^3.0.0", "rc": "^1.2.7", - "simple-get": "^3.0.3", + "simple-get": "^4.0.0", "tar-fs": "^2.0.0", "tunnel-agent": "^0.6.0" } @@ -4828,29 +4830,29 @@ "optional": true }, "simple-get": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", - "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", "optional": true, "requires": { - "decompress-response": "^4.2.0", + "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" }, "dependencies": { "decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "optional": true, "requires": { - "mimic-response": "^2.0.0" + "mimic-response": "^3.1.0" } }, "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "optional": true } } diff --git a/package.json b/package.json index d64490167c..497d5cf177 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.2", + "version": "2.4.0-rc.3", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.1", - "formiojs": "^4.14.1-rc.8", + "formiojs": "^4.14.1-rc.10", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", From 8701efcf2f7cd506b009e5ac82b0efe0a69dd6bd Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Thu, 3 Feb 2022 20:14:25 -0600 Subject: [PATCH 003/188] Updated build --- Changelog.md | 4 ++++ package-lock.json | 8 ++++---- package.json | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Changelog.md b/Changelog.md index 12f999b696..2818d8ac37 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.0-rc.4 +### Changed + - Updated formiojs@4.14.1-rc.11 + ## 2.4.0-rc.3 ### Changed - Updated formiojs@4.14.1-rc.10 diff --git a/package-lock.json b/package-lock.json index e63934939f..a5bf8df6c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.3", + "version": "2.4.0-rc.4", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2329,9 +2329,9 @@ } }, "formiojs": { - "version": "4.14.1-rc.10", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.10.tgz", - "integrity": "sha512-B+J/Zc07oxtgkbqE18EU9rEpTRjK7KWp/cO7ZoF1npTa+hW/Sh7eMTn83l52gYwXpHRGULGQ7L1oIHoEQIeihg==", + "version": "4.14.1-rc.11", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.11.tgz", + "integrity": "sha512-Yi4X7f3LYNnzEwhL7EMLNGKwq0PO9NYEw6PN9ZG8/Y/RKZ9Li3W+WHYtq++qX050j/xS4O3eItktLACxQh3g0A==", "requires": { "@formio/bootstrap3": "^2.12.1-rc.1", "@formio/choices.js": "^9.0.1", diff --git a/package.json b/package.json index 497d5cf177..9489250026 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.3", + "version": "2.4.0-rc.4", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.1", - "formiojs": "^4.14.1-rc.10", + "formiojs": "^4.14.1-rc.11", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", From 77b0f0395a9a83fe51e49592e338630a54bd51d5 Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Fri, 4 Feb 2022 10:21:10 -0600 Subject: [PATCH 004/188] Updated build --- Changelog.md | 4 ++++ package-lock.json | 8 ++++---- package.json | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Changelog.md b/Changelog.md index 2818d8ac37..0db881dd0c 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.0-rc.5 +### Changed + - Updated formiojs@4.14.1-rc.12 + ## 2.4.0-rc.4 ### Changed - Updated formiojs@4.14.1-rc.11 diff --git a/package-lock.json b/package-lock.json index a5bf8df6c7..3e768b1086 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.4", + "version": "2.4.0-rc.5", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2329,9 +2329,9 @@ } }, "formiojs": { - "version": "4.14.1-rc.11", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.11.tgz", - "integrity": "sha512-Yi4X7f3LYNnzEwhL7EMLNGKwq0PO9NYEw6PN9ZG8/Y/RKZ9Li3W+WHYtq++qX050j/xS4O3eItktLACxQh3g0A==", + "version": "4.14.1-rc.12", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.12.tgz", + "integrity": "sha512-yKeJcEJ8p99WfKvVZXEVuqnf+JZzJSDmLaaDvaPrxpbcL0SZ22WerKF9jBfyeqczkfVPf5E35XAjYafrAOgJog==", "requires": { "@formio/bootstrap3": "^2.12.1-rc.1", "@formio/choices.js": "^9.0.1", diff --git a/package.json b/package.json index 9489250026..8f3403df56 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.4", + "version": "2.4.0-rc.5", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.1", - "formiojs": "^4.14.1-rc.11", + "formiojs": "^4.14.1-rc.12", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", From 339b7071ab485d5ccffe7e9eafaf95f700161f23 Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Thu, 10 Feb 2022 22:05:44 -0600 Subject: [PATCH 005/188] Updated build --- Changelog.md | 4 ++++ package-lock.json | 8 ++++---- package.json | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Changelog.md b/Changelog.md index 0db881dd0c..fb4fe1a001 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.0-rc.6 +### Changed + - Updated formiojs@4.14.1-rc.13 + ## 2.4.0-rc.5 ### Changed - Updated formiojs@4.14.1-rc.12 diff --git a/package-lock.json b/package-lock.json index 3e768b1086..002221b1cf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.5", + "version": "2.4.0-rc.6", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2329,9 +2329,9 @@ } }, "formiojs": { - "version": "4.14.1-rc.12", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.12.tgz", - "integrity": "sha512-yKeJcEJ8p99WfKvVZXEVuqnf+JZzJSDmLaaDvaPrxpbcL0SZ22WerKF9jBfyeqczkfVPf5E35XAjYafrAOgJog==", + "version": "4.14.1-rc.13", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.13.tgz", + "integrity": "sha512-EZg7ACL4nvR1YMaw43OUVChxXx7a4J+6DkZmu4B6rBrq/wMCfgpZM8hlKJZEOk/ZtHZII74ZHnDPNkVO3fLyyA==", "requires": { "@formio/bootstrap3": "^2.12.1-rc.1", "@formio/choices.js": "^9.0.1", diff --git a/package.json b/package.json index 8f3403df56..8eeada9d40 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.5", + "version": "2.4.0-rc.6", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.1", - "formiojs": "^4.14.1-rc.12", + "formiojs": "^4.14.1-rc.13", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", From 4d3a130f8cacd669cd7817c39e1abcd5f8dd3e9e Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Tue, 15 Feb 2022 15:11:15 -0600 Subject: [PATCH 006/188] Updated build --- Changelog.md | 4 ++++ package-lock.json | 32 ++++++++++++++++++++------------ package.json | 6 +++--- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/Changelog.md b/Changelog.md index fb4fe1a001..2b8734c1c1 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.0-rc.7 +### Changed + - Updated formiojs@4.14.1-rc.14 + ## 2.4.0-rc.6 ### Changed - Updated formiojs@4.14.1-rc.13 diff --git a/package-lock.json b/package-lock.json index 002221b1cf..a20ace5900 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.6", + "version": "2.4.0-rc.7", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -682,8 +682,7 @@ "acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" }, "acorn-jsx": { "version": "5.3.2", @@ -691,6 +690,11 @@ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + }, "adal-node": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/adal-node/-/adal-node-0.2.3.tgz", @@ -2148,9 +2152,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.7", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", - "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==" + "version": "1.14.8", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", + "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==" }, "foreach": { "version": "2.0.5", @@ -2329,9 +2333,9 @@ } }, "formiojs": { - "version": "4.14.1-rc.13", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.13.tgz", - "integrity": "sha512-EZg7ACL4nvR1YMaw43OUVChxXx7a4J+6DkZmu4B6rBrq/wMCfgpZM8hlKJZEOk/ZtHZII74ZHnDPNkVO3fLyyA==", + "version": "4.14.1-rc.14", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.14.tgz", + "integrity": "sha512-t/3BGhQ0DoVdxt3rOFT3PhFDBqsQigtG8qdr8JnjBumntomn06duvqRVVdgRGno7OAuFFfO9FE0vHvdEaZTkYg==", "requires": { "@formio/bootstrap3": "^2.12.1-rc.1", "@formio/choices.js": "^9.0.1", @@ -5475,9 +5479,13 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, "vm2": { - "version": "3.9.5", - "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.5.tgz", - "integrity": "sha512-LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng==" + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.7.tgz", + "integrity": "sha512-g/GZ7V0Mlmch3eDVOATvAXr1GsJNg6kQ5PjvYy3HbJMCRn5slNbo/u73Uy7r5yUej1cRa3ZjtoVwcWSQuQ/fow==", + "requires": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + } }, "web-streams-polyfill": { "version": "3.2.0", diff --git a/package.json b/package.json index 8eeada9d40..7ed9cafa9c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.6", + "version": "2.4.0-rc.7", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.1", - "formiojs": "^4.14.1-rc.13", + "formiojs": "^4.14.1-rc.14", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", @@ -64,7 +64,7 @@ "superagent-retry": "^0.6.0", "through": "^2.3.8", "vanilla-text-mask": "^5.1.1", - "vm2": "^3.9.5" + "vm2": "^3.9.7" }, "devDependencies": { "eslint": "^8.7.0", From a97ef66dc5caca872a1974173e8a6c8a9046c509 Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Thu, 17 Feb 2022 11:19:03 -0600 Subject: [PATCH 007/188] Updated build --- Changelog.md | 4 ++++ package-lock.json | 8 ++++---- package.json | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Changelog.md b/Changelog.md index 2b8734c1c1..76ebc6bf26 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.0-rc.8 +### Changed + - Updated formiojs@4.14.1-rc.15 + ## 2.4.0-rc.7 ### Changed - Updated formiojs@4.14.1-rc.14 diff --git a/package-lock.json b/package-lock.json index a20ace5900..549c10ba6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.7", + "version": "2.4.0-rc.8", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2333,9 +2333,9 @@ } }, "formiojs": { - "version": "4.14.1-rc.14", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.14.tgz", - "integrity": "sha512-t/3BGhQ0DoVdxt3rOFT3PhFDBqsQigtG8qdr8JnjBumntomn06duvqRVVdgRGno7OAuFFfO9FE0vHvdEaZTkYg==", + "version": "4.14.1-rc.15", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.15.tgz", + "integrity": "sha512-RC6ke/akW7ByD5na//DQaKLiHE6sEt1ng1MsMFcqeonBxip4AhEbn7cYBlqNpdrAbQts8mb2QO4BJlR5lDd/mA==", "requires": { "@formio/bootstrap3": "^2.12.1-rc.1", "@formio/choices.js": "^9.0.1", diff --git a/package.json b/package.json index 7ed9cafa9c..208ee69bfa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.7", + "version": "2.4.0-rc.8", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.1", - "formiojs": "^4.14.1-rc.14", + "formiojs": "^4.14.1-rc.15", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", From ff7874b807daab73118cf921cf7884ee47766d65 Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Fri, 18 Feb 2022 10:35:41 -0600 Subject: [PATCH 008/188] Updated build --- Changelog.md | 4 ++++ package-lock.json | 8 ++++---- package.json | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Changelog.md b/Changelog.md index 76ebc6bf26..c20e20f66b 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.0-rc.9 +### Changed + - Updated formiojs@4.14.1-rc.16 + ## 2.4.0-rc.8 ### Changed - Updated formiojs@4.14.1-rc.15 diff --git a/package-lock.json b/package-lock.json index 549c10ba6c..e9a00e10fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.8", + "version": "2.4.0-rc.9", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2333,9 +2333,9 @@ } }, "formiojs": { - "version": "4.14.1-rc.15", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.15.tgz", - "integrity": "sha512-RC6ke/akW7ByD5na//DQaKLiHE6sEt1ng1MsMFcqeonBxip4AhEbn7cYBlqNpdrAbQts8mb2QO4BJlR5lDd/mA==", + "version": "4.14.1-rc.16", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.16.tgz", + "integrity": "sha512-zuyz8vV/7nD/U2BQy95F37jWKw6k/pu4PL+xiVMuFIdoGeaMQD7Gbv9p8fOId1H/kC/PYkqqmp9890hTU07lOA==", "requires": { "@formio/bootstrap3": "^2.12.1-rc.1", "@formio/choices.js": "^9.0.1", diff --git a/package.json b/package.json index 208ee69bfa..a578880411 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.8", + "version": "2.4.0-rc.9", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.1", - "formiojs": "^4.14.1-rc.15", + "formiojs": "^4.14.1-rc.16", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", From 9db164b3fc935efd57a72cbeb5eeb0085693744f Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Fri, 18 Feb 2022 12:37:02 -0600 Subject: [PATCH 009/188] Updated build --- Changelog.md | 4 ++++ package-lock.json | 8 ++++---- package.json | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Changelog.md b/Changelog.md index c20e20f66b..8037aa858e 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.0-rc.10 +### Changed + - Updated formiojs@4.14.1-rc.17 + ## 2.4.0-rc.9 ### Changed - Updated formiojs@4.14.1-rc.16 diff --git a/package-lock.json b/package-lock.json index e9a00e10fd..f918c91f09 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.9", + "version": "2.4.0-rc.10", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2333,9 +2333,9 @@ } }, "formiojs": { - "version": "4.14.1-rc.16", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.16.tgz", - "integrity": "sha512-zuyz8vV/7nD/U2BQy95F37jWKw6k/pu4PL+xiVMuFIdoGeaMQD7Gbv9p8fOId1H/kC/PYkqqmp9890hTU07lOA==", + "version": "4.14.1-rc.17", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.17.tgz", + "integrity": "sha512-1EsCsgjoLzycp8OCqe59b0LR0NFwOIPspNGnFBsC2tN+hgtg/Ui4OoZS6aR0rO+QJsyyoyo7auVptjeKTU9nkw==", "requires": { "@formio/bootstrap3": "^2.12.1-rc.1", "@formio/choices.js": "^9.0.1", diff --git a/package.json b/package.json index a578880411..81085fbead 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.9", + "version": "2.4.0-rc.10", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.1", - "formiojs": "^4.14.1-rc.16", + "formiojs": "^4.14.1-rc.17", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", From 5f4d29477486548707ed9114725283951446f03a Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Fri, 18 Feb 2022 13:59:59 -0600 Subject: [PATCH 010/188] Updated build --- Changelog.md | 5 +++++ package-lock.json | 16 ++++++++-------- package.json | 4 ++-- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Changelog.md b/Changelog.md index 8037aa858e..0151391cf7 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.0 +### Changed + - Official Release + - Updated formiojs@4.14.1 + ## 2.4.0-rc.10 ### Changed - Updated formiojs@4.14.1-rc.17 diff --git a/package-lock.json b/package-lock.json index f918c91f09..5364b39f63 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.10", + "version": "2.4.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2333,11 +2333,11 @@ } }, "formiojs": { - "version": "4.14.1-rc.17", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1-rc.17.tgz", - "integrity": "sha512-1EsCsgjoLzycp8OCqe59b0LR0NFwOIPspNGnFBsC2tN+hgtg/Ui4OoZS6aR0rO+QJsyyoyo7auVptjeKTU9nkw==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1.tgz", + "integrity": "sha512-n8TpAm7hF9zu2CH9xhskMrYamnxsfNVXOBOetpNv830VzKComC3Zm10+oudrV/7ogw00dizJh0LewJ/oNDXEvg==", "requires": { - "@formio/bootstrap3": "^2.12.1-rc.1", + "@formio/bootstrap3": "^2.12.1", "@formio/choices.js": "^9.0.1", "@formio/semantic": "^2.6.0", "@formio/vanilla-text-mask": "^5.1.1", @@ -2375,9 +2375,9 @@ }, "dependencies": { "@formio/bootstrap3": { - "version": "2.12.1-rc.1", - "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.1-rc.1.tgz", - "integrity": "sha512-fs40LxrXhfjGKD4G/nEsxMr4TfagVpyC0YIKgAKueM2hzgjVYgi0fVyJEiH3h8S0f5KI2ta19XWAPvonydxoKA==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.1.tgz", + "integrity": "sha512-G8Ub+sdrOPux7cGS4PgOuuk0zlNjjp6h3wVVN0/BazjxJI5KOiyUgUtK/r2I8x5a+Evbcjn/Lx8zf4YSb8u5CA==", "requires": { "resize-observer-polyfill": "^1.5.1" } diff --git a/package.json b/package.json index 81085fbead..75aeb5275c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0-rc.10", + "version": "2.4.0", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.1", - "formiojs": "^4.14.1-rc.17", + "formiojs": "^4.14.1", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", From 89e183cf102685d9dda09000cd2281c92a2ed5d3 Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Tue, 29 Mar 2022 20:58:15 -0500 Subject: [PATCH 011/188] Updated build --- Changelog.md | 4 ++++ package-lock.json | 14 +++++++------- package.json | 4 ++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Changelog.md b/Changelog.md index 0151391cf7..3a58b25d5d 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.1-rc.1 +### Changed + - Updated formiojs@4.14.6-rc.1 + ## 2.4.0 ### Changed - Official Release diff --git a/package-lock.json b/package-lock.json index 5364b39f63..1380df4bd2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0", + "version": "2.4.1-rc.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -518,9 +518,9 @@ "integrity": "sha512-BuJuXRSJNQ3QoKA6GWWDyuLpOUck+9hAXNMCnrloc1aWVoy6Xq6t9PUV08aBZ4Lutqq2LEHM486bpZqoViScog==" }, "@popperjs/core": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz", - "integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==" + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.4.tgz", + "integrity": "sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg==" }, "@sendgrid/client": { "version": "7.6.0", @@ -2333,9 +2333,9 @@ } }, "formiojs": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.1.tgz", - "integrity": "sha512-n8TpAm7hF9zu2CH9xhskMrYamnxsfNVXOBOetpNv830VzKComC3Zm10+oudrV/7ogw00dizJh0LewJ/oNDXEvg==", + "version": "4.14.6-rc.1", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.6-rc.1.tgz", + "integrity": "sha512-5jScg8iGMGPoK7uTW4VcM1tYsSGqNkecCt/34n1/YGigvX46+CC1/5O4MBgalEadnSBBPMatit16Jkhne7Akaw==", "requires": { "@formio/bootstrap3": "^2.12.1", "@formio/choices.js": "^9.0.1", diff --git a/package.json b/package.json index 75aeb5275c..b5d9cd0b25 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.0", + "version": "2.4.1-rc.1", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.1", - "formiojs": "^4.14.1", + "formiojs": "^4.14.6-rc.1", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", From 1754d782f37f809e6838d644d1f98ef22ab49836 Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Fri, 8 Apr 2022 10:28:21 -0500 Subject: [PATCH 012/188] Updated build --- Changelog.md | 5 ++ package-lock.json | 223 +++++++++++++++------------------------------- package.json | 6 +- 3 files changed, 78 insertions(+), 156 deletions(-) diff --git a/Changelog.md b/Changelog.md index 3a58b25d5d..17cc6a89fa 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.1-rc.2 +### Changed + - Updated formiojs@4.14.6-rc.2 + - Updated formio-workers@1.16.2 + ## 2.4.1-rc.1 ### Changed - Updated formiojs@4.14.6-rc.1 diff --git a/package-lock.json b/package-lock.json index 1380df4bd2..5372eb0556 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.1-rc.1", + "version": "2.4.1-rc.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -419,9 +419,9 @@ } }, "@babel/runtime": { - "version": "7.16.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.5.tgz", - "integrity": "sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "requires": { "regenerator-runtime": "^0.13.4" } @@ -452,9 +452,9 @@ } }, "@formio/bootstrap3": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.0.tgz", - "integrity": "sha512-l1KRCmQFw68c9LtNzysVQ7XXeUgfg1G3roQgY4tn1hFbKXcm3yMhOSrY6xcBDJHW/PN4n5ENwbBCfRjrJVkl0Q==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.1.tgz", + "integrity": "sha512-G8Ub+sdrOPux7cGS4PgOuuk0zlNjjp6h3wVVN0/BazjxJI5KOiyUgUtK/r2I8x5a+Evbcjn/Lx8zf4YSb8u5CA==", "requires": { "resize-observer-polyfill": "^1.5.1" } @@ -518,9 +518,9 @@ "integrity": "sha512-BuJuXRSJNQ3QoKA6GWWDyuLpOUck+9hAXNMCnrloc1aWVoy6Xq6t9PUV08aBZ4Lutqq2LEHM486bpZqoViScog==" }, "@popperjs/core": { - "version": "2.11.4", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.4.tgz", - "integrity": "sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg==" + "version": "2.11.5", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", + "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==" }, "@sendgrid/client": { "version": "7.6.0", @@ -1374,9 +1374,9 @@ "dev": true }, "core-js": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.0.tgz", - "integrity": "sha512-KjbKU7UEfg4YPpskMtMXPhUKn7m/1OdTHTVjy09ScR2LVaoUXe8Jh0UdvN2EKUR6iKTJph52SJP95mAB0MnVLQ==" + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz", + "integrity": "sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==" }, "core-util-is": { "version": "1.0.2", @@ -1614,9 +1614,9 @@ } }, "dompurify": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.4.tgz", - "integrity": "sha512-6BVcgOAVFXjI0JTjEvZy901Rghm+7fDQOrNIcxB4+gdhj6Kwp6T9VBhBY/AbagKHJocRkDYGd6wvI+p4/10xtQ==" + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.6.tgz", + "integrity": "sha512-OFP2u/3T1R5CEgWCEONuJ1a5+MFKnOYpkywpUSxv/dj1LeBT1erK+JwM7zK0ROy2BRhqVCf0LRw/kHqKuMkVGg==" }, "dot-prop": { "version": "5.3.0", @@ -1684,9 +1684,9 @@ } }, "es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", + "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -1694,15 +1694,15 @@ "get-intrinsic": "^1.1.1", "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.2", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", + "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.1", "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", @@ -1710,6 +1710,11 @@ "unbox-primitive": "^1.0.1" }, "dependencies": { + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, "object-inspect": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", @@ -2192,9 +2197,9 @@ } }, "formio-workers": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/formio-workers/-/formio-workers-1.16.1.tgz", - "integrity": "sha512-DWrBFOWBHXzI9jeEY7coNtMTqF1RCJEq+/FkfYgmbHUf8jG65xoW9t1oSx25Z1P6Ol6oIkuytmGhEMsYcEPGPQ==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/formio-workers/-/formio-workers-1.16.2.tgz", + "integrity": "sha512-ZZfzePbBa4SVAUwxFfl0whqg5/j2kPVbzXbZZVMW6eCp34NL8mDujs/DALS9iCX32+u1+EE70Kl+HFkmv1h+pw==", "requires": { "aws-serverless-express": "^3.4.0", "body-parser": "^1.19.1", @@ -2210,59 +2215,29 @@ "vm2": "^3.9.5" }, "dependencies": { - "body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", - "requires": { - "bytes": "3.1.1", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.6", - "raw-body": "2.4.2", - "type-is": "~1.6.18" - } - }, - "bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "formiojs": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.0.tgz", - "integrity": "sha512-q20EgDLRxLYuZKyeEDaMFPtnG27h8k/8O4CzlJ1oUpYKJ8XTkiwmLl1N0yYZqd3cVxthPh5ZxhmiJxijqefFcQ==", + "version": "4.14.5", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.5.tgz", + "integrity": "sha512-f/jkJm1PXxaT/Fo3GqUUsp+WXPHbQyDQ2nJWx77lNi2AOE1VvEF8UN8zyq01xYlqE+1duNLb0Ck0gg6w77CqaQ==", "requires": { - "@formio/bootstrap3": "^2.12.0", + "@formio/bootstrap3": "^2.12.1", "@formio/choices.js": "^9.0.1", "@formio/semantic": "^2.6.0", "@formio/vanilla-text-mask": "^5.1.1", "autocompleter": "^6.1.2", "browser-cookies": "^1.2.0", "compare-versions": "^3.6.0", - "core-js": "^3.18.3", + "core-js": "^3.19.3", "custom-event-polyfill": "^1.0.7", "dialog-polyfill": "^0.5.6", - "dompurify": "^2.3.3", + "dompurify": "^2.3.4", "downloadjs": "^1.4.7", "dragula": "^3.7.3", "eventemitter3": "^4.0.7", "fast-deep-equal": "^3.1.3", "fast-json-patch": "^3.1.0", "fetch-ponyfill": "^7.1.0", - "i18next": "^21.3.3", + "i18next": "^21.6.0", "idb": "^6.1.5", "ismobilejs": "^1.1.1", "json-logic-js": "^2.0.0", @@ -2270,74 +2245,26 @@ "jwt-decode": "^3.1.2", "lodash": "^4.17.21", "moment": "^2.29.1", - "moment-timezone": "^0.5.33", + "moment-timezone": "^0.5.34", "native-promise-only": "^0.8.1", "quill": "^2.0.0-dev.3", "resize-observer-polyfill": "^1.5.1", "signature_pad": "^2.3.2", "string-hash": "^1.1.3", "text-mask-addons": "^3.8.0", - "tooltip.js": "^1.3.3", + "tippy.js": "^6.3.7", "uuid": "^8.3.2", - "vanilla-picker": "^2.11.2" - } - }, - "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==" - }, - "raw-body": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", - "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", - "requires": { - "bytes": "3.1.1", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "vanilla-picker": "^2.12.1" } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" } } }, "formiojs": { - "version": "4.14.6-rc.1", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.6-rc.1.tgz", - "integrity": "sha512-5jScg8iGMGPoK7uTW4VcM1tYsSGqNkecCt/34n1/YGigvX46+CC1/5O4MBgalEadnSBBPMatit16Jkhne7Akaw==", + "version": "4.14.6-rc.2", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.6-rc.2.tgz", + "integrity": "sha512-QlzfheLNP3FTFUhlGfMboHHcT8DpK5pxKnPQnPEPV8rktZOMGbsCJc0B/7hH0cfDYC14AKmT5gCfmV2PizuujA==", "requires": { - "@formio/bootstrap3": "^2.12.1", + "@formio/bootstrap3": "^2.12.2-rc.1", "@formio/choices.js": "^9.0.1", "@formio/semantic": "^2.6.0", "@formio/vanilla-text-mask": "^5.1.1", @@ -2375,9 +2302,9 @@ }, "dependencies": { "@formio/bootstrap3": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.1.tgz", - "integrity": "sha512-G8Ub+sdrOPux7cGS4PgOuuk0zlNjjp6h3wVVN0/BazjxJI5KOiyUgUtK/r2I8x5a+Evbcjn/Lx8zf4YSb8u5CA==", + "version": "2.12.2-rc.1", + "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.2-rc.1.tgz", + "integrity": "sha512-nJ6jEokO/13yM40Qxq79MNbYDpjK4ZspHeGKcD2vxCiLX9AFgF8tYN4/LDpVUC84Sftnsq0ifRCd8sJOCH5u2g==", "requires": { "resize-observer-polyfill": "^1.5.1" } @@ -2702,11 +2629,11 @@ } }, "i18next": { - "version": "21.6.3", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.6.3.tgz", - "integrity": "sha512-2uuRGslNQ8m7TRllsVs4cZuei5X9OgoPRB/Sj5oadUpxZaW+NYv3srn7zR+h8bCMhkux9z8HtnJdQM5Mz+Govw==", + "version": "21.6.14", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.6.14.tgz", + "integrity": "sha512-XL6WyD+xlwQwbieXRlXhKWoLb/rkch50/rA+vl6untHnJ+aYnkQ0YDZciTWE78PPhOpbi2gR0LTJCJpiAhA+uQ==", "requires": { - "@babel/runtime": "^7.12.0" + "@babel/runtime": "^7.17.2" } }, "iconv-lite": { @@ -2921,9 +2848,9 @@ "dev": true }, "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "requires": { "has-tostringtag": "^1.0.0" } @@ -2969,9 +2896,12 @@ "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" }, "is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } }, "is-string": { "version": "1.0.7", @@ -3096,9 +3026,9 @@ "dev": true }, "json-logic-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/json-logic-js/-/json-logic-js-2.0.1.tgz", - "integrity": "sha512-J3hhqM4IY66sL8qyzU7cwLmTAt3kA6ZsYxyuZBEwhcc+OYPTmAHc64fBTXHT6K5RwFeUqJUX1tfO7wpKsUx+9A==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/json-logic-js/-/json-logic-js-2.0.2.tgz", + "integrity": "sha512-ZBtBdMJieqQcH7IX/LaBsr5pX+Y5JIW+EhejtM3Ffg2jdN9Iwf+Ht6TbHnvAZ/YtwyuhPaCBlnvzrwVeWdvGDQ==" }, "json-schema-traverse": { "version": "0.4.1", @@ -3575,9 +3505,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "mkdirp-classic": { "version": "0.5.3", @@ -4214,11 +4144,6 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, - "popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" - }, "pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", @@ -4552,9 +4477,9 @@ "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" }, "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -5244,14 +5169,6 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, - "tooltip.js": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tooltip.js/-/tooltip.js-1.3.3.tgz", - "integrity": "sha512-XWWuy/dBdF/F/YpRE955yqBZ4VdLfiTAUdOqoU+wJm6phJlMpEzl/iYHZ+qJswbeT9VG822bNfsETF9wzmoy5A==", - "requires": { - "popper.js": "^1.0.2" - } - }, "touch": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", diff --git a/package.json b/package.json index b5d9cd0b25..cc4d828c15 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.1-rc.1", + "version": "2.4.1-rc.2", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -38,8 +38,8 @@ "expose-gc": "^1.0.0", "express": "^4.17.2", "fast-json-patch": "^3.1.0", - "formio-workers": "^1.16.1", - "formiojs": "^4.14.6-rc.1", + "formio-workers": "^1.16.2", + "formiojs": "^4.14.6-rc.2", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", From ecd65a14f74760a757282cc78ccfb50021e48643 Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Mon, 11 Apr 2022 14:16:25 -0500 Subject: [PATCH 013/188] Updated build --- Changelog.md | 5 +++++ package-lock.json | 33 +++++++++++++++++++-------------- package.json | 8 ++++---- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/Changelog.md b/Changelog.md index 17cc6a89fa..0a6a3b6ba6 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.1-rc.3 +### Changed + - Updated formiojs@4.14.6-rc.3 + - Updated formio-workers@1.16.3 + ## 2.4.1-rc.2 ### Changed - Updated formiojs@4.14.6-rc.2 diff --git a/package-lock.json b/package-lock.json index 5372eb0556..9495414a93 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.1-rc.2", + "version": "2.4.1-rc.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2197,9 +2197,9 @@ } }, "formio-workers": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/formio-workers/-/formio-workers-1.16.2.tgz", - "integrity": "sha512-ZZfzePbBa4SVAUwxFfl0whqg5/j2kPVbzXbZZVMW6eCp34NL8mDujs/DALS9iCX32+u1+EE70Kl+HFkmv1h+pw==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/formio-workers/-/formio-workers-1.16.3.tgz", + "integrity": "sha512-xF5IcM+KUWZnBwyWjWc8CpoiSURHORAohUGyW6GCQRNLlUDsxA0XIrVlHosDycg97ASRp5Fd3nGn4o+hCrZd7Q==", "requires": { "aws-serverless-express": "^3.4.0", "body-parser": "^1.19.1", @@ -2260,9 +2260,9 @@ } }, "formiojs": { - "version": "4.14.6-rc.2", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.6-rc.2.tgz", - "integrity": "sha512-QlzfheLNP3FTFUhlGfMboHHcT8DpK5pxKnPQnPEPV8rktZOMGbsCJc0B/7hH0cfDYC14AKmT5gCfmV2PizuujA==", + "version": "4.14.6-rc.3", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.6-rc.3.tgz", + "integrity": "sha512-BFX0Y6ndgnQubP4aYPDd+4zHhag9i99V1NXO224O/+DRnkZBsG3a0VOsu32nN8K2J1LhteHC90D+H+R0VOlnSQ==", "requires": { "@formio/bootstrap3": "^2.12.2-rc.1", "@formio/choices.js": "^9.0.1", @@ -2288,7 +2288,7 @@ "jstimezonedetect": "^1.0.7", "jwt-decode": "^3.1.2", "lodash": "^4.17.21", - "moment": "^2.29.1", + "moment": "^2.29.2", "moment-timezone": "^0.5.34", "native-promise-only": "^0.8.1", "quill": "^2.0.0-dev.3", @@ -2308,6 +2308,11 @@ "requires": { "resize-observer-polyfill": "^1.5.1" } + }, + "moment": { + "version": "2.29.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", + "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" } } }, @@ -2629,9 +2634,9 @@ } }, "i18next": { - "version": "21.6.14", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.6.14.tgz", - "integrity": "sha512-XL6WyD+xlwQwbieXRlXhKWoLb/rkch50/rA+vl6untHnJ+aYnkQ0YDZciTWE78PPhOpbi2gR0LTJCJpiAhA+uQ==", + "version": "21.6.16", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.6.16.tgz", + "integrity": "sha512-xJlzrVxG9CyAGsbMP1aKuiNr1Ed2m36KiTB7hjGMG2Zo4idfw3p9THUEu+GjBwIgEZ7F11ZbCzJcfv4uyfKNuw==", "requires": { "@babel/runtime": "^7.17.2" } @@ -3590,9 +3595,9 @@ } }, "moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + "version": "2.29.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", + "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" }, "moment-timezone": { "version": "0.5.34", diff --git a/package.json b/package.json index cc4d828c15..4faf8ef84d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.1-rc.2", + "version": "2.4.1-rc.3", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -38,15 +38,15 @@ "expose-gc": "^1.0.0", "express": "^4.17.2", "fast-json-patch": "^3.1.0", - "formio-workers": "^1.16.2", - "formiojs": "^4.14.6-rc.2", + "formio-workers": "^1.16.3", + "formiojs": "^4.14.6-rc.3", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", "lodash": "^4.17.21", "mailgun.js": "^4.1.4", "memory-cache": "^0.2.0", - "moment": "^2.29.1", + "moment": "^2.29.2", "moment-timezone": "^0.5.34", "mongodb": "^4.3.0", "mongoose": "^6.1.7", From cd20cd05bd49f8c852b0606ecc818482089980c0 Mon Sep 17 00:00:00 2001 From: Travis Tidwell Date: Thu, 14 Apr 2022 09:11:13 -0500 Subject: [PATCH 014/188] Updated build --- Changelog.md | 5 +++++ package-lock.json | 43 ++++++++++++++++++------------------------- package.json | 6 +++--- 3 files changed, 26 insertions(+), 28 deletions(-) diff --git a/Changelog.md b/Changelog.md index 0a6a3b6ba6..50a2cda5c2 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/) +## 2.4.1 +### Changed + - Official Release + - Updated formiojs@4.14.6 + ## 2.4.1-rc.3 ### Changed - Updated formiojs@4.14.6-rc.3 diff --git a/package-lock.json b/package-lock.json index 9495414a93..41c05bfe28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.1-rc.3", + "version": "2.4.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -426,6 +426,11 @@ "regenerator-runtime": "^0.13.4" } }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" + }, "@eslint/eslintrc": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", @@ -2260,11 +2265,11 @@ } }, "formiojs": { - "version": "4.14.6-rc.3", - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.6-rc.3.tgz", - "integrity": "sha512-BFX0Y6ndgnQubP4aYPDd+4zHhag9i99V1NXO224O/+DRnkZBsG3a0VOsu32nN8K2J1LhteHC90D+H+R0VOlnSQ==", + "version": "4.14.6", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.14.6.tgz", + "integrity": "sha512-k7ouqAz2WPkPjqNIF2Z5190RzIz4Yp31Hh0NImMgtsF4fbFAE+ZZ6Wi2+0TCvMRUnDbttarN02VSaRvZh0YIng==", "requires": { - "@formio/bootstrap3": "^2.12.2-rc.1", + "@formio/bootstrap3": "^2.12.2", "@formio/choices.js": "^9.0.1", "@formio/semantic": "^2.6.0", "@formio/vanilla-text-mask": "^5.1.1", @@ -2302,17 +2307,12 @@ }, "dependencies": { "@formio/bootstrap3": { - "version": "2.12.2-rc.1", - "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.2-rc.1.tgz", - "integrity": "sha512-nJ6jEokO/13yM40Qxq79MNbYDpjK4ZspHeGKcD2vxCiLX9AFgF8tYN4/LDpVUC84Sftnsq0ifRCd8sJOCH5u2g==", + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.2.tgz", + "integrity": "sha512-Y1WD/U22HHKRl1MzUt65bXeFHYO9Wlt+wefRqXFrOhIgbmkfTjCx6e0n2b8t/IYz9FUMg+/GTKdqaBrTZgjrTA==", "requires": { "resize-observer-polyfill": "^1.5.1" } - }, - "moment": { - "version": "2.29.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", - "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" } } }, @@ -4262,22 +4262,15 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "prompt": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.2.1.tgz", - "integrity": "sha512-B4+2QeNDn5Cdp4kK2iOwV8qvrWpiPKlZKI9ZKkPl0C9KgeMW6DyWWqhqHiFq9vZf6zTniv+rYalK0ZlgktSwiw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.3.0.tgz", + "integrity": "sha512-ZkaRWtaLBZl7KKAKndKYUL8WqNT+cQHKRZnT4RYYms48jQkFw3rrBL+/N5K/KtdEveHkxs982MX2BkDKub2ZMg==", "requires": { - "async": "~0.9.0", - "colors": "1.4.0", + "@colors/colors": "1.5.0", + "async": "3.2.3", "read": "1.0.x", "revalidator": "0.1.x", "winston": "2.x" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" - } } }, "proxy-addr": { diff --git a/package.json b/package.json index 4faf8ef84d..55f77a5f0e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formio", - "version": "2.4.1-rc.3", + "version": "2.4.1", "description": "The formio server application.", "license": "OSL-3.0", "main": "index.js", @@ -39,7 +39,7 @@ "express": "^4.17.2", "fast-json-patch": "^3.1.0", "formio-workers": "^1.16.3", - "formiojs": "^4.14.6-rc.3", + "formiojs": "^4.14.6", "fs-extra": "^10.0.0", "html-entities": "^2.3.2", "jsonwebtoken": "^8.5.1", @@ -57,7 +57,7 @@ "nodemailer-mandrill-transport": "^1.2.0", "nodemailer-sendgrid-transport": "https://github.com/formio/nodemailer-sendgrid-transport.git", "progress": "^2.0.3", - "prompt": "^1.2.1", + "prompt": "^1.3.0", "q": "^1.5.0", "resourcejs": "^2.4.0", "semver": "^7.3.5", From 37174703b0ac1da32d8c08de6f4b377b1b41911b Mon Sep 17 00:00:00 2001 From: shuhaib-aot Date: Fri, 13 May 2022 15:20:41 +0530 Subject: [PATCH 015/188] copied all files --- .dockerignore | 1 + .gitignore | 3 +- Dockerfile | 52 +- README.md | 269 +- .../formsflow-forms-postman-collection.json | 138 + custom-components/.images/panel.png | Bin 0 -> 83320 bytes custom-components/.images/settings.png | Bin 0 -> 12550 bytes custom-components/.images/topics.png | Bin 0 -> 22362 bytes .../text-area-with-analytics/README.md | 23 + docker-compose-linux.yml | 67 + docker-compose-windows.yml | 69 + docker-compose.yml | 48 - formsflow-template.json | 10974 +++++++++++++++ index.js | 2 +- install.js | 105 +- mongo_entrypoint/001_user.js | 16 + openshift_custom_Dockerfile | 56 + package-lock.json | 2309 ++-- package.json | 43 +- sample.env | 22 + sample.json | 10977 ++++++++++++++++ script/resourceId_linux.sh | 66 + script/resourceId_windows.bat | 82 + src/actions/ResetPassword.js | 2 +- src/actions/actions.js | 3 +- src/authentication/index.js | 14 +- src/middleware/middleware.js | 1 + src/middleware/tokenHandler.js | 3 +- src/middleware/tokenVerify.js | 72 + src/models/Submission.js | 2 +- 30 files changed, 24168 insertions(+), 1251 deletions(-) create mode 100644 .dockerignore create mode 100644 config/formsflow-forms-postman-collection.json create mode 100644 custom-components/.images/panel.png create mode 100644 custom-components/.images/settings.png create mode 100644 custom-components/.images/topics.png create mode 100644 custom-components/text-area-with-analytics/README.md create mode 100644 docker-compose-linux.yml create mode 100644 docker-compose-windows.yml delete mode 100644 docker-compose.yml create mode 100644 formsflow-template.json create mode 100644 mongo_entrypoint/001_user.js create mode 100644 openshift_custom_Dockerfile create mode 100644 sample.env create mode 100644 sample.json create mode 100644 script/resourceId_linux.sh create mode 100644 script/resourceId_windows.bat create mode 100644 src/middleware/tokenVerify.js diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000..3c3629e647 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +node_modules diff --git a/.gitignore b/.gitignore index db50d4a375..2f8c09dd0c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ -.vscode .idea bower_components node_modules client* app* npm-debug.log +.env +mongodb \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index ddc32e87ff..0b39584006 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,12 @@ # Use Node image, maintained by Docker: # hub.docker.com/r/_/node/ FROM node:lts-alpine3.10 -WORKDIR /app + +# set working directory +WORKDIR /forms-flow-forms/app + +RUN set -x \ + && chmod -R 777 /forms-flow-forms/app/ # "bcrypt" requires python/make/g++, all must be installed in alpine # (note: using pinned versions to ensure immutable build environment) @@ -19,34 +24,43 @@ RUN apk update && \ RUN apk --update add git # Use https to avoid requiring ssh keys for public repos. RUN git config --global url."https://github.com/".insteadOf "ssh://git@github.com/" +## Using an alternative package install location +## to allow overwriting the /app folder at runtime +## stackoverflow.com/a/13021677 +#ENV NPM_PACKAGES=/.npm-packages \ +# PATH=$NPM_PACKAGES/bin:$PATH \ +# NODE_PATH=$NPM_PACKAGES/lib/node_modules:$NODE_PATH +#RUN echo "prefix = $NPM_PACKAGES" >> ~/.npmrc -# Using an alternative package install location -# to allow overwriting the /app folder at runtime -# stackoverflow.com/a/13021677 -ENV NPM_PACKAGES=/.npm-packages \ - PATH=$NPM_PACKAGES/bin:$PATH \ - NODE_PATH=$NPM_PACKAGES/lib/node_modules:$NODE_PATH -RUN echo "prefix = $NPM_PACKAGES" >> ~/.npmrc - -# Include details of the required dependencies -COPY ./package.json $NPM_PACKAGES/ -COPY ./package-lock.json $NPM_PACKAGES/ +# add `/app/node_modules/.bin` to $PATH +ENV PATH /forms-flow-forms/app/node_modules/.bin:$PATH -# Use "Continuous Integration" to install as-is from package-lock.json -RUN npm ci --prefix=$NPM_PACKAGES +## Include details of the required dependencies +#COPY ./package.json $NPM_PACKAGES/ +#COPY ./package-lock.json $NPM_PACKAGES/ +# +## Use "Continuous Integration" to install as-is from package-lock.json +#RUN npm ci --prefix=$NPM_PACKAGES +# +## Link in the global install because `require()` only looks for ./node_modules +## WARNING: This is overwritten by volume-mount at runtime! +## See docker-compose.yml for instructions +#RUN ln -sf $NPM_PACKAGES/node_modules node_modules -RUN apk del git +## Include details of the required dependencies +COPY package-lock.json /forms-flow-forms/app/package-lock.json +COPY package.json /forms-flow-forms/app/package.json -# Link in the global install because `require()` only looks for ./node_modules -# WARNING: This is overwritten by volume-mount at runtime! -# See docker-compose.yml for instructions -RUN ln -sf $NPM_PACKAGES/node_modules node_modules +RUN npm install # Set this to inspect more from the application. Examples: # DEBUG=formio:db (see index.js for more) # DEBUG=formio:* ENV DEBUG="" +COPY . /forms-flow-forms/app/ + + # This will initialize the application based on # some questions to the user (login email, password, etc.) ENTRYPOINT [ "node", "main" ] diff --git a/README.md b/README.md index 4ef0555ac3..88a93341a3 100644 --- a/README.md +++ b/README.md @@ -1,130 +1,175 @@ -[![Join the chat at https://gitter.im/formio/formio](https://badges.gitter.im/formio/formio.svg)](https://gitter.im/formio/formio?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -[![StackOverflow](https://www.codewake.com/badges/codewake2.svg)](http://stackoverflow.com/tags/formio) - -A combined form and API platform for Serverless applications -=============================== -Form.io is a revolutionary combined Form and API platform for Serverless applications. This repository serves as the core Form and API engine for https://form.io. This system allows you to build "serverless" data management applications using a simple drag-and-drop form builder interface. These forms can then easily be embedded within your Angular.js and React applications using the -`````` HTML element. - -Form.io is Hiring! -------------------- -If you like what you see, and would like to come and work for a cutting edge, Open Source core company, then please apply online @ [https://form-talent.freshteam.com/jobs](https://form-talent.freshteam.com/jobs)! - -Walkthrough video and tutorial -------------------- -For a walkthrough tutorial on how to use this Open Source platform to build a Serverless application, watch the video [0 to M.E.A.N in 30 minutes](https://www.youtube.com/watch?v=d2gTYkPFhPI) - -Form Building & Rendering Demo -------------------- -Here is a link to a demo of the Form Building and Form Rendering capability that can be hooked into this API platform. - -http://codepen.io/travist/full/xVyMjo/ - -Run with Docker Compose ------------------- -The fastest way to run this library locally is to use [Docker](https://docker.com). - - - [Install Docker](https://docs.docker.com/v17.12/install/) - - Download and unzip this package to a local directory on your machine. - - Open up your terminal and navigate to the unzipped folder of this library. - - Type the following in your terminal - ``` - npm install - docker-compose up - ``` - - Go to the following URL in your browser. - ``` - http://localhost:3001 - ``` - - Use the following credentials to login. - - **email**: admin@example.com - - **password**: CHANGEME - - To change the admin password. - - Once you login, click on the **Admin** resource - - Click **View Data** - - Click on the **admin@example.com** row - - Click **Edit Submission** - - Set the password field - - Click **Save Submission** - - Logout - - - Have fun! - -Manual Installation (Node + MongoDB) -------------------- -To get started you will first need the following installed on your machine. - - - Node.js - https://nodejs.org/en/ - - MongoDB - http://docs.mongodb.org/manual/installation/ - - On Mac I recommend using Homebrew `brew install mongodb-community` - - On Windows, download and install the MSI package @ https://www.mongodb.org/downloads - - You must then make sure you have MongoDB running by typing `mongod` in your terminal. - -Running with Node.js -------------------- -You can then download this repository, navigate to the folder in your Terminal, and then type the following. +# Form Management Platform -``` -npm install -npm start -``` +![Formio](https://img.shields.io/badge/formio-2.3.0-blue) -This will walk you through the installation process. When it is done, you will have a running Form.io management -application running at the following address in your browser. +**formsflow.ai** leverages form.io to build "serverless" data management applications using a simple drag-and-drop form builder interface. -``` -http://localhost:3001 -``` +To know more about form.io, go to . -The installation process will also ask if you would like to download an application. If selected, the application can be found at the following URL. +## Table of Content -``` -http://localhost:8080 -``` +1. [Prerequisites](#prerequisites) +2. [Solution Setup](#solution-setup) + * [Step 1 : Keycloak Setup](#keycloak-setup) + * [Step 2 : Installation](#installation) + * [Step 3 : Running the Application](#running-the-application) + * [Step 4 : Health Check](#health-check) +3. [Formsflow-forms API Requesting](#formsflow-forms-api-requesting) + * [Using POSTMAN API client](#using-postman-api-client) + * [Using curl command](#using-curl-command) +4. [Custom Components](#custom-components) +5. [Adding new indexes](#adding-new-indexes) +6. [LICENSE](#license) -You can also see the contents of the application (for modification) within the ```app``` folder which exists inside of the folder where you downloaded this repository. +## Prerequisites -Development --------------------- -To start server with auto restart capability for development simply run this command: -``` -npm run start:dev -``` +* For docker based installation [Docker](https://docker.com) need to be installed. -Deploy to Hosted Form.io --------------------- -If you wish to deploy all of your forms and resources into the Form.io Hosted platform @ https://form.io, you can do this by using the Form.io CLI command line tool. +## Solution Setup -``` -npm install -g formio-cli -``` +### Keycloak Setup -Once you have this tool installed, you will need to follow these steps. - - Create a new project within Form.io - - Create an API Key within this project by going to the **Project Settings | Stage Settings | API Keys** - - Next, you can execute the following command to deploy your local project into Hosted Form.io. +Not applicable. +**Please note that the forms-flow-forms server is accessed using root user account.** -``` -formio deploy http://localhost:3001 https://{PROJECTNAME}.form.io --dst-key={APIKEY} -``` +### Installation + +* Make sure you have a Docker machine up and running. +* Make sure your current working directory is "forms-flow-ai/forms-flow-forms". +* Rename the file [sample.env](./sample.env) to **.env**. +* Modify the environment variables in the newly created **.env** file if needed. Environment variables are given in the table below, +* **NOTE : `{your-ip-address}` given inside the .env file should be changed to your host system IP address. Please take special care to identify the correct IP address if your system has multiple network cards** + +> :information_source: Variables with trailing :triangular_flag_on_post: in below table should be updated in the .env file + +|Variable name | Meaning | Possible values | Default value | +|--- | --- | --- | --- +|`FORMIO_DB_USERNAME`|Mongo Root Username. Used on installation to create the database.Choose your own||`admin` +|`FORMIO_DB_PASSWORD`|Mongo Root Password||`changeme` +|`FORMIO_DB_NAME`|Mongo Database Name. Used on installation to create the database.Choose your own||`formio` +|`FORMIO_ROOT_EMAIL`|forms-flow-forms admin login|eg. admin@example.com|`admin@example.com` +|`FORMIO_ROOT_PASSWORD`|forms-flow-forms admin password|eg.changeme|`changeme` +|`FORMIO_DEFAULT_PROJECT_URL`:triangular_flag_on_post:|forms-flow-forms default url||`http://{your-ip-address}:3001` +|`FORMIO_JWT_SECRET`|forms-flow-forms jwt secret| |`--- change me now ---` + +**Additionally, you may want to change these** + +* The value of Mongo database details (especially if this instance is not just for testing purposes) +* The value of ROOT user account details (especially if this instance is not just for testing purposes) + +### Running the application + +* forms-flow-forms service uses port 3001, make sure the port is available. +* `cd {Your Directory}/forms-flow-ai/forms-flow-forms` + +* For Linux, + * Run `docker-compose -f docker-compose-linux.yml up -d` to start. +* For Windows, + * Run `docker-compose -f docker-compose-windows.yml up -d` to start. + +*NOTE: Use --build command with the start command to reflect any future **.env** changes eg : `docker-compose -f docker-compose-windows.yml up --build -d`* + +#### To stop the application + +* For Linux, + * Run `docker-compose -f docker-compose-linux.yml stop` to stop. +* For Windows, + * Run `docker-compose -f docker-compose-windows.yml stop` to stop. -You will need to make sure you replace ```{PROJECTNAME}``` and ```{APIKEY}``` with your new Hosted Form.io project name (found in the API url), as well as the API key that was created in the second step above. +### Health Check -This will then ask you to log into the local Form.io server (which can be provided within the Admin resource), and then after it authenticates, it will export the project and deploy that project to the Form.io hosted form. + The application should be up and available for use at port defaulted to 3001 in (i.e. ) + + Default Login Credentials + ----------------- + User Name / Email : admin@example.com + Password : changeme + +## Formsflow-forms user/role API + +There are two ways in which you can access data from the formsflow-forms end points. + +* [Using curl command](#using-curl-command) +* [Using POSTMAN API client](#using-postman-api-client) + +### Using curl command + +* Download and install [curl](https://curl.se/download.html). + +* [Step 1](#step-1) Go to `forms-flow-forms/script` directory. +* [Step 2](#step-2) + * **For windows** + * Open command prompt and run `resourceId_windows.bat {user email} {password}` eg: `resourceId_windows.bat admin@example.com changeme` + * **For Linux and Mac** + * Open command prompt and run `./resourceId_linux.sh {user email} {password}` eg: `./resourceId_linux.sh admin@example.com changeme` +* [Step 3](#step-3) Copy the ID corresponding to Role Name from [Step 2](./README.md#step-2) and paste it against the Environment Variable name from the below table. + +|Role Name | Environment Variable Name | +|--- |--- +|Administrator | DESIGNER_ROLE_ID +|Anonymous | ANONYMOUS_ID +|formsflow Client | CLIENT_ROLE_ID +|formsflow Reviewer | REVIEWER_ROLE_ID +|User | USER_RESOURCE_ID + +> **curl requests are successfully completed. You can skip the remaining sections in this page and continue with other installation steps.** + +### Using POSTMAN API client + +* Download and install [Postman API client](https://www.postman.com/) +* Import [formsflow-forms-postman-collection.json](./config/formsflow-forms-postman-collection.json) to your postman client. + * Open Postman -> Go to File + * Import -> Upload [formsflow-forms-postman-collection.json](./config/formsflow-forms-postman-collection.json) file + * Import successful. +* Follow the instructions given below to fetch the role id's from [forms-flow-forms](http://localhost:3001) + * Open Postman -> Go to Workspaces -> My Workspaces + * Collections -> Open form.io collection and send the API request in the following order. + * Get the jwt token using resource ****. (*Click on Send to make a server request*) + * Get the user resource id using resource ****. (*Click on Send to make a server request*) + * Copy the **_id** from Response body and replace value for **USER_RESOURCE_ID** in the **.env** file. + * Get the user role id's using resource ****. (*Click on Send to make a server request*) + * Copy the **_id** with title *Administrator* from Response body and replace value for **DESIGNER_ROLE_ID** in the **.env** file. + * Copy the **_id** with title *Anonymous* from Response body and replace value for **ANONYMOUS_ID** in the **.env** file. + * Copy the **_id** with title *formsflow Client* from Response body and replace value for **CLIENT_ROLE_ID** in the **.env** file. + * Copy the **_id** with title *formsflow Reviewer* from Response body and replace value for **REVIEWER_ROLE_ID** in the **.env** file. + +> **Postman API calls are successfully completed. You can skip the remaining sections in this page and continue with other installation steps.** + +## Custom Components + +**formsflow.ai** has custom components supported which are created by extending the +base components within forms-flow-forms and then registering them within the core renderer. + +Custom componets available in **formsflow.ai** are: + +|Component Name | About | How to use | +|--- | --- | --- | +|**Text Area with Analytics** | To enable Text fields for sentiment analysis processing | [link](./custom-components/text-area-with-analytics/README.md)| + +If you are interested in adding custom components for your use case in **formsflow.ai** we highly +recommend you to take a look at [Custom Component Docs](https://formio.github.io/formio.js/app/examples/customcomponent.html) +to understand how Form.io renderer allows for the creation of Custom components. +You can also take a look at [formio.contrib](https://github.com/formio/contrib) +to look for examples and even contribute the custom components you create. + +## Adding new indexes + +You can add new indexes in Mongodb shell, according to your requirement. You can create indexes like below example: + +``` +db.submissions.createIndex({ + "data.applicationStatus ": 1 +}) +``` -License Change (March 8th, 2020) --------------------- -This library is now licensed under the OSL-v3 license, which is a copy-left OSI approved license. Please read the license @ https://opensource.org/licenses/OSL-3.0 for more information. Our goal for the change to OSLv3 from BSD is to ensure that appropriate Attribution is provided when creating proprietary products that leverage or extend this library. +In this example: -Help --------------------- -We will be updating the help guides found @ https://help.form.io as questions arise and also to help you get started with Form.io. +* `submissions` is the collection name. +* `data.applicationStatus` is the fields which are to be added in index. -Thanks for using Form.io! +## LICENSE -The Form.io Team. +We have build formsflow.ai form management platform leveraging [formio](https://github.com/formio/formio). +We use the OSL-v3 license similar to formio to ensure appropriate attribution is +provided to form.io. Please read the [license](./LICENSE.txt) for more information. -Security -========= -If you find and/or think you have found a Security issue, please quietly disclose it to security@form.io, and give us -sufficient time to patch the issue before disclosing it publicly. diff --git a/config/formsflow-forms-postman-collection.json b/config/formsflow-forms-postman-collection.json new file mode 100644 index 0000000000..873f3d868d --- /dev/null +++ b/config/formsflow-forms-postman-collection.json @@ -0,0 +1,138 @@ +{ + "info": { + "_postman_id": "7e3f55f2-2b45-4fb9-91a8-bc2a8b14ba25", + "name": "form.io collection", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "http://localhost:3001/user/login", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "var token = pm.response.headers.get(\"x-jwt-token\");\r", + "pm.collectionVariables.set(\"token\", token)\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text", + "disabled": true + }, + { + "key": "Authorization", + "value": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJlQ0lyaHZTWkhoSU9ieVhiX2VqQUtUTVBkb0U3R1FibkpCNTE2XzhwQms4In0.eyJleHAiOjE2MjE5NTUwNjksImlhdCI6MTYyMTk1NDc2OSwianRpIjoiMTcxYTU4OTEtNzgzOC00MGQzLWI4ZWItZjEzZWU0ZDQ4ODg3IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL2F1dGgvcmVhbG1zL2Zvcm1zZmxvdy1haSIsImF1ZCI6WyJjYW11bmRhLXJlc3QtYXBpIiwiZm9ybXMtZmxvdy13ZWIiLCJhY2NvdW50Il0sInN1YiI6ImEzZDY1ODZjLWExODctNDU4ZC1iYjA3LWE2N2Y0ZDFiYzkzMSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImZvcm1zLWZsb3ctd2ViIiwic2Vzc2lvbl9zdGF0ZSI6IjIxNWNjMWIwLWM1ZDktNDJiZC1iMWYxLTY0YzgzNTdhNzk2ZiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJ1bWFfYXV0aG9yaXphdGlvbiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImZvcm1zLWZsb3ctd2ViIjp7InJvbGVzIjpbImZvcm1zZmxvdy1kZXNpZ25lciJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJwcm9maWxlIGVtYWlsIGNhbXVuZGEtcmVzdC1hcGkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInJvbGUiOlsiZm9ybXNmbG93LWRlc2lnbmVyIl0sIm5hbWUiOiJEZXNpZ25lciBGRkEiLCJncm91cHMiOlsiL2NhbXVuZGEtYWRtaW4iLCIvZm9ybXNmbG93L2Zvcm1zZmxvdy1kZXNpZ25lciJdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJmb3Jtc2Zsb3ctZGVzaWduZXIiLCJnaXZlbl9uYW1lIjoiRGVzaWduZXIiLCJmYW1pbHlfbmFtZSI6IkZGQSIsImVtYWlsIjoiZm9ybXNmbG93LWRlc2lnbmVyQGFvdC10ZWNobm9sb2dpZXMuY29tIn0.KMvEeyf9c3BO2sYPDCQkYcmvy_kg4-AxSk0JVVA4hHIVHIY0n00rGOgl_sSesfNzxjcGDU4w94hSp3AxrHjeV8YzTsrFr-QVdgfXKRbnuAm4KwFlcCTzJKanOPUpJ7kdqeEDs3RzXPZM31rapqh5ipjOy0vcEfBdOpDxtX_b0BefFAWK9Lzras8amWShxG99Xj38mBrgK-qFPrURnsTeRL0O5f1zuKcdV4nkv5jFTZkepBIBprXQNqn2gIYOBO7m5xt1qFNGqed_r-yOUOxHSTfxTX1LMkV-aL7_Cinyp6MMsaP5aAJ8Obka0V4m9G4aPWUDLEMZY0cES6cFxWlb3w", + "type": "text", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"data\": {\r\n \"email\": \"admin@example.com\",\r\n \"password\": \"changeme\"\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:3001/user/login", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "3001", + "path": [ + "user", + "login" + ] + } + }, + "response": [] + }, + { + "name": "http://localhost:3001/role", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "var Header = require('postman-collection').Header;\r", + "pm.request.headers.append(Header.create(pm.collectionVariables.get('token'),'x-jwt-token'));" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:3001/role", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "3001", + "path": [ + "role" + ] + } + }, + "response": [] + }, + { + "name": "http://localhost:3001/user", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "var Header = require('postman-collection').Header;\r", + "pm.request.headers.append(Header.create(pm.collectionVariables.get('token'),'x-jwt-token'));" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:3001/user", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "3001", + "path": [ + "user" + ] + } + }, + "response": [] + } + ], + "variable": [ + { + "key": "token", + "value": "" + } + ] +} \ No newline at end of file diff --git a/custom-components/.images/panel.png b/custom-components/.images/panel.png new file mode 100644 index 0000000000000000000000000000000000000000..f5df9fe03d4698873f537c3a62fe44d69710c6f5 GIT binary patch literal 83320 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 z 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