-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
{ "server": { "host": "localhost", // Defaults to 127.0.0.1 "port": 3000, // 8080 by default "secure": { // Optional. If declared serves via https "cert": "ssl/cert.pem", "key": "ssl/key.pem" }, "base": "/", // Optional. Defaults to '/' "healthcheck": "/health", // Optional. Defaults to '/healthcheck'. Pass null to disable "keepAliveTimeout": 15000, // Optional. Defaults 61000 "headersTimeout": 20000, // Optional. Defaults 62000 "requestTimeout": 10000 // Optional. Defaults 30000 }, "firewall": { "registry": "https://registry.npmmirror.com", // Remote registry "entrypoint": "https://r.qiwi.com/npm", // Optional. Defaults to `${server.secure ? 'https' : 'http'}://${server.host}:${server.port}${route.base}` "base": "/", // Optional. Defaults to '/' "rules": [ { "policy": "allow", "org": "@qiwi" }, { "policy": "allow", "name": ["@babel/*", "@jest/*", "lodash"] // string[] or "comma,separated,list". * works as .+ in regexp }, { "policy": "deny", "name": "colors", "version": ">= v1.4.0" // Any semver range: https://github.com/npm/node-semver#ranges }, { "policy": "deny", "license": "dbad" // Comma-separated license types or string[] }, { "policy": "allow", "username": ["sindresorhus", "isaacs"] // Trusted npm authors. }, { "policy": "allow", "name": "d", // `allow` is upper, so it protects `< 1.0.0`-ranged versions that might be omitted on next steps "version": "< 1.0.0" }, { "policy": "deny", // Checks pkg version publish date against the range "dateRange": ["2010-01-01T00:00:00.000Z", "2025-01-01T00:00:00.000Z"] }, { "policy": "allow", "age": 5 // Check the package version is older than 5 days. Like quarantine } ] } }