diff --git a/.nvm b/.nvmrc similarity index 100% rename from .nvm rename to .nvmrc diff --git a/bin/postinstall.js b/bin/postinstall.js index 406fa27..4fc4857 100644 --- a/bin/postinstall.js +++ b/bin/postinstall.js @@ -26,14 +26,6 @@ const fs = require("fs/promises") const PATH_SERVICES = './node_modules/@strapi/plugin-users-permissions/server/services/providers.js' if (await fs.access(PATH_SERVICES).then(() => true, () => false)) { let data = await fs.readFile(PATH_SERVICES, 'utf8') - data = data.replace(`return resolve([createdUser, null]); - } catch (err) { - reject([null, err]); - }`, `return resolve([createdUser, null]); - } catch (err) { - console.error('REJECT', err); - reject([null, err]); - }`) data = data.replace(` switch (provider) { case 'discord': {`, ` switch (provider) { case 'keycloak': { diff --git a/package-lock.json b/package-lock.json index 0123461..2cfa02c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "@strapi/plugin-i18n": "4.0.7", "@strapi/plugin-users-permissions": "4.0.7", "@strapi/strapi": "4.0.7", + "if-env": "^1.0.4", "mysql": "^2.18.1", "sqlite3": "^5.0.2" }, @@ -4854,6 +4855,35 @@ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" }, + "node_modules/babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dependencies": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + } + }, + "node_modules/babel-polyfill/node_modules/regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/backo2": { "version": "1.0.2", "license": "MIT" @@ -6184,6 +6214,13 @@ "toggle-selection": "^1.0.6" } }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, "node_modules/core-js-compat": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.0.tgz", @@ -6843,6 +6880,11 @@ "version": "2.0.2", "license": "MIT" }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "license": "MIT", @@ -7087,6 +7129,20 @@ "node": ">= 0.6" } }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, "node_modules/eventemitter3": { "version": "3.1.2", "license": "MIT" @@ -7933,6 +7989,11 @@ "node": ">= 0.6" } }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" + }, "node_modules/fs-capacitor": { "version": "6.2.0", "license": "MIT", @@ -9020,6 +9081,17 @@ ], "license": "BSD-3-Clause" }, + "node_modules/if-env": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/if-env/-/if-env-1.0.4.tgz", + "integrity": "sha1-iytr0wivhqOhm7JzQmdhCFEEh4s=", + "dependencies": { + "npm-run-all": "1.4.0" + }, + "bin": { + "if-env": "bin/if-env.js" + } + }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -10596,6 +10668,11 @@ "node": ">=0.10.0" } }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" + }, "node_modules/map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -11678,6 +11755,32 @@ "npm-normalize-package-bin": "^1.0.1" } }, + "node_modules/npm-run-all": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-1.4.0.tgz", + "integrity": "sha1-pGm7n+q+W/OqmRaDO69ndlguiUg=", + "dependencies": { + "babel-polyfill": "^6.2.0", + "minimatch": "^3.0.0", + "ps-tree": "^1.0.1", + "shell-quote": "^1.4.3", + "which": "^1.2.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all.js" + } + }, + "node_modules/npm-run-all/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -12387,6 +12490,14 @@ "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dependencies": { + "through": "~2.3" + } + }, "node_modules/pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -12930,6 +13041,20 @@ "node": ">= 0.10" } }, + "node_modules/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/psl": { "version": "1.8.0", "license": "MIT" @@ -14481,6 +14606,11 @@ "node": ">=8" } }, + "node_modules/shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==" + }, "node_modules/shimmer": { "version": "1.2.1", "license": "BSD-2-Clause" @@ -14872,6 +15002,17 @@ "node": ">= 6" } }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -15070,6 +15211,14 @@ "node": ">= 6" } }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dependencies": { + "duplexer": "~0.1.1" + } + }, "node_modules/stream-http": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", @@ -20484,6 +20633,39 @@ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "requires": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, "backo2": { "version": "1.0.2" }, @@ -21484,6 +21666,11 @@ "toggle-selection": "^1.0.6" } }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, "core-js-compat": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.0.tgz", @@ -21942,6 +22129,11 @@ "dottie": { "version": "2.0.2" }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, "ecc-jsbn": { "version": "0.1.2", "requires": { @@ -22120,6 +22312,20 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, "eventemitter3": { "version": "3.1.2" }, @@ -22764,6 +22970,11 @@ "fresh": { "version": "0.5.2" }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" + }, "fs-capacitor": { "version": "6.2.0" }, @@ -23500,6 +23711,14 @@ "ieee754": { "version": "1.2.1" }, + "if-env": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/if-env/-/if-env-1.0.4.tgz", + "integrity": "sha1-iytr0wivhqOhm7JzQmdhCFEEh4s=", + "requires": { + "npm-run-all": "1.4.0" + } + }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -24628,6 +24847,11 @@ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -25398,6 +25622,28 @@ "npm-normalize-package-bin": "^1.0.1" } }, + "npm-run-all": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-1.4.0.tgz", + "integrity": "sha1-pGm7n+q+W/OqmRaDO69ndlguiUg=", + "requires": { + "babel-polyfill": "^6.2.0", + "minimatch": "^3.0.0", + "ps-tree": "^1.0.1", + "shell-quote": "^1.4.3", + "which": "^1.2.0" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -25922,6 +26168,14 @@ "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "requires": { + "through": "~2.3" + } + }, "pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -26327,6 +26581,14 @@ } } }, + "ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "requires": { + "event-stream": "=3.3.4" + } + }, "psl": { "version": "1.8.0" }, @@ -27476,6 +27738,11 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, + "shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==" + }, "shimmer": { "version": "1.2.1" }, @@ -27781,6 +28048,14 @@ } } }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "requires": { + "through": "2" + } + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -27926,6 +28201,14 @@ } } }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "requires": { + "duplexer": "~0.1.1" + } + }, "stream-http": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", diff --git a/package.json b/package.json index 4f0a8bf..e10c6ee 100644 --- a/package.json +++ b/package.json @@ -5,16 +5,17 @@ "description": "A Strapi application", "scripts": { "develop": "strapi develop", - "start": "strapi start", + "start": "if-env EDIT_MODE=true && strapi develop || strapi start", "build": "NODE_ENV=production strapi build", "strapi": "strapi", "postinstall": "node ./bin/postinstall.js" }, "dependencies": { "@strapi/plugin-graphql": "4.0.7", - "@strapi/strapi": "4.0.7", - "@strapi/plugin-users-permissions": "4.0.7", "@strapi/plugin-i18n": "4.0.7", + "@strapi/plugin-users-permissions": "4.0.7", + "@strapi/strapi": "4.0.7", + "if-env": "^1.0.4", "mysql": "^2.18.1", "sqlite3": "^5.0.2" }, diff --git a/src/api/test/content-types/test/schema.json b/src/api/test/content-types/test/schema.json new file mode 100644 index 0000000..f86ba86 --- /dev/null +++ b/src/api/test/content-types/test/schema.json @@ -0,0 +1,19 @@ +{ + "kind": "singleType", + "collectionName": "tests", + "info": { + "singularName": "test", + "pluralName": "tests", + "displayName": "test" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "title": { + "type": "string", + "required": true + } + } +} diff --git a/src/api/test/controllers/test.js b/src/api/test/controllers/test.js new file mode 100644 index 0000000..29a1a5e --- /dev/null +++ b/src/api/test/controllers/test.js @@ -0,0 +1,9 @@ +'use strict'; + +/** + * test controller + */ + +const { createCoreController } = require('@strapi/strapi').factories; + +module.exports = createCoreController('api::test.test'); diff --git a/src/api/test/routes/test.js b/src/api/test/routes/test.js new file mode 100644 index 0000000..d4d7bca --- /dev/null +++ b/src/api/test/routes/test.js @@ -0,0 +1,9 @@ +'use strict'; + +/** + * test router. + */ + +const { createCoreRouter } = require('@strapi/strapi').factories; + +module.exports = createCoreRouter('api::test.test'); diff --git a/src/api/test/services/test.js b/src/api/test/services/test.js new file mode 100644 index 0000000..9ed04a0 --- /dev/null +++ b/src/api/test/services/test.js @@ -0,0 +1,9 @@ +'use strict'; + +/** + * test service. + */ + +const { createCoreService } = require('@strapi/strapi').factories; + +module.exports = createCoreService('api::test.test'); diff --git a/src/components/some-category/step.json b/src/components/some-category/step.json new file mode 100644 index 0000000..d30d8b5 --- /dev/null +++ b/src/components/some-category/step.json @@ -0,0 +1,13 @@ +{ + "collectionName": "components_some_category_steps", + "info": { + "displayName": "Step", + "icon": "arrow-alt-circle-down" + }, + "options": {}, + "attributes": { + "Description": { + "type": "text" + } + } +}