mirror of
https://github.com/bonfire-networks/bonfire-app.git
synced 2024-04-28 23:38:44 +00:00
auto-format
This commit is contained in:
parent
9d0ca204ad
commit
0ef85e77f9
10
.credo.exs
10
.credo.exs
|
@ -3,14 +3,20 @@
|
|||
%{
|
||||
name: "default",
|
||||
files: %{
|
||||
included: ["mix.exs", "flavours/", "lib/", "forks/*/mix.exs", "forks/*/lib"],
|
||||
included: [
|
||||
"mix.exs",
|
||||
"flavours/",
|
||||
"lib/",
|
||||
"forks/*/mix.exs",
|
||||
"forks/*/lib"
|
||||
],
|
||||
excluded: [~r"/_build/", "**/*_test.exs"]
|
||||
},
|
||||
plugins: [],
|
||||
requires: [],
|
||||
strict: false,
|
||||
parse_timeout: 5000,
|
||||
color: true,
|
||||
color: true
|
||||
# checks: [
|
||||
# {Credo.Check.Design.AliasUsage, priority: :low},
|
||||
# # ... other checks omitted for readability ...
|
||||
|
|
|
@ -1,15 +1,21 @@
|
|||
[
|
||||
import_deps: [:surface],
|
||||
plugins: [Surface.Formatter.Plugin],
|
||||
plugins: [Phoenix.LiveView.HTMLFormatter, Surface.Formatter.Plugin],
|
||||
|
||||
# add patterns matching all .sface files and all .ex files with ~F sigils
|
||||
inputs: ["*.{ex,exs}", "{config,lib,test,forks}/**/*.{ex,exs,sface}"],
|
||||
inputs: [
|
||||
"{mix,.formatter,mess}.exs",
|
||||
"{flavours,lib,test}/**/*.{ex,exs,sface,heex}",
|
||||
"forks/bonfire*/{config,lib,test}/**/*.{ex,exs,sface,heex}"
|
||||
],
|
||||
|
||||
# THE FOLLOWING ARE OPTIONAL:
|
||||
|
||||
# set desired line length for both Elixir's code formatter and this one
|
||||
# (only affects opening tags in Surface)
|
||||
line_length: 80,
|
||||
line_length: 98
|
||||
|
||||
# heex_line_length: 84,
|
||||
|
||||
# or, set line length only for Surface code (overrides `line_length`)
|
||||
# surface_line_length: 84
|
||||
|
|
6
.iex.exs
6
.iex.exs
|
@ -24,9 +24,9 @@ if module_enabled?(Bonfire.Common.Test.Interactive) && Mix.env() == :test do
|
|||
Process.unlink(pid)
|
||||
end
|
||||
|
||||
Bonfire.Common.Test.Interactive.Helpers.ready
|
||||
|
||||
Bonfire.Common.Test.Interactive.Helpers.ready()
|
||||
else
|
||||
info("IExWatchTests is not running")
|
||||
end
|
||||
import_if_enabled Bonfire.Common.Test.Interactive.Helpers
|
||||
|
||||
import_if_enabled(Bonfire.Common.Test.Interactive.Helpers)
|
||||
|
|
32
.recode.exs
Normal file
32
.recode.exs
Normal file
|
@ -0,0 +1,32 @@
|
|||
alias Recode.Task
|
||||
|
||||
[
|
||||
version: "0.4.0",
|
||||
# Can also be set/reset with "--autocorrect"/"--no-autocorrect".
|
||||
autocorrect: true,
|
||||
# With "--dry" no changes will be written to the files.
|
||||
# Can also be set/reset with "--dry"/"--no-dry".
|
||||
# If dry is true then verbose is also active.
|
||||
dry: true,
|
||||
# Can also be set/reset with "--verbose"/"--no-verbose".
|
||||
verbose: true,
|
||||
# Can be overwriten by calling `mix recode "lib/**/*.ex"`.
|
||||
inputs: [
|
||||
"{flavours,lib,test}/**/*.{ex,exs}",
|
||||
"forks/bonfire*/{config,lib,test}/**/*.{ex,exs}"
|
||||
],
|
||||
formatter: {Recode.Formatter, []},
|
||||
tasks: [
|
||||
# Tasks could be added by a tuple of the tasks module name and an options
|
||||
# keyword list. A task can be deactived by `active: false`. The execution of
|
||||
# a deactivated task can be forced by calling `mix recode --task ModuleName`.
|
||||
{Task.AliasExpansion, []},
|
||||
{Task.AliasOrder, active: false},
|
||||
{Task.EnforceLineLength, active: false},
|
||||
{Task.PipeFunOne, []},
|
||||
{Task.SinglePipe, active: false}, # Note: does not known how to handle `Arrows`
|
||||
{Task.Specs, active: false, exclude: "{test}/**/*.{ex,exs}", config: [only: :visible]},
|
||||
{Task.TestFileExt, []},
|
||||
{Task.UnusedVariable, active: false}
|
||||
]
|
||||
]
|
|
@ -49,7 +49,7 @@
|
|||
"tailwindcss-debug-screens": "^2.2.1"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"chromedriver": "^103.0.0"
|
||||
"chromedriver": "^105.0.0"
|
||||
},
|
||||
"disabledDependencies": {
|
||||
"@rtvision/esbuild-dynamic-import": "^0.2.0",
|
||||
|
|
347
assets/yarn.lock
347
assets/yarn.lock
|
@ -12,6 +12,11 @@
|
|||
resolved "https://registry.yarnpkg.com/@alpinejs/intersect/-/intersect-3.10.3.tgz#9aebf43b40e02b0f53e244229472cc3f1d1ed304"
|
||||
integrity sha512-vMRvhbMJzS1tupb2a/3GF5H+gLxxWaXJpcxJlfSHrV2JTb+RFWOJIkL/63JpPPGibtpaNBDrx3hsRN0CJ4d5mw==
|
||||
|
||||
"@esbuild/linux-loong64@0.14.54":
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028"
|
||||
integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
|
||||
|
||||
"@nodelib/fs.scandir@2.1.5":
|
||||
version "2.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
|
||||
|
@ -34,25 +39,26 @@
|
|||
fastq "^1.6.0"
|
||||
|
||||
"@tailwindcss/forms@^0.5.2":
|
||||
version "0.5.2"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.2.tgz#4ef45f9916dcb37838cbe7fecdcc4ba7a7c2ab59"
|
||||
integrity sha512-pSrFeJB6Bg1Mrg9CdQW3+hqZXAKsBrSG9MAfFLKy1pVA4Mb4W7C0k7mEhlmS2Dfo/otxrQOET7NJiJ9RrS563w==
|
||||
version "0.5.3"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.3.tgz#e4d7989686cbcaf416c53f1523df5225332a86e7"
|
||||
integrity sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==
|
||||
dependencies:
|
||||
mini-svg-data-uri "^1.2.3"
|
||||
|
||||
"@tailwindcss/line-clamp@^0.4.0":
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/line-clamp/-/line-clamp-0.4.0.tgz#03353e31e77636b785f2336e8c978502cec1de81"
|
||||
integrity sha512-HQZo6gfx1D0+DU3nWlNLD5iA6Ef4JAXh0LeD8lOGrJwEDBwwJNKQza6WoXhhY1uQrxOuU8ROxV7CqiQV4CoiLw==
|
||||
version "0.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/line-clamp/-/line-clamp-0.4.2.tgz#f353c5a8ab2c939c6267ac5b907f012e5ee130f9"
|
||||
integrity sha512-HFzAQuqYCjyy/SX9sLGB1lroPzmcnWv1FHkIpmypte10hptf4oPUfucryMKovZh2u0uiS9U5Ty3GghWfEJGwVw==
|
||||
|
||||
"@tailwindcss/typography@^0.5.2":
|
||||
version "0.5.4"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.4.tgz#ad8c9e6808bae297bb7826742e4789f2a9f09a48"
|
||||
integrity sha512-QEdg40EmGvE7kKoDei8zr5sf4D1pIayHj4R31bH3lX8x2BtTiR+jNejYPOkhbmy3DXgkMF9jC8xqNiGFAuL9Sg==
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.7.tgz#e0b95bea787ee14c5a34a74fc824e6fe86ea8855"
|
||||
integrity sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==
|
||||
dependencies:
|
||||
lodash.castarray "^4.4.0"
|
||||
lodash.isplainobject "^4.0.6"
|
||||
lodash.merge "^4.6.2"
|
||||
postcss-selector-parser "6.0.10"
|
||||
|
||||
"@testim/chrome-version@^1.1.2":
|
||||
version "1.1.2"
|
||||
|
@ -60,9 +66,9 @@
|
|||
integrity sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw==
|
||||
|
||||
"@types/node@*":
|
||||
version "18.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.1.tgz#828e4785ccca13f44e2fb6852ae0ef11e3e20ba5"
|
||||
integrity sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg==
|
||||
version "18.7.16"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.16.tgz#0eb3cce1e37c79619943d2fd903919fc30850601"
|
||||
integrity sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==
|
||||
|
||||
"@types/yauzl@^2.9.1":
|
||||
version "2.10.0"
|
||||
|
@ -84,9 +90,9 @@
|
|||
integrity sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==
|
||||
|
||||
"@yaireo/tagify@^4.12.0":
|
||||
version "4.14.1"
|
||||
resolved "https://registry.yarnpkg.com/@yaireo/tagify/-/tagify-4.14.1.tgz#2657426ec64a12f1a1000400a7be6bba319a2657"
|
||||
integrity sha512-Yo/keCvgGRNV2KA6M8W/A2XUV4S9lTX+VYWwErWMJxKgzfMlZmhaOqkmuQBbGCvSS/GcLW4lzcV+IxPd+yPEXA==
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@yaireo/tagify/-/tagify-4.16.4.tgz#78d2cbb56cd083af175d3cb48178ada0b37d9872"
|
||||
integrity sha512-7x13aVfYPGUUMXWkV11/Zw4w1RkkTWtaO/rEAkaOFNwGIFXDBeG5Wr4gWF6JSHXLZAreS53nHq6b6mJrtpUgYA==
|
||||
|
||||
acorn-node@^1.8.2:
|
||||
version "1.8.2"
|
||||
|
@ -165,12 +171,12 @@ asynckit@^0.4.0:
|
|||
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
|
||||
|
||||
autoprefixer@^10.4.7:
|
||||
version "10.4.7"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf"
|
||||
integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==
|
||||
version "10.4.9"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.9.tgz#40f932f7d0535264823882031f9254ea72c693e5"
|
||||
integrity sha512-Uu67eduPEmOeA0vyJby5ghu1AAELCCNSsLAjK+lz6kYzNM5sqnBO36MqfsjhPjQF/BaJM5U/UuFYyl7PavY/wQ==
|
||||
dependencies:
|
||||
browserslist "^4.20.3"
|
||||
caniuse-lite "^1.0.30001335"
|
||||
browserslist "^4.21.3"
|
||||
caniuse-lite "^1.0.30001394"
|
||||
fraction.js "^4.2.0"
|
||||
normalize-range "^0.1.2"
|
||||
picocolors "^1.0.0"
|
||||
|
@ -214,15 +220,15 @@ braces@^3.0.2, braces@~3.0.2:
|
|||
dependencies:
|
||||
fill-range "^7.0.1"
|
||||
|
||||
browserslist@^4.20.3:
|
||||
version "4.21.2"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.2.tgz#59a400757465535954946a400b841ed37e2b4ecf"
|
||||
integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==
|
||||
browserslist@^4.21.3:
|
||||
version "4.21.3"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a"
|
||||
integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001366"
|
||||
electron-to-chromium "^1.4.188"
|
||||
caniuse-lite "^1.0.30001370"
|
||||
electron-to-chromium "^1.4.202"
|
||||
node-releases "^2.0.6"
|
||||
update-browserslist-db "^1.0.4"
|
||||
update-browserslist-db "^1.0.5"
|
||||
|
||||
buffer-crc32@~0.2.3:
|
||||
version "0.2.13"
|
||||
|
@ -242,10 +248,10 @@ camelcase-css@^2.0.1:
|
|||
resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
|
||||
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
|
||||
|
||||
caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001366:
|
||||
version "1.0.30001370"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001370.tgz#0a30d4f20d38b9e108cc5ae7cc62df9fe66cd5ba"
|
||||
integrity sha512-3PDmaP56wz/qz7G508xzjx8C+MC2qEm4SYhSEzC9IBROo+dGXFWRuaXkWti0A9tuI00g+toiriVqxtWMgl350g==
|
||||
caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001394:
|
||||
version "1.0.30001397"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001397.tgz#010d9d56e3b8abcd8df261d0a94b22426271a15f"
|
||||
integrity sha512-SW9N2TbCdLf0eiNDRrrQXx2sOkaakNZbCjgNpPyMJJbiOrU5QzMIrXOVMRM1myBXTD5iTkdrtU/EguCrBocHlA==
|
||||
|
||||
chokidar@^3.3.0, chokidar@^3.5.3:
|
||||
version "3.5.3"
|
||||
|
@ -262,10 +268,10 @@ chokidar@^3.3.0, chokidar@^3.5.3:
|
|||
optionalDependencies:
|
||||
fsevents "~2.3.2"
|
||||
|
||||
chromedriver@^103.0.0:
|
||||
version "103.0.0"
|
||||
resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-103.0.0.tgz#2ef086d62076e3ff6df6cfb84895d11d2c18d9cf"
|
||||
integrity sha512-7BHf6HWt0PeOHCzWO8qlnD13sARzr5AKTtG8Csn+czsuAsajwPxdLNtry5GPh8HYFyl+i0M+yg3bT43AGfgU9w==
|
||||
chromedriver@^105.0.0:
|
||||
version "105.0.0"
|
||||
resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-105.0.0.tgz#81a68e2bc0618a640defd7317ddf6ae9127fc5e4"
|
||||
integrity sha512-BX3GOUW5m6eiW9cVVF8hw+EFxvrGqYCxbwOqnpk8PjbNFqL5xjy7yel+e6ilJPjckAYFutMKs8XJvOs/W85vvg==
|
||||
dependencies:
|
||||
"@testim/chrome-version" "^1.1.2"
|
||||
axios "^0.27.2"
|
||||
|
@ -362,9 +368,9 @@ cssesc@^3.0.0:
|
|||
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
|
||||
|
||||
daisyui@^2.24.0:
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-2.24.0.tgz#7eacfc943815979227cf50b98f7df622c2814118"
|
||||
integrity sha512-Fdu/4LCdTfWLWAbCuPxvnaRotEfJ+hVPgZ2kv/aUk9RZ00Yk8fGdJtIf0kXJ3IgUKOr8rCXUpfQY6DQU9usPCQ==
|
||||
version "2.27.0"
|
||||
resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-2.27.0.tgz#145e75e17529f81a113c84e86cc5312e01799f88"
|
||||
integrity sha512-AhFGhTore1Kdnae+5RGc2PGESSXOjAQDHJfvryP+KY41gxMcNErtuaGZG+nOmvOzNKgxViSDSaOn/VZq6H8kxA==
|
||||
dependencies:
|
||||
color "^4.2"
|
||||
css-selector-tokenizer "^0.8.0"
|
||||
|
@ -455,10 +461,10 @@ duplexer@^0.1.1:
|
|||
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
|
||||
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
|
||||
|
||||
electron-to-chromium@^1.4.188:
|
||||
version "1.4.202"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.202.tgz#0c2ed733f42b02ec49a955c5badfcc65888c390b"
|
||||
integrity sha512-JYsK2ex9lmQD27kj19fhXYxzFJ/phLAkLKHv49A5UY6kMRV2xED3qMMLg/voW/+0AR6wMiI+VxlmK9NDtdxlPA==
|
||||
electron-to-chromium@^1.4.202:
|
||||
version "1.4.247"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.247.tgz#cc93859bc5fc521f611656e65ce17eae26a0fd3d"
|
||||
integrity sha512-FLs6R4FQE+1JHM0hh3sfdxnYjKvJpHZyhQDjc2qFq/xFvmmRt/TATNToZhrcGUFzpF2XjeiuozrA8lI0PZmYYw==
|
||||
|
||||
emoji-regex@^8.0.0:
|
||||
version "8.0.0"
|
||||
|
@ -472,131 +478,132 @@ end-of-stream@^1.1.0:
|
|||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
esbuild-android-64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz#a46fc80fa2007690e647680d837483a750a3097f"
|
||||
integrity sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q==
|
||||
esbuild-android-64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be"
|
||||
integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==
|
||||
|
||||
esbuild-android-arm64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd"
|
||||
integrity sha512-NFaoqEwa+OYfoYVpQWDMdKII7wZZkAjtJFo1WdnBeCYlYikvUhTnf2aPwPu5qEAw/ie1NYK0yn3cafwP+kP+OQ==
|
||||
esbuild-android-arm64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771"
|
||||
integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==
|
||||
|
||||
esbuild-darwin-64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4"
|
||||
integrity sha512-gDQsCvGnZiJv9cfdO48QqxkRV8oKAXgR2CGp7TdIpccwFdJMHf8hyIJhMW/05b/HJjET/26Us27Jx91BFfEVSA==
|
||||
esbuild-darwin-64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25"
|
||||
integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==
|
||||
|
||||
esbuild-darwin-arm64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c"
|
||||
integrity sha512-36nNs5OjKIb/Q50Sgp8+rYW/PqirRiFN0NFc9hEvgPzNJxeJedktXwzfJSln4EcRFRh5Vz4IlqFRScp+aiBBzA==
|
||||
esbuild-darwin-arm64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73"
|
||||
integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==
|
||||
|
||||
esbuild-freebsd-64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57"
|
||||
integrity sha512-/1pHHCUem8e/R86/uR+4v5diI2CtBdiWKiqGuPa9b/0x3Nwdh5AOH7lj+8823C6uX1e0ufwkSLkS+aFZiBCWxA==
|
||||
esbuild-freebsd-64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d"
|
||||
integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==
|
||||
|
||||
esbuild-freebsd-arm64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43"
|
||||
integrity sha512-iKwUVMQztnPZe5pUYHdMkRc9aSpvoV1mkuHlCoPtxZA3V+Kg/ptpzkcSY+fKd0kuom+l6Rc93k0UPVkP7xoqrw==
|
||||
esbuild-freebsd-arm64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48"
|
||||
integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==
|
||||
|
||||
esbuild-linux-32@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd"
|
||||
integrity sha512-sWUwvf3uz7dFOpLzYuih+WQ7dRycrBWHCdoXJ4I4XdMxEHCECd8b7a9N9u7FzT6XR2gHPk9EzvchQUtiEMRwqw==
|
||||
esbuild-linux-32@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5"
|
||||
integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==
|
||||
|
||||
esbuild-linux-64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623"
|
||||
integrity sha512-u0PQxPhaeI629t4Y3EEcQ0wmWG+tC/LpP2K7yDFvwuPq0jSQ8SIN+ARNYfRjGW15O2we3XJvklbGV0wRuUCPig==
|
||||
esbuild-linux-64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652"
|
||||
integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==
|
||||
|
||||
esbuild-linux-arm64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892"
|
||||
integrity sha512-ZyfoNgsTftD7Rp5S7La5auomKdNeB3Ck+kSKXC4pp96VnHyYGjHHXWIlcbH8i+efRn9brszo1/Thl1qn8RqmhQ==
|
||||
esbuild-linux-arm64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b"
|
||||
integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==
|
||||
|
||||
esbuild-linux-arm@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12"
|
||||
integrity sha512-VALZq13bhmFJYFE/mLEb+9A0w5vo8z+YDVOWeaf9vOTrSC31RohRIwtxXBnVJ7YKLYfEMzcgFYf+OFln3Y0cWg==
|
||||
esbuild-linux-arm@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59"
|
||||
integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==
|
||||
|
||||
esbuild-linux-mips64le@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064"
|
||||
integrity sha512-ygo31Vxn/WrmjKCHkBoutOlFG5yM9J2UhzHb0oWD9O61dGg+Hzjz9hjf5cmM7FBhAzdpOdEWHIrVOg2YAi6rTw==
|
||||
esbuild-linux-mips64le@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34"
|
||||
integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==
|
||||
|
||||
esbuild-linux-ppc64le@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11"
|
||||
integrity sha512-xWCKU5UaiTUT6Wz/O7GKP9KWdfbsb7vhfgQzRfX4ahh5NZV4ozZ4+SdzYG8WxetsLy84UzLX3Pi++xpVn1OkFQ==
|
||||
esbuild-linux-ppc64le@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e"
|
||||
integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==
|
||||
|
||||
esbuild-linux-riscv64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f"
|
||||
integrity sha512-0+dsneSEihZTopoO9B6Z6K4j3uI7EdxBP7YSF5rTwUgCID+wHD3vM1gGT0m+pjCW+NOacU9kH/WE9N686FHAJg==
|
||||
esbuild-linux-riscv64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8"
|
||||
integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==
|
||||
|
||||
esbuild-linux-s390x@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390"
|
||||
integrity sha512-tVjqcu8o0P9H4StwbIhL1sQYm5mWATlodKB6dpEZFkcyTI8kfIGWiWcrGmkNGH2i1kBUOsdlBafPxR3nzp3TDA==
|
||||
esbuild-linux-s390x@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6"
|
||||
integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==
|
||||
|
||||
esbuild-netbsd-64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85"
|
||||
integrity sha512-0R/glfqAQ2q6MHDf7YJw/TulibugjizBxyPvZIcorH0Mb7vSimdHy0XF5uCba5CKt+r4wjax1mvO9lZ4jiAhEg==
|
||||
esbuild-netbsd-64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81"
|
||||
integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==
|
||||
|
||||
esbuild-openbsd-64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e"
|
||||
integrity sha512-7PAtmrR5mDOFubXIkuxYQ4bdNS6XCK8AIIHUiZxq1kL8cFIH5731jPcXQ4JNy/wbj1C9sZ8rzD8BIM80Tqk29w==
|
||||
esbuild-openbsd-64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b"
|
||||
integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==
|
||||
|
||||
esbuild-sunos-64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f"
|
||||
integrity sha512-gBxNY/wyptvD7PkHIYcq7se6SQEXcSC8Y7mE0FJB+CGgssEWf6vBPfTTZ2b6BWKnmaP6P6qb7s/KRIV5T2PxsQ==
|
||||
esbuild-sunos-64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da"
|
||||
integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==
|
||||
|
||||
esbuild-windows-32@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz#6364905a99c1e6c1e2fe7bfccebd958131b1cd6c"
|
||||
integrity sha512-MOOe6J9cqe/iW1qbIVYSAqzJFh0p2LBLhVUIWdMVnNUNjvg2/4QNX4oT4IzgDeldU+Bym9/Tn6+DxvUHJXL5Zw==
|
||||
esbuild-windows-32@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31"
|
||||
integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==
|
||||
|
||||
esbuild-windows-64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b"
|
||||
integrity sha512-r/qE5Ex3w1jjGv/JlpPoWB365ldkppUlnizhMxJgojp907ZF1PgLTuW207kgzZcSCXyquL9qJkMsY+MRtaZ5yQ==
|
||||
esbuild-windows-64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4"
|
||||
integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==
|
||||
|
||||
esbuild-windows-arm64@0.14.50:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5"
|
||||
integrity sha512-EMS4lQnsIe12ZyAinOINx7eq2mjpDdhGZZWDwPZE/yUTN9cnc2Ze/xUTYIAyaJqrqQda3LnDpADKpvLvol6ENQ==
|
||||
esbuild-windows-arm64@0.14.54:
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982"
|
||||
integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==
|
||||
|
||||
esbuild@^0.14.47:
|
||||
version "0.14.50"
|
||||
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.50.tgz#7a665392c8df94bf6e1ae1e999966a5ee62c6cbc"
|
||||
integrity sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w==
|
||||
version "0.14.54"
|
||||
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2"
|
||||
integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==
|
||||
optionalDependencies:
|
||||
esbuild-android-64 "0.14.50"
|
||||
esbuild-android-arm64 "0.14.50"
|
||||
esbuild-darwin-64 "0.14.50"
|
||||
esbuild-darwin-arm64 "0.14.50"
|
||||
esbuild-freebsd-64 "0.14.50"
|
||||
esbuild-freebsd-arm64 "0.14.50"
|
||||
esbuild-linux-32 "0.14.50"
|
||||
esbuild-linux-64 "0.14.50"
|
||||
esbuild-linux-arm "0.14.50"
|
||||
esbuild-linux-arm64 "0.14.50"
|
||||
esbuild-linux-mips64le "0.14.50"
|
||||
esbuild-linux-ppc64le "0.14.50"
|
||||
esbuild-linux-riscv64 "0.14.50"
|
||||
esbuild-linux-s390x "0.14.50"
|
||||
esbuild-netbsd-64 "0.14.50"
|
||||
esbuild-openbsd-64 "0.14.50"
|
||||
esbuild-sunos-64 "0.14.50"
|
||||
esbuild-windows-32 "0.14.50"
|
||||
esbuild-windows-64 "0.14.50"
|
||||
esbuild-windows-arm64 "0.14.50"
|
||||
"@esbuild/linux-loong64" "0.14.54"
|
||||
esbuild-android-64 "0.14.54"
|
||||
esbuild-android-arm64 "0.14.54"
|
||||
esbuild-darwin-64 "0.14.54"
|
||||
esbuild-darwin-arm64 "0.14.54"
|
||||
esbuild-freebsd-64 "0.14.54"
|
||||
esbuild-freebsd-arm64 "0.14.54"
|
||||
esbuild-linux-32 "0.14.54"
|
||||
esbuild-linux-64 "0.14.54"
|
||||
esbuild-linux-arm "0.14.54"
|
||||
esbuild-linux-arm64 "0.14.54"
|
||||
esbuild-linux-mips64le "0.14.54"
|
||||
esbuild-linux-ppc64le "0.14.54"
|
||||
esbuild-linux-riscv64 "0.14.54"
|
||||
esbuild-linux-s390x "0.14.54"
|
||||
esbuild-netbsd-64 "0.14.54"
|
||||
esbuild-openbsd-64 "0.14.54"
|
||||
esbuild-sunos-64 "0.14.54"
|
||||
esbuild-windows-32 "0.14.54"
|
||||
esbuild-windows-64 "0.14.54"
|
||||
esbuild-windows-arm64 "0.14.54"
|
||||
|
||||
escalade@^3.1.1:
|
||||
version "3.1.1"
|
||||
|
@ -615,9 +622,9 @@ extract-zip@^2.0.1:
|
|||
"@types/yauzl" "^2.9.1"
|
||||
|
||||
fast-glob@^3.2.11, fast-glob@^3.2.9:
|
||||
version "3.2.11"
|
||||
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
|
||||
integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
|
||||
version "3.2.12"
|
||||
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
|
||||
integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
|
||||
dependencies:
|
||||
"@nodelib/fs.stat" "^2.0.2"
|
||||
"@nodelib/fs.walk" "^1.2.3"
|
||||
|
@ -850,9 +857,9 @@ is-binary-path@~2.1.0:
|
|||
binary-extensions "^2.0.0"
|
||||
|
||||
is-core-module@^2.9.0:
|
||||
version "2.9.0"
|
||||
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
|
||||
integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
|
||||
version "2.10.0"
|
||||
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed"
|
||||
integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==
|
||||
dependencies:
|
||||
has "^1.0.3"
|
||||
|
||||
|
@ -894,9 +901,9 @@ is-url@^1.2.4:
|
|||
integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==
|
||||
|
||||
is2@^2.0.6:
|
||||
version "2.0.7"
|
||||
resolved "https://registry.yarnpkg.com/is2/-/is2-2.0.7.tgz#d084e10cab3bd45d6c9dfde7a48599fcbb93fcac"
|
||||
integrity sha512-4vBQoURAXC6hnLFxD4VW7uc04XiwTTl/8ydYJxKvPwkWQrSjInkuM5VZVg6BGr1/natq69zDuvO9lGpLClJqvA==
|
||||
version "2.0.9"
|
||||
resolved "https://registry.yarnpkg.com/is2/-/is2-2.0.9.tgz#ff63b441f90de343fa8fac2125ee170da8e8240d"
|
||||
integrity sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==
|
||||
dependencies:
|
||||
deep-is "^0.1.3"
|
||||
ip-regex "^4.1.0"
|
||||
|
@ -916,7 +923,7 @@ jsonfile@^6.0.1:
|
|||
optionalDependencies:
|
||||
graceful-fs "^4.1.6"
|
||||
|
||||
lilconfig@^2.0.5:
|
||||
lilconfig@^2.0.5, lilconfig@^2.0.6:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4"
|
||||
integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==
|
||||
|
@ -1166,7 +1173,7 @@ postcss-reporter@^7.0.0:
|
|||
picocolors "^1.0.0"
|
||||
thenby "^1.3.4"
|
||||
|
||||
postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6:
|
||||
postcss-selector-parser@6.0.10, postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6:
|
||||
version "6.0.10"
|
||||
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d"
|
||||
integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
|
||||
|
@ -1180,9 +1187,9 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
|
|||
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
|
||||
|
||||
postcss@^8.4.14:
|
||||
version "8.4.14"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
|
||||
integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
|
||||
version "8.4.16"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c"
|
||||
integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==
|
||||
dependencies:
|
||||
nanoid "^3.3.4"
|
||||
picocolors "^1.0.0"
|
||||
|
@ -1343,9 +1350,9 @@ tailwindcss-debug-screens@^2.2.1:
|
|||
integrity sha512-EMyA0CYBzqcZJHtVDvBfmYzfx3NxuK4qDyVO5wnzcGOrmJsv25D9xPpWefVTORTvhE6pCh90Z1WYnLUKsg3yMw==
|
||||
|
||||
tailwindcss@^3, tailwindcss@~3.1.4:
|
||||
version "3.1.6"
|
||||
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.6.tgz#bcb719357776c39e6376a8d84e9834b2b19a49f1"
|
||||
integrity sha512-7skAOY56erZAFQssT1xkpk+kWt2NrO45kORlxFPXUt3CiGsVPhH1smuH5XoDH6sGPXLyBv+zgCKA2HWBsgCytg==
|
||||
version "3.1.8"
|
||||
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.8.tgz#4f8520550d67a835d32f2f4021580f9fddb7b741"
|
||||
integrity sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==
|
||||
dependencies:
|
||||
arg "^5.0.2"
|
||||
chokidar "^3.5.3"
|
||||
|
@ -1356,7 +1363,7 @@ tailwindcss@^3, tailwindcss@~3.1.4:
|
|||
fast-glob "^3.2.11"
|
||||
glob-parent "^6.0.2"
|
||||
is-glob "^4.0.3"
|
||||
lilconfig "^2.0.5"
|
||||
lilconfig "^2.0.6"
|
||||
normalize-path "^3.0.0"
|
||||
object-hash "^3.0.0"
|
||||
picocolors "^1.0.0"
|
||||
|
@ -1395,10 +1402,10 @@ universalify@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
|
||||
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
|
||||
|
||||
update-browserslist-db@^1.0.4:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38"
|
||||
integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==
|
||||
update-browserslist-db@^1.0.5:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz#16279639cff1d0f800b14792de43d97df2d11b7d"
|
||||
integrity sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==
|
||||
dependencies:
|
||||
escalade "^3.1.1"
|
||||
picocolors "^1.0.0"
|
||||
|
@ -1448,9 +1455,9 @@ yaml@^2.1.1:
|
|||
integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==
|
||||
|
||||
yargs-parser@^21.0.0:
|
||||
version "21.0.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
|
||||
integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
|
||||
version "21.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
|
||||
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
|
||||
|
||||
yargs@^17.0.0:
|
||||
version "17.5.1"
|
||||
|
|
|
@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
||||
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
||||
|
||||
## [Unreleased (2022-09-09)]
|
||||
## [Unreleased (2022-09-12)]
|
||||
### Added
|
||||
- Static page generator [#444](https://github.com/bonfire-networks/bonfire-app/issues/444)
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ config :activity_pub, :repo, Bonfire.Common.Repo
|
|||
|
||||
config :nodeinfo, :adapter, Bonfire.Federate.ActivityPub.NodeinfoAdapter
|
||||
|
||||
|
||||
config :activity_pub, :instance,
|
||||
hostname: "localhost",
|
||||
federation_publisher_modules: [ActivityPubWeb.Publisher],
|
||||
|
@ -29,6 +28,7 @@ config :activity_pub, :mrf_simple,
|
|||
banner_removal: []
|
||||
|
||||
config :http_signatures, adapter: ActivityPub.Signature
|
||||
|
||||
config :activity_pub, :http,
|
||||
proxy_url: nil,
|
||||
send_user_agent: true,
|
||||
|
@ -42,10 +42,14 @@ config :activity_pub, :http,
|
|||
]
|
||||
|
||||
config :activity_pub, ActivityPubWeb.Endpoint,
|
||||
render_errors: [view: ActivityPubWeb.ErrorView, accepts: ~w(json), layout: false]
|
||||
render_errors: [
|
||||
view: ActivityPubWeb.ErrorView,
|
||||
accepts: ~w(json),
|
||||
layout: false
|
||||
]
|
||||
|
||||
config :activity_pub, :json_contexts, %{
|
||||
"Hashtag"=> "as:Hashtag",
|
||||
"Hashtag" => "as:Hashtag",
|
||||
"ValueFlows" => "https://w3id.org/valueflows#",
|
||||
"om2" => "http://www.ontology-of-units-of-measure.org/resource/om-2/"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,9 +12,8 @@ config :activity_pub, Oban,
|
|||
repo: Bonfire.Common.Repo,
|
||||
queues: false
|
||||
|
||||
config :activity_pub, :instance,
|
||||
federating: false
|
||||
# rewrite_policy: [ActivityPub.MRF.SimplePolicy]
|
||||
config :activity_pub, :instance, federating: false
|
||||
# rewrite_policy: [ActivityPub.MRF.SimplePolicy]
|
||||
|
||||
config :tesla, adapter: Tesla.Mock
|
||||
|
||||
|
|
|
@ -13,10 +13,12 @@ config :bonfire_common,
|
|||
|
||||
config :bonfire_common, Bonfire.Common.Localise.Cldr,
|
||||
default_locale: default_locale,
|
||||
locales: ["fr", "en", "es", "it", "vi"], # locales that will be made available on top of those for which gettext localisation files are available
|
||||
# locales that will be made available on top of those for which gettext localisation files are available
|
||||
locales: ["fr", "en", "es", "it", "vi"],
|
||||
providers: [Cldr.Language],
|
||||
gettext: Bonfire.Common.Localise.Gettext,
|
||||
extra_gettext: [Timex.Gettext], # extra Gettex modules from dependencies not using the one from Bonfire.Common, so we can change their locale too
|
||||
# extra Gettex modules from dependencies not using the one from Bonfire.Common, so we can change their locale too
|
||||
extra_gettext: [Timex.Gettext],
|
||||
data_dir: "priv/cldr",
|
||||
add_fallback_locales: true,
|
||||
# precompile_number_formats: ["¤¤#,##0.##"],
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -12,9 +12,11 @@ config :bonfire_fail,
|
|||
bad_header: {400, "Bad request: malformed header."},
|
||||
no_access: {403, "This site is by invitation only."},
|
||||
token_expired: {403, "This link or token has expired, please request a fresh one."},
|
||||
already_claimed: {403, "This link or token was already used, please request a fresh one if necessary."},
|
||||
already_claimed:
|
||||
{403, "This link or token was already used, please request a fresh one if necessary."},
|
||||
token_not_found: {403, "This token was not found, please request a fresh one."},
|
||||
user_disabled: {403, "This user account is disabled. Please contact the instance administrator."},
|
||||
user_disabled:
|
||||
{403, "This user account is disabled. Please contact the instance administrator."},
|
||||
email_not_confirmed: {403, "Please confirm your email address first."},
|
||||
unknown_resource: {400, "Unknown resource."},
|
||||
invalid_argument: {400, "Invalid arguments passed."},
|
||||
|
|
|
@ -21,5 +21,5 @@ config :bonfire_gc,
|
|||
Bonfire.Data.Identity.Caretaker,
|
||||
Bonfire.Data.Identity.Self,
|
||||
Bonfire.Data.Social.PostContent
|
||||
],
|
||||
]
|
||||
]
|
||||
|
|
|
@ -3,5 +3,4 @@ import Config
|
|||
config :bonfire_geolocate,
|
||||
templates_path: "lib"
|
||||
|
||||
config :bonfire, :js_config,
|
||||
mapbox_api_key: System.get_env("MAPBOX_API_KEY")
|
||||
config :bonfire, :js_config, mapbox_api_key: System.get_env("MAPBOX_API_KEY")
|
||||
|
|
|
@ -11,17 +11,16 @@ config :boruta, Boruta.Oauth,
|
|||
]
|
||||
|
||||
# config :bonfire_open_id, :openid_connect_providers,
|
||||
# bonfire_cafe: [
|
||||
# discovery_document_uri: "https://bonfire.cafe/.well-known/openid-configuration",
|
||||
# client_id: "CLIENT_ID",
|
||||
# client_secret: "CLIENT_SECRET",
|
||||
# redirect_uri: "https://myinstance.net/",
|
||||
# response_type: "code",
|
||||
# scope: "identity data:public"
|
||||
# ]
|
||||
# bonfire_cafe: [
|
||||
# discovery_document_uri: "https://bonfire.cafe/.well-known/openid-configuration",
|
||||
# client_id: "CLIENT_ID",
|
||||
# client_secret: "CLIENT_SECRET",
|
||||
# redirect_uri: "https://myinstance.net/",
|
||||
# response_type: "code",
|
||||
# scope: "identity data:public"
|
||||
# ]
|
||||
|
||||
|
||||
if Mix.env()==:test do
|
||||
if Mix.env() == :test do
|
||||
config :bonfire_open_id, :oauth_module, Boruta.OauthMock
|
||||
config :bonfire_open_id, :openid_module, Boruta.OpenidMock
|
||||
end
|
||||
|
|
|
@ -21,16 +21,19 @@ The bonfire ecosystem will include:
|
|||
More details at https://bonfirenetworks.org",
|
||||
links: [
|
||||
"About Bonfire": "https://bonfirenetworks.org/",
|
||||
"Forum": "https://socialhub.activitypub.rocks/g/bonfire/activity/posts",
|
||||
Forum: "https://socialhub.activitypub.rocks/g/bonfire/activity/posts",
|
||||
"Community Chat": "https://matrix.to/#/%23bonfire-networks:matrix.org",
|
||||
"Contribute": "https://bonfirenetworks.org/contribute/"
|
||||
Contribute: "https://bonfirenetworks.org/contribute/"
|
||||
]
|
||||
]
|
||||
], # end theme
|
||||
],
|
||||
|
||||
# end theme
|
||||
# rich_text_editor_disabled: true,
|
||||
rich_text_editor: Bonfire.Editor.Quill,
|
||||
# rich_text_editor: Bonfire.Editor.Ck,
|
||||
font_family: "Inter (Latin Languages)", # default
|
||||
# default
|
||||
font_family: "Inter (Latin Languages)",
|
||||
font_families: [
|
||||
"Inter (Latin Languages)",
|
||||
"Inter (More Languages)",
|
||||
|
@ -71,14 +74,13 @@ More details at https://bonfirenetworks.org",
|
|||
"coffee",
|
||||
"winter"
|
||||
],
|
||||
|
||||
show_trending_tags: [
|
||||
disabled: false,
|
||||
for_last_x_days: 30,
|
||||
limit: 8,
|
||||
limit: 8
|
||||
],
|
||||
sidebar_components: [
|
||||
{Bonfire.UI.Social.SidebarNavigationLive, []},
|
||||
{Bonfire.UI.Social.SidebarNavigationLive, []}
|
||||
],
|
||||
smart_input: [
|
||||
post: true,
|
||||
|
@ -93,16 +95,15 @@ More details at https://bonfirenetworks.org",
|
|||
boosts: Bonfire.UI.Social.ProfileBoostsLive,
|
||||
followers: Bonfire.UI.Social.ProfileFollowsLive,
|
||||
followed: Bonfire.UI.Social.ProfileFollowsLive,
|
||||
follow: Bonfire.UI.Me.RemoteInteractionFormLive,
|
||||
follow: Bonfire.UI.Me.RemoteInteractionFormLive
|
||||
],
|
||||
navigation: [
|
||||
timeline: "Timeline",
|
||||
posts: "Posts",
|
||||
boosts: "Boosts",
|
||||
boosts: "Boosts"
|
||||
# private: "Messages",
|
||||
],
|
||||
widgets: [
|
||||
],
|
||||
widgets: []
|
||||
],
|
||||
category: [
|
||||
navigation: [
|
||||
|
@ -117,11 +118,11 @@ More details at https://bonfirenetworks.org",
|
|||
follow: Bonfire.UI.Me.RemoteInteractionFormLive,
|
||||
new: Bonfire.Classify.Web.NewCategoryLive,
|
||||
settings: Bonfire.Classify.Web.SettingsLive
|
||||
],
|
||||
]
|
||||
],
|
||||
smart_input_activities: [
|
||||
post: "Compose a post",
|
||||
category: "Create a topic",
|
||||
category: "Create a topic"
|
||||
# offer: "Publish an offer",
|
||||
# need: "Publish a need",
|
||||
# transfer_resource: "Transfer a resource",
|
||||
|
@ -133,7 +134,7 @@ More details at https://bonfirenetworks.org",
|
|||
smart_input_components: [
|
||||
post: Bonfire.UI.Social.WritePostContentLive,
|
||||
message: Bonfire.UI.Social.WritePostContentLive,
|
||||
category: Bonfire.Classify.Web.NewCategoryLive,
|
||||
category: Bonfire.Classify.Web.NewCategoryLive
|
||||
],
|
||||
invites_component: Bonfire.Invite.Links.Web.InvitesLive
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ import Config
|
|||
|
||||
default_flavour = "classic"
|
||||
flavour = System.get_env("FLAVOUR", default_flavour)
|
||||
flavour_path = System.get_env("FLAVOUR_PATH", "flavours/"<>flavour)
|
||||
flavour_path = System.get_env("FLAVOUR_PATH", "flavours/" <> flavour)
|
||||
|
||||
#### Basic configuration
|
||||
|
||||
|
@ -26,9 +26,12 @@ config :bonfire,
|
|||
org_schema: Bonfire.Data.Identity.User,
|
||||
home_page: Bonfire.Web.HomeLive,
|
||||
user_home_page: Bonfire.UI.Social.FeedsLive,
|
||||
default_pagination_limit: 15, # limit for prod
|
||||
thread_default_pagination_limit: 500, # very high limit for prod
|
||||
thread_default_max_depth: 3, # how many nested replies to show
|
||||
# limit for prod
|
||||
default_pagination_limit: 15,
|
||||
# very high limit for prod
|
||||
thread_default_pagination_limit: 500,
|
||||
# how many nested replies to show
|
||||
thread_default_max_depth: 3,
|
||||
localisation_path: "priv/localisation",
|
||||
ap_base_path: System.get_env("AP_BASE_PATH", "/pub"),
|
||||
signing_salt: "this-will-be-overriden-by-a-secure-string-in-runtime.exs",
|
||||
|
@ -37,10 +40,15 @@ config :bonfire,
|
|||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
url: [host: "localhost"],
|
||||
http: [
|
||||
port: String.to_integer(System.get_env("SERVER_PORT", "4000")), # this gets overriden in runtime.exs
|
||||
# this gets overriden in runtime.exs
|
||||
port: String.to_integer(System.get_env("SERVER_PORT", "4000")),
|
||||
transport_options: [socket_opts: [:inet6]]
|
||||
],
|
||||
render_errors: [view: Bonfire.UI.Common.ErrorView, accepts: ~w(html json), layout: false],
|
||||
render_errors: [
|
||||
view: Bonfire.UI.Common.ErrorView,
|
||||
accepts: ~w(html json),
|
||||
layout: false
|
||||
],
|
||||
pubsub_server: Bonfire.PubSub
|
||||
|
||||
config :phoenix, :json_library, Jason
|
||||
|
@ -48,11 +56,17 @@ config :phoenix_gon, :json_library, Jason
|
|||
|
||||
config :ecto_sparkles, :otp_app, :bonfire
|
||||
config :bonfire, :ecto_repos, [Bonfire.Common.Repo]
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
types: Bonfire.Geolocate.PostgresTypes # point to the appropriate definition to support any Postgres extensions used by your Bonfire flavour or extensions
|
||||
# priv: flavour_path <> "/repo",
|
||||
# point to the appropriate definition to support any Postgres extensions used by your Bonfire flavour or extensions
|
||||
types: Bonfire.Geolocate.PostgresTypes
|
||||
|
||||
# priv: flavour_path <> "/repo",
|
||||
config :ecto_sparkles, :otp_app, :bonfire
|
||||
config :ecto_shorts, repo: Bonfire.Common.Repo, error_module: EctoShorts.Actions.Error
|
||||
|
||||
config :ecto_shorts,
|
||||
repo: Bonfire.Common.Repo,
|
||||
error_module: EctoShorts.Actions.Error
|
||||
|
||||
# ecto query filtering
|
||||
# config :query_elf, :id_types, [:id, :binary_id, Pointers.ULID]
|
||||
|
@ -63,8 +77,7 @@ config :logger, :console,
|
|||
|
||||
config :elixir, :dbg_callback, {Untangle, :custom_dbg, []}
|
||||
|
||||
config :surface, :compiler,
|
||||
warn_on_undefined_props: false
|
||||
config :surface, :compiler, warn_on_undefined_props: false
|
||||
|
||||
config :bonfire, Oban,
|
||||
repo: Bonfire.Common.Repo,
|
||||
|
@ -85,13 +98,12 @@ config :mime, :types, %{
|
|||
|
||||
config :sentry,
|
||||
dsn: "this-will-be-overriden-by-a-secure-string-in-runtime.exs",
|
||||
environment_name: Mix.env,
|
||||
environment_name: Mix.env(),
|
||||
# enable_source_code_context: true,
|
||||
root_source_code_path: File.cwd!(),
|
||||
included_environments: [:prod, :dev],
|
||||
tags: %{app_version: Mix.Project.config()[:version]}
|
||||
|
||||
|
||||
# include config for all used Bonfire extensions
|
||||
for config <- "bonfire_*.exs" |> Path.expand(__DIR__) |> Path.wildcard() do
|
||||
# IO.inspect(include_config: config)
|
||||
|
@ -100,6 +112,5 @@ end
|
|||
|
||||
import_config "activity_pub.exs"
|
||||
|
||||
|
||||
# finally, append/override config based on env, which will override any config set above (including from imported files)
|
||||
import_config "#{config_env()}.exs"
|
||||
|
|
|
@ -4,8 +4,10 @@ import Config
|
|||
changelog_issues_closed_after = "2022-08-30"
|
||||
|
||||
config :bonfire,
|
||||
experimental_features_enabled: true, # Note: you can run `Bonfire.Common.Config.put(:experimental_features_enabled, true)` to enable these in prod too
|
||||
default_pagination_limit: 10 # low limit so it is easier to test
|
||||
# Note: you can run `Bonfire.Common.Config.put(:experimental_features_enabled, true)` to enable these in prod too
|
||||
experimental_features_enabled: true,
|
||||
# low limit so it is easier to test
|
||||
default_pagination_limit: 10
|
||||
|
||||
# config :pseudo_gettext, :locale, "en-pseudo_text" # uncomment to use https://en.wikipedia.org/wiki/Pseudolocalization and check that the app is properly localisable
|
||||
|
||||
|
@ -20,15 +22,22 @@ path_dep_dirs =
|
|||
|> Enum.map(&(Keyword.fetch!(elem(&1, 1), :path) <> "/lib"))
|
||||
|
||||
config :phoenix_live_reload,
|
||||
dirs: path_dep_dirs ++ ["lib/"] # watch the app's lib/ dir + the dep/lib/ dir of every locally-cloned dep
|
||||
# watch the app's lib/ dir + the dep/lib/ dir of every locally-cloned dep
|
||||
dirs: path_dep_dirs ++ ["lib/"]
|
||||
|
||||
path_dep_patterns = path_dep_dirs |> Enum.map(&(String.slice(&1, 2..1000) <>".*ex")) # to include cloned code in patterns
|
||||
path_dep_patterns = path_dep_patterns ++ path_dep_dirs |> Enum.map(&(String.slice(&1, 2..1000) <>".*sface")) # Surface views
|
||||
# to include cloned code in patterns
|
||||
path_dep_patterns = Enum.map(path_dep_dirs, &(String.slice(&1, 2..1000) <> ".*ex"))
|
||||
|
||||
# Surface views
|
||||
path_dep_patterns =
|
||||
(path_dep_patterns ++ path_dep_dirs)
|
||||
|> Enum.map(&(String.slice(&1, 2..1000) <> ".*sface"))
|
||||
|
||||
# Watch static and templates for browser reloading.
|
||||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
server: true,
|
||||
debug_errors: true, # In the development environment, Phoenix will debug errors by default, showing us a very informative debugging page. If we want to see what the application would serve in production, set to false
|
||||
# In the development environment, Phoenix will debug errors by default, showing us a very informative debugging page. If we want to see what the application would serve in production, set to false
|
||||
debug_errors: true,
|
||||
check_origin: false,
|
||||
code_reloader: true,
|
||||
watchers: [
|
||||
|
@ -50,45 +59,47 @@ config :bonfire, Bonfire.Web.Endpoint,
|
|||
]
|
||||
],
|
||||
live_reload: [
|
||||
patterns: [
|
||||
patterns:
|
||||
[
|
||||
# ~r"^priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
|
||||
# ~r"^priv/gettext/.*(po)$",
|
||||
# ~r"^web/(live|views)/.*ex$",
|
||||
# ~r"^lib/.*_live\.ex$",
|
||||
# ~r".*leex$",
|
||||
# defp elixirc_paths(:dev), do: ["lib"] ++ catalogues()
|
||||
|
||||
~r"lib/.*(ex|sface)$",
|
||||
~r"priv/catalogue/.*(ex)$",
|
||||
~r"priv/catalogue/.*(ex)$"
|
||||
] ++ path_dep_patterns
|
||||
]
|
||||
|
||||
# defp elixirc_paths(:dev), do: ["lib"] ++ catalogues()
|
||||
|
||||
config :logger, :console,
|
||||
level: :debug,
|
||||
truncate: :infinity,
|
||||
format: "[$level] $message\n" # Do not include metadata or timestamps
|
||||
# Do not include metadata or timestamps
|
||||
format: "[$level] $message\n"
|
||||
|
||||
config :phoenix, :stacktrace_depth, 30
|
||||
|
||||
config :phoenix, :plug_init_mode, :runtime
|
||||
|
||||
config :surface, :compiler,
|
||||
warn_on_undefined_props: true
|
||||
config :surface, :compiler, warn_on_undefined_props: true
|
||||
|
||||
config :exsync,
|
||||
src_monitor: true,
|
||||
extra_extensions: [".leex", ".js", ".css", ".sface"]
|
||||
|
||||
config :versioce, :changelog,
|
||||
datagrabber: Versioce.Changelog.DataGrabber.Git, # Or your own datagrabber module
|
||||
formatter: Versioce.Changelog.Formatter.Keepachangelog # Or your own formatter module
|
||||
# Or your own datagrabber module
|
||||
datagrabber: Versioce.Changelog.DataGrabber.Git,
|
||||
# Or your own formatter module
|
||||
formatter: Versioce.Changelog.Formatter.Keepachangelog
|
||||
|
||||
config :versioce, :changelog,
|
||||
closed_after: changelog_issues_closed_after,
|
||||
changelog_file: "docs/CHANGELOG-autogenerated.md",
|
||||
datagrabber: Bonfire.Common.Changelog.Github.DataGrabber,
|
||||
anchors:
|
||||
%{
|
||||
anchors: %{
|
||||
added: ["Feature"],
|
||||
changed: ["Improvement", "UI/UX", "Refactor"],
|
||||
deprecated: ["[DEP]"],
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
import Config
|
||||
|
||||
|
||||
# We include the path to a cache manifest
|
||||
# containing the digested version of static files. This
|
||||
# manifest is generated by the `mix phx.digest` task,
|
||||
# which you should run after static files are built and
|
||||
# before starting your production server.
|
||||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
cache_static_manifest: "priv/static/cache_manifest.json"
|
||||
config :bonfire, Bonfire.Web.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json"
|
||||
|
||||
config :logger,
|
||||
backends: [:console, Sentry.LoggerBackend]
|
||||
|
@ -18,4 +16,5 @@ config :logger, level: :info
|
|||
config :bonfire, Bonfire.Web.Endpoint, server: true
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
priv: "priv/repo" # in releases migrations are not in a flavour-specific directory
|
||||
# in releases migrations are not in a flavour-specific directory
|
||||
priv: "priv/repo"
|
||||
|
|
|
@ -12,7 +12,8 @@ public_port = String.to_integer(System.get_env("PUBLIC_PORT", "4000"))
|
|||
Bonfire.Common.Config.LoadExtensionsConfig.load_configs()
|
||||
##
|
||||
|
||||
System.get_env("DATABASE_URL") || System.get_env("POSTGRES_PASSWORD") || System.get_env("CI") ||
|
||||
System.get_env("DATABASE_URL") || System.get_env("POSTGRES_PASSWORD") ||
|
||||
System.get_env("CI") ||
|
||||
raise """
|
||||
Environment variables for database are missing.
|
||||
For example: DATABASE_URL=ecto://USER:PASS@HOST/DATABASE
|
||||
|
@ -21,8 +22,7 @@ System.get_env("DATABASE_URL") || System.get_env("POSTGRES_PASSWORD") || System.
|
|||
"""
|
||||
|
||||
if System.get_env("DATABASE_URL") do
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
url: System.get_env("DATABASE_URL")
|
||||
config :bonfire, Bonfire.Common.Repo, url: System.get_env("DATABASE_URL")
|
||||
else
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
# ssl: true,
|
||||
|
@ -38,12 +38,14 @@ secret_key_base =
|
|||
You can generate one by calling: mix phx.gen.secret
|
||||
"""
|
||||
|
||||
signing_salt = System.get_env("SIGNING_SALT") || System.get_env("CI") ||
|
||||
signing_salt =
|
||||
System.get_env("SIGNING_SALT") || System.get_env("CI") ||
|
||||
raise """
|
||||
environment variable SIGNING_SALT is missing.
|
||||
"""
|
||||
|
||||
encryption_salt = System.get_env("ENCRYPTION_SALT") || System.get_env("CI") ||
|
||||
encryption_salt =
|
||||
System.get_env("ENCRYPTION_SALT") || System.get_env("CI") ||
|
||||
raise """
|
||||
environment variable ENCRYPTION_SALT is missing.
|
||||
"""
|
||||
|
@ -58,7 +60,10 @@ config :bonfire,
|
|||
signing_salt: signing_salt,
|
||||
root_path: File.cwd!()
|
||||
|
||||
start_server? = if config_env() == :test, do: System.get_env("START_SERVER", "true"), else: System.get_env("START_SERVER", "true")
|
||||
start_server? =
|
||||
if config_env() == :test,
|
||||
do: System.get_env("START_SERVER", "true"),
|
||||
else: System.get_env("START_SERVER", "true")
|
||||
|
||||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
server: String.to_existing_atom(start_server?),
|
||||
|
@ -73,9 +78,7 @@ config :bonfire, Bonfire.Web.Endpoint,
|
|||
live_view: [signing_salt: signing_salt]
|
||||
|
||||
if System.get_env("SENTRY_DSN") do
|
||||
IO.puts(
|
||||
"Note: errors will be reported to Sentry."
|
||||
)
|
||||
IO.puts("Note: errors will be reported to Sentry.")
|
||||
|
||||
config :sentry,
|
||||
dsn: System.get_env("SENTRY_DSN")
|
||||
|
@ -87,22 +90,20 @@ end
|
|||
|
||||
# start prod-only config
|
||||
if config_env() == :prod do
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
# ssl: true,
|
||||
database: System.get_env("POSTGRES_DB", "bonfire"),
|
||||
pool_size: String.to_integer(System.get_env("POOL_SIZE", "10")),
|
||||
log: String.to_atom(System.get_env("DB_QUERIES_LOG_LEVEL", "false")) # Note: keep this disabled if using ecto_dev_logger or EctoSparkles.Log instead #
|
||||
|
||||
end # prod only config
|
||||
# Note: keep this disabled if using ecto_dev_logger or EctoSparkles.Log instead #
|
||||
log: String.to_atom(System.get_env("DB_QUERIES_LOG_LEVEL", "false"))
|
||||
end
|
||||
|
||||
# prod only config
|
||||
|
||||
# start prod and dev only config
|
||||
if config_env() != :test do
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
slow_query_ms: String.to_integer(System.get_env("SLOW_QUERY_MS", "100"))
|
||||
|
||||
end
|
||||
|
||||
## bonfire_livebook
|
||||
|
@ -110,6 +111,4 @@ if Code.ensure_loaded?(Livebook) do
|
|||
Livebook.config_runtime()
|
||||
end
|
||||
|
||||
IO.puts(
|
||||
"Welcome to Bonfire!"
|
||||
)
|
||||
IO.puts("Welcome to Bonfire!")
|
||||
|
|
|
@ -5,8 +5,10 @@ import Config
|
|||
import_config "activity_pub_test.exs"
|
||||
|
||||
config :bonfire,
|
||||
default_pagination_limit: 10, # should match limit hardcoded in tests
|
||||
thread_default_pagination_limit: 10, # should match limit hardcoded in tests
|
||||
# should match limit hardcoded in tests
|
||||
default_pagination_limit: 10,
|
||||
# should match limit hardcoded in tests
|
||||
thread_default_pagination_limit: 10,
|
||||
skip_all_boundary_checks: false
|
||||
|
||||
config :bonfire, Bonfire.Mailer, adapter: Bamboo.TestAdapter
|
||||
|
@ -40,8 +42,7 @@ config :bonfire, Bonfire.Common.Repo,
|
|||
timeout: 10_000,
|
||||
connect_timeout: 10_000
|
||||
|
||||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
http: [port: 4001]
|
||||
config :bonfire, Bonfire.Web.Endpoint, http: [port: 4001]
|
||||
|
||||
config :bonfire, Oban,
|
||||
crontab: false,
|
||||
|
@ -54,6 +55,7 @@ config :mix_test_interactive,
|
|||
clear: true
|
||||
|
||||
config :paginator, ecto_repos: [Bonfire.Common.Repo]
|
||||
|
||||
config :paginator, Paginator.Repo,
|
||||
pool: Ecto.Adapters.SQL.Sandbox,
|
||||
username: System.get_env("POSTGRES_USER", "postgres"),
|
||||
|
@ -65,15 +67,17 @@ config :exsync,
|
|||
src_monitor: false,
|
||||
extra_extensions: [".leex", ".js", ".css", ".sface"]
|
||||
|
||||
|
||||
# for headless browser testing:
|
||||
config :bonfire, sql_sandbox: true
|
||||
|
||||
config :wallaby,
|
||||
otp_app: :bonfire,
|
||||
# base_url: Bonfire.Web.Endpoint.url(),
|
||||
max_wait_time: 6_000,
|
||||
screenshot_on_failure: true,
|
||||
chromedriver: [
|
||||
path: "assets/node_modules/chromedriver/bin/chromedriver", # point to your chromedriver path
|
||||
headless: true # change to false if you want to see the browser in action
|
||||
# point to your chromedriver path
|
||||
path: "assets/node_modules/chromedriver/bin/chromedriver",
|
||||
# change to false if you want to see the browser in action
|
||||
headless: true
|
||||
]
|
||||
|
|
|
@ -2,11 +2,10 @@ defmodule Bonfire.Repo.Migrations.HelloWorld do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
execute "CREATE EXTENSION IF NOT EXISTS \"citext\""
|
||||
execute("CREATE EXTENSION IF NOT EXISTS \"citext\"")
|
||||
end
|
||||
|
||||
def down do
|
||||
execute "DROP EXTENSION IF EXISTS \"citext\""
|
||||
execute("DROP EXTENSION IF EXISTS \"citext\"")
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -6,9 +6,9 @@ defmodule Bonfire.Repo.Migrations.InitPointers do
|
|||
init_pointers_ulid_extra()
|
||||
init_pointers()
|
||||
end
|
||||
|
||||
def down do
|
||||
init_pointers_ulid_extra()
|
||||
init_pointers()
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -2,7 +2,6 @@ defmodule Bonfire.Repo.Migrations.InitEdges do
|
|||
use Ecto.Migration
|
||||
alias Bonfire.Data.Edges.Migration
|
||||
|
||||
|
||||
def up do
|
||||
Migration.up()
|
||||
end
|
||||
|
@ -10,5 +9,4 @@ defmodule Bonfire.Repo.Migrations.InitEdges do
|
|||
def down do
|
||||
Migration.down()
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -6,5 +6,4 @@ defmodule Bonfire.Federate.ActivityPub.Repo.Migrations.ImportMe do
|
|||
|
||||
def up, do: migrate_activity_pub
|
||||
def down, do: migrate_activity_pub
|
||||
|
||||
end
|
||||
|
|
|
@ -5,5 +5,4 @@ defmodule Bonfire.Boundaries.Repo.Migrations.ImportBoundaries do
|
|||
|
||||
def up, do: migrate_boundaries()
|
||||
def down, do: migrate_boundaries()
|
||||
|
||||
end
|
||||
|
|
|
@ -9,5 +9,4 @@ defmodule Bonfire.Repo.Migrations.ImportMe do
|
|||
end
|
||||
|
||||
def down, do: migrate_me()
|
||||
|
||||
end
|
||||
|
|
|
@ -5,10 +5,8 @@ defmodule Bonfire.Social.Repo.Migrations.ImportSocial do
|
|||
import Pointers.Migration
|
||||
|
||||
def up do
|
||||
|
||||
migrate_social()
|
||||
|
||||
end
|
||||
def down, do: migrate_social()
|
||||
|
||||
def down, do: migrate_social()
|
||||
end
|
||||
|
|
|
@ -5,5 +5,4 @@ defmodule Bonfire.Boundaries.Repo.Migrations.BoundariesFixtures do
|
|||
|
||||
def up, do: Bonfire.Boundaries.Fixtures.insert()
|
||||
def down, do: nil
|
||||
|
||||
end
|
||||
|
|
|
@ -2,12 +2,12 @@ defmodule Bonfire.Repo.Migrations.ImportQuantify do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
Bonfire.Quantify.Migrations.change
|
||||
Bonfire.Quantify.Migrations.change_measure
|
||||
Bonfire.Quantify.Migrations.change()
|
||||
Bonfire.Quantify.Migrations.change_measure()
|
||||
end
|
||||
|
||||
def down do
|
||||
Bonfire.Quantify.Migrations.change
|
||||
Bonfire.Quantify.Migrations.change_measure
|
||||
Bonfire.Quantify.Migrations.change()
|
||||
Bonfire.Quantify.Migrations.change_measure()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,10 +2,10 @@ defmodule Bonfire.Repo.Migrations.ImportGeolocation do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
Bonfire.Geolocate.Migrations.change
|
||||
Bonfire.Geolocate.Migrations.change()
|
||||
end
|
||||
|
||||
def down do
|
||||
Bonfire.Geolocate.Migrations.change
|
||||
Bonfire.Geolocate.Migrations.change()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -6,5 +6,4 @@ defmodule Bonfire.Repo.Migrations.ImportSharedUser do
|
|||
|
||||
def up, do: migrate_shared_user()
|
||||
def down, do: migrate_shared_user()
|
||||
|
||||
end
|
||||
|
|
|
@ -4,12 +4,12 @@ defmodule ActivityPub.Repo.Migrations.APTestTable do
|
|||
def change do
|
||||
# This table only exists for test purposes
|
||||
create table("local_actor", primary_key: false) do
|
||||
add :id, :uuid, primary_key: true
|
||||
add :username, :citext
|
||||
add :data, :map
|
||||
add :local, :boolean
|
||||
add :keys, :text
|
||||
add :followers, {:array, :string}
|
||||
add(:id, :uuid, primary_key: true)
|
||||
add(:username, :citext)
|
||||
add(:data, :map)
|
||||
add(:local, :boolean)
|
||||
add(:keys, :text)
|
||||
add(:followers, {:array, :string})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,15 +4,19 @@ defmodule Bonfire.Social.Repo.Migrations.ProfileImages do
|
|||
import Pointers.Migration
|
||||
|
||||
def up do
|
||||
drop_if_exists(
|
||||
constraint("bonfire_data_social_profile", "bonfire_data_social_profile_icon_id_fkey")
|
||||
)
|
||||
|
||||
drop_if_exists constraint "bonfire_data_social_profile", "bonfire_data_social_profile_icon_id_fkey"
|
||||
drop_if_exists constraint "bonfire_data_social_profile", "bonfire_data_social_profile_image_id_fkey"
|
||||
drop_if_exists(
|
||||
constraint("bonfire_data_social_profile", "bonfire_data_social_profile_image_id_fkey")
|
||||
)
|
||||
|
||||
alter table("bonfire_data_social_profile") do
|
||||
Ecto.Migration.add_if_not_exists :icon_id, strong_pointer(Bonfire.Files.Media)
|
||||
Ecto.Migration.add_if_not_exists :image_id, strong_pointer(Bonfire.Files.Media)
|
||||
Ecto.Migration.add_if_not_exists(:icon_id, strong_pointer(Bonfire.Files.Media))
|
||||
Ecto.Migration.add_if_not_exists(:image_id, strong_pointer(Bonfire.Files.Media))
|
||||
end
|
||||
end
|
||||
def down, do: nil
|
||||
|
||||
def down, do: nil
|
||||
end
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Bonfire.Repo.Migrations.FP do
|
||||
use Ecto.Migration
|
||||
|
||||
|
||||
def up do
|
||||
execute("create or replace function
|
||||
column_exists(ptable text, pcolumn text, pschema text default 'public')
|
||||
|
@ -18,7 +17,8 @@ defmodule Bonfire.Repo.Migrations.FP do
|
|||
);
|
||||
$body$;")
|
||||
|
||||
execute("CREATE OR REPLACE FUNCTION rename_column_if_exists(ptable TEXT, pcolumn TEXT, new_name TEXT)
|
||||
execute(
|
||||
"CREATE OR REPLACE FUNCTION rename_column_if_exists(ptable TEXT, pcolumn TEXT, new_name TEXT)
|
||||
RETURNS VOID AS $BODY$
|
||||
BEGIN
|
||||
-- Rename the column if it exists.
|
||||
|
@ -27,14 +27,15 @@ defmodule Bonfire.Repo.Migrations.FP do
|
|||
ptable, pcolumn, new_name);
|
||||
END IF;
|
||||
END$BODY$
|
||||
LANGUAGE plpgsql VOLATILE;")
|
||||
LANGUAGE plpgsql VOLATILE;"
|
||||
)
|
||||
|
||||
flush()
|
||||
|
||||
execute("SELECT rename_column_if_exists('bonfire_data_social_feed_publish', 'object_id', 'activity_id') ")
|
||||
|
||||
execute(
|
||||
"SELECT rename_column_if_exists('bonfire_data_social_feed_publish', 'object_id', 'activity_id') "
|
||||
)
|
||||
end
|
||||
|
||||
def down, do: nil
|
||||
|
||||
end
|
||||
|
|
|
@ -5,9 +5,9 @@ defmodule Bonfire.Social.Repo.Migrations.PeeredURI do
|
|||
|
||||
def up do
|
||||
alter table("bonfire_data_activity_pub_peered") do
|
||||
Ecto.Migration.add_if_not_exists :canonical_uri, :text, null: true
|
||||
Ecto.Migration.add_if_not_exists(:canonical_uri, :text, null: true)
|
||||
end
|
||||
end
|
||||
def down, do: nil
|
||||
|
||||
def down, do: nil
|
||||
end
|
||||
|
|
|
@ -2,10 +2,10 @@ defmodule Bonfire.Repo.Migrations.ImportClassify do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
Bonfire.Classify.Migrations.up
|
||||
Bonfire.Classify.Migrations.up()
|
||||
end
|
||||
|
||||
def down do
|
||||
Bonfire.Classify.Migrations.down
|
||||
Bonfire.Classify.Migrations.down()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,10 +2,10 @@ defmodule Bonfire.Repo.Migrations.ImportInviteLink do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
Bonfire.Invites.Link.Migration.up
|
||||
Bonfire.Invites.Link.Migration.up()
|
||||
end
|
||||
|
||||
def down do
|
||||
Bonfire.Invites.Link.Migration.down
|
||||
Bonfire.Invites.Link.Migration.down()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,5 +4,4 @@ defmodule Bonfire.Data.Identity.Repo.Migrations.CareClosure do
|
|||
alias Bonfire.Data.Identity.CareClosure.Migration
|
||||
|
||||
def change, do: Migration.migrate_care_closure_view()
|
||||
|
||||
end
|
||||
|
|
|
@ -5,9 +5,10 @@ defmodule Bonfire.Repo.Migrations.AddFilesMixin do
|
|||
import Pointers.Migration
|
||||
|
||||
def up do
|
||||
alter table("bonfire_files_media") do # cleanup old stuff
|
||||
remove_if_exists :created_at, :utc_datetime_usec
|
||||
remove_if_exists :updated_at, :utc_datetime_usec
|
||||
# cleanup old stuff
|
||||
alter table("bonfire_files_media") do
|
||||
remove_if_exists(:created_at, :utc_datetime_usec)
|
||||
remove_if_exists(:updated_at, :utc_datetime_usec)
|
||||
end
|
||||
|
||||
Bonfire.Files.Migrations.migrate_files()
|
||||
|
|
|
@ -5,5 +5,4 @@ defmodule Bonfire.Boundaries.Repo.Migrations.BoundariesFixturesUp do
|
|||
|
||||
def up, do: Bonfire.Boundaries.Fixtures.insert()
|
||||
def down, do: nil
|
||||
|
||||
end
|
||||
|
|
|
@ -8,11 +8,13 @@ System.put_env("SEARCH_INDEXING_DISABLED", "true")
|
|||
|
||||
# if the user has configured an admin user for the seeds, insert it.
|
||||
case {System.get_env("ADMIN_USER", "root"), System.get_env("ADMIN_PASSWORD", "")} do
|
||||
{u,p} when p != "" ->
|
||||
{u, p} when p != "" ->
|
||||
fake_account!(%{credential: %{password: p}})
|
||||
|> fake_user!(%{character: %{username: u}, profile: %{name: u}})
|
||||
|> Bonfire.Me.Users.make_admin()
|
||||
_ -> nil
|
||||
|
||||
_ ->
|
||||
nil
|
||||
end
|
||||
|
||||
# create some users
|
||||
|
@ -20,7 +22,7 @@ users = for _ <- 1..3, do: fake_user!()
|
|||
random_user = fn -> Faker.Util.pick(users) end
|
||||
|
||||
# start fake threads
|
||||
#for _ <- 1..3 do
|
||||
# for _ <- 1..3 do
|
||||
# user = random_user.()
|
||||
# thread = fake_thread!(user)
|
||||
# comment = fake_comment!(user, thread)
|
||||
|
@ -28,15 +30,14 @@ random_user = fn -> Faker.Util.pick(users) end
|
|||
# reply = fake_comment!(random_user.(), thread, %{in_reply_to_id: comment.id})
|
||||
# subreply = fake_comment!(random_user.(), thread, %{in_reply_to_id: reply.id})
|
||||
# subreply2 = fake_comment!(random_user.(), thread, %{in_reply_to_id: subreply.id})
|
||||
#end
|
||||
# end
|
||||
#
|
||||
## more fake threads
|
||||
#for _ <- 1..2 do
|
||||
# for _ <- 1..2 do
|
||||
# user = random_user.()
|
||||
# thread = fake_thread!(user)
|
||||
# comment = fake_comment!(user, thread)
|
||||
#end
|
||||
|
||||
# end
|
||||
|
||||
# define some tags/categories
|
||||
if(Bonfire.Common.Extend.extension_enabled?(Bonfire.Classify.Simulate)) do
|
||||
|
@ -82,18 +83,22 @@ if(Bonfire.Common.Extend.extension_enabled?(ValueFlows.Simulate)) do
|
|||
|
||||
# some proposed intents
|
||||
action_id = ValueFlows.Simulate.action_id()
|
||||
intent = ValueFlows.Simulate.fake_intent!(user, %{resource_conforms_to: res_spec, action_id: action_id})
|
||||
|
||||
intent =
|
||||
ValueFlows.Simulate.fake_intent!(user, %{
|
||||
resource_conforms_to: res_spec,
|
||||
action_id: action_id
|
||||
})
|
||||
|
||||
proposal = ValueFlows.Simulate.fake_proposal!(user)
|
||||
ValueFlows.Simulate.fake_proposed_to!(random_user.(), proposal)
|
||||
ValueFlows.Simulate.fake_proposed_intent!(proposal, intent)
|
||||
|
||||
# define some geolocations
|
||||
if(Bonfire.Common.Extend.extension_enabled?(Bonfire.Geolocate.Simulate)) do
|
||||
|
||||
places = for _ <- 1..2, do: Bonfire.Geolocate.Simulate.fake_geolocation!(random_user.())
|
||||
random_place = fn -> Faker.Util.pick(places) end
|
||||
|
||||
|
||||
for _ <- 1..2 do
|
||||
# define some intents with geolocation
|
||||
_intent =
|
||||
|
@ -103,7 +108,8 @@ if(Bonfire.Common.Extend.extension_enabled?(ValueFlows.Simulate)) do
|
|||
)
|
||||
|
||||
# define some proposals with geolocation
|
||||
_proposal = ValueFlows.Simulate.fake_proposal!(user, %{eligible_location: random_place.()})
|
||||
_proposal =
|
||||
ValueFlows.Simulate.fake_proposal!(user, %{eligible_location: random_place.()})
|
||||
|
||||
# both with geo
|
||||
intent =
|
||||
|
@ -118,8 +124,13 @@ if(Bonfire.Common.Extend.extension_enabled?(ValueFlows.Simulate)) do
|
|||
# some economic events
|
||||
user = random_user.()
|
||||
|
||||
resource_inventoried_as = ValueFlows.Simulate.fake_economic_resource!(user, %{current_location: random_place.()})
|
||||
to_resource_inventoried_as = ValueFlows.Simulate.fake_economic_resource!(random_user.(), %{current_location: random_place.()})
|
||||
resource_inventoried_as =
|
||||
ValueFlows.Simulate.fake_economic_resource!(user, %{current_location: random_place.()})
|
||||
|
||||
to_resource_inventoried_as =
|
||||
ValueFlows.Simulate.fake_economic_resource!(random_user.(), %{
|
||||
current_location: random_place.()
|
||||
})
|
||||
|
||||
ValueFlows.Simulate.fake_economic_event!(
|
||||
user,
|
||||
|
@ -155,7 +166,9 @@ if(Bonfire.Common.Extend.extension_enabled?(ValueFlows.Simulate)) do
|
|||
unit = Faker.Util.pick([unit1, unit2])
|
||||
|
||||
resource_inventoried_as = ValueFlows.Simulate.fake_economic_resource!(user, %{}, unit)
|
||||
to_resource_inventoried_as = ValueFlows.Simulate.fake_economic_resource!(random_user.(), %{}, unit)
|
||||
|
||||
to_resource_inventoried_as =
|
||||
ValueFlows.Simulate.fake_economic_resource!(random_user.(), %{}, unit)
|
||||
|
||||
ValueFlows.Simulate.fake_economic_event!(
|
||||
user,
|
||||
|
|
|
@ -37,7 +37,7 @@ config :activity_pub, ActivityPubWeb.Endpoint,
|
|||
render_errors: [view: ActivityPubWeb.ErrorView, accepts: ~w(json), layout: false]
|
||||
|
||||
config :activity_pub, :json_contexts, %{
|
||||
"Hashtag"=> "as:Hashtag",
|
||||
"Hashtag" => "as:Hashtag",
|
||||
"ValueFlows" => "https://w3id.org/valueflows#",
|
||||
"om2" => "http://www.ontology-of-units-of-measure.org/resource/om-2/"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,9 +12,8 @@ config :activity_pub, Oban,
|
|||
repo: Bonfire.Common.Repo,
|
||||
queues: false
|
||||
|
||||
config :activity_pub, :instance,
|
||||
federating: false
|
||||
# rewrite_policy: [ActivityPub.MRF.SimplePolicy]
|
||||
config :activity_pub, :instance, federating: false
|
||||
# rewrite_policy: [ActivityPub.MRF.SimplePolicy]
|
||||
|
||||
config :tesla, adapter: Tesla.Mock
|
||||
|
||||
|
|
|
@ -8,7 +8,8 @@ config :bonfire_common,
|
|||
# internationalisation
|
||||
config :bonfire_common, Bonfire.Common.Localise.Cldr,
|
||||
default_locale: default_locale,
|
||||
locales: ["fr", "en", "es"], # locales that will be made available on top of those for which gettext localisation files are available
|
||||
# locales that will be made available on top of those for which gettext localisation files are available
|
||||
locales: ["fr", "en", "es"],
|
||||
providers: [Cldr.Language],
|
||||
gettext: Bonfire.Common.Localise.Gettext,
|
||||
data_dir: "./priv/cldr",
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -11,9 +11,11 @@ config :bonfire_fail,
|
|||
bad_header: {400, "Bad request: malformed header."},
|
||||
no_access: {403, "This site is by invitation only."},
|
||||
token_expired: {403, "This link or token has expired, please request a fresh one."},
|
||||
already_claimed: {403, "This link or token was already used, please request a fresh one if necessary."},
|
||||
already_claimed:
|
||||
{403, "This link or token was already used, please request a fresh one if necessary."},
|
||||
token_not_found: {403, "This token was not found, please request a fresh one."},
|
||||
user_disabled: {403, "This user account is disabled. Please contact the instance administrator."},
|
||||
user_disabled:
|
||||
{403, "This user account is disabled. Please contact the instance administrator."},
|
||||
email_not_confirmed: {403, "Please confirm your email address first."},
|
||||
unknown_resource: {400, "Unknown resource."},
|
||||
invalid_argument: {400, "Invalid arguments passed."},
|
||||
|
|
|
@ -14,11 +14,12 @@ config :bonfire,
|
|||
:bonfire_geolocate,
|
||||
:bonfire_quantify
|
||||
],
|
||||
log_federation: true, # enable/disable logging of federation logic
|
||||
# enable/disable logging of federation logic
|
||||
log_federation: true,
|
||||
federation_fallback_module: Bonfire.Social.APActivities
|
||||
|
||||
config :bonfire, actor_AP_types: actor_types
|
||||
|
||||
# config :bonfire, Bonfire.Instance,
|
||||
# hostname: hostname,
|
||||
# description: desc
|
||||
# hostname: hostname,
|
||||
# description: desc
|
||||
|
|
|
@ -4,11 +4,14 @@ import Config
|
|||
# see https://hexdocs.pm/waffle/Waffle.html#module-setup-a-storage-provider
|
||||
config :waffle,
|
||||
storage: Waffle.Storage.Local,
|
||||
asset_host: "/" # or {:system, "ASSET_HOST"}
|
||||
# or {:system, "ASSET_HOST"}
|
||||
asset_host: "/"
|
||||
|
||||
image_media_types = ["image/png", "image/jpeg", "image/gif", "image/svg+xml", "image/tiff"]
|
||||
|
||||
all_allowed_media_types = image_media_types ++ [
|
||||
all_allowed_media_types =
|
||||
image_media_types ++
|
||||
[
|
||||
"text/plain",
|
||||
# doc
|
||||
"text/csv",
|
||||
|
@ -40,12 +43,14 @@ all_allowed_media_types = image_media_types ++ [
|
|||
"video/mp4",
|
||||
"video/mpeg",
|
||||
"video/ogg",
|
||||
"video/webm",
|
||||
]
|
||||
"video/webm"
|
||||
]
|
||||
|
||||
config :bonfire_files, image_media_types: image_media_types
|
||||
config :bonfire_files, all_allowed_media_types: all_allowed_media_types
|
||||
|
||||
config :bonfire_files, Bonfire.Files.IconUploader, allowed_media_types: image_media_types
|
||||
config :bonfire_files, Bonfire.Files.ImageUploader, allowed_media_types: image_media_types
|
||||
config :bonfire_files, Bonfire.Files.DocumentUploader, allowed_media_types: all_allowed_media_types
|
||||
|
||||
config :bonfire_files, Bonfire.Files.DocumentUploader,
|
||||
allowed_media_types: all_allowed_media_types
|
||||
|
|
|
@ -3,5 +3,4 @@ import Config
|
|||
config :bonfire_geolocate,
|
||||
templates_path: "lib"
|
||||
|
||||
config :bonfire, :js_config,
|
||||
mapbox_api_key: System.get_env("MAPBOX_API_KEY")
|
||||
config :bonfire, :js_config, mapbox_api_key: System.get_env("MAPBOX_API_KEY")
|
||||
|
|
|
@ -3,4 +3,5 @@ import Config
|
|||
config :bonfire_quantify,
|
||||
templates_path: "lib"
|
||||
|
||||
config :bonfire_quantify, Bonfire.Quantify.Units, valid_contexts: [Bonfire.Quantify.Units, Bonfire.Data.Identity.User]
|
||||
config :bonfire_quantify, Bonfire.Quantify.Units,
|
||||
valid_contexts: [Bonfire.Quantify.Units, Bonfire.Data.Identity.User]
|
||||
|
|
|
@ -3,8 +3,10 @@ import Config
|
|||
config :bonfire_search,
|
||||
disable_indexing: System.get_env("SEARCH_INDEXING_DISABLED", "false"),
|
||||
adapter: Bonfire.Search.Meili,
|
||||
instance: System.get_env("SEARCH_MEILI_INSTANCE", "http://search:7700"), # protocol, hostname and port
|
||||
api_key: System.get_env("MEILI_MASTER_KEY", "make-sure-to-change-me") # secret key
|
||||
# protocol, hostname and port
|
||||
instance: System.get_env("SEARCH_MEILI_INSTANCE", "http://search:7700"),
|
||||
# secret key
|
||||
api_key: System.get_env("MEILI_MASTER_KEY", "make-sure-to-change-me")
|
||||
|
||||
# for use by API client
|
||||
config :tesla, adapter: Tesla.Adapter.Hackney
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import Config
|
||||
|
||||
|
||||
config :bonfire, :ui,
|
||||
theme: [
|
||||
instance_name: "Bonfire",
|
||||
|
@ -9,27 +8,31 @@ config :bonfire, :ui,
|
|||
instance_description: "This is a bonfire demo instance for testing purposes",
|
||||
instance_welcome: [
|
||||
title: "👋 Welcome",
|
||||
description: "Bonfire is a federated social networking toolkit to customise and host your own online space and control your experience at the most granular level.
|
||||
description:
|
||||
"Bonfire is a federated social networking toolkit to customise and host your own online space and control your experience at the most granular level.
|
||||
|
||||
More details at https://bonfirenetworks.org",
|
||||
links: [
|
||||
"About Bonfire": "https://bonfirenetworks.org/",
|
||||
"About ValueFlows": "https://valueflo.ws/",
|
||||
"Forum": "https://socialhub.activitypub.rocks/g/bonfire/activity/posts",
|
||||
Forum: "https://socialhub.activitypub.rocks/g/bonfire/activity/posts",
|
||||
"Community Chat": "https://matrix.to/#/%23bonfire-networks:matrix.org",
|
||||
"Contribute": "https://bonfirenetworks.org/contribute/"
|
||||
Contribute: "https://bonfirenetworks.org/contribute/"
|
||||
]
|
||||
]],
|
||||
app_menu_extension_paths: %{ # TODO: make dynamic based on active extensions
|
||||
]
|
||||
],
|
||||
# TODO: make dynamic based on active extensions
|
||||
app_menu_extension_paths: %{
|
||||
"Social" => Bonfire.UI.Social.FeedsLive,
|
||||
"Breadpub" => Bonfire.Breadpub.Web.HomeLive,
|
||||
"Kanban" => Bonfire.UI.Kanban.HomeLive,
|
||||
"Kanban" => Bonfire.UI.Kanban.HomeLive
|
||||
# "Coordination" => Bonfire.UI.Coordination.ProcessesLive
|
||||
},
|
||||
sidebar_components: [ # TODO: make dynamic based on active extensions
|
||||
{Bonfire.UI.Social.SidebarNavigationLive, []},
|
||||
# TODO: make dynamic based on active extensions
|
||||
sidebar_components: [
|
||||
{Bonfire.UI.Social.SidebarNavigationLive, []}
|
||||
# {Bonfire.UI.Coordination.SidebarNavigationLive, []},
|
||||
#{Bonfire.Breadpub.SidebarNavigationLive, []},
|
||||
# {Bonfire.Breadpub.SidebarNavigationLive, []},
|
||||
# {Bonfire.UI.ValueFlows.ProcessesListLive, [title: "Processes", process_url: "/process/"]},
|
||||
# {Bonfire.UI.ValueFlows.ProcessesListLive, [title: "Lists", process_url: "/breadpub/list/"]}
|
||||
],
|
||||
|
@ -40,24 +43,24 @@ More details at https://bonfirenetworks.org",
|
|||
summary: true
|
||||
],
|
||||
profile: [
|
||||
sections: [ # TODO: make dynamic based on active extensions
|
||||
# TODO: make dynamic based on active extensions
|
||||
sections: [
|
||||
timeline: Bonfire.UI.Social.ProfileTimelineLive,
|
||||
# private: Bonfire.UI.Social.MessageThreadsLive,
|
||||
posts: Bonfire.UI.Social.ProfilePostsLive,
|
||||
boosts: Bonfire.UI.Social.ProfileBoostsLive,
|
||||
followers: Bonfire.UI.Social.ProfileFollowsLive,
|
||||
followed: Bonfire.UI.Social.ProfileFollowsLive,
|
||||
followed: Bonfire.UI.Social.ProfileFollowsLive
|
||||
# inventory: Bonfire.UI.Reflow.ProfileInventoryLive,
|
||||
],
|
||||
navigation: [
|
||||
timeline: "timeline",
|
||||
# inventory: "inventory",
|
||||
posts: "posts",
|
||||
boosts: "boosts",
|
||||
boosts: "boosts"
|
||||
# private: "private",
|
||||
],
|
||||
widgets: [
|
||||
],
|
||||
widgets: []
|
||||
],
|
||||
smart_input_activities: [
|
||||
post: "Compose a post",
|
||||
|
@ -78,35 +81,36 @@ More details at https://bonfirenetworks.org",
|
|||
process: Bonfire.UI.ValueFlows.CreateProcessSmartInputLive,
|
||||
offer: Bonfire.UI.ValueFlows.CreateIntentLive,
|
||||
need: Bonfire.UI.ValueFlows.CreateIntentLive,
|
||||
task: Bonfire.UI.Coordination.CreateTaskLive,
|
||||
task: Bonfire.UI.Coordination.CreateTaskLive
|
||||
],
|
||||
resource: [
|
||||
navigation: [
|
||||
timeline: "timeline",
|
||||
material_passport: "material passport",
|
||||
material_passport: "material passport"
|
||||
],
|
||||
widgets: [
|
||||
# Bonfire.UI.Social.SubscribeWidgetLive,
|
||||
Bonfire.UI.ValueFlows.LocationWidgetLive,
|
||||
Bonfire.UI.Social.HashtagsWidgetLive,
|
||||
],
|
||||
Bonfire.UI.Social.HashtagsWidgetLive
|
||||
]
|
||||
# process: [
|
||||
# navigation: [
|
||||
# events: "Economic events",
|
||||
# intents: "Intents",
|
||||
# # material_passport: "material passport",
|
||||
# ],
|
||||
# sections: [
|
||||
# events: Bonfire.UI.ValueFlows.EconomicEventsLive,
|
||||
# intents: Bonfire.UI.ValueFlows.IntentsLive,
|
||||
# ],
|
||||
# widgets: [
|
||||
# # Bonfire.UI.Social.SubscribeWidgetLive,
|
||||
# # Bonfire.UI.ValueFlows.LocationWidgetLive,
|
||||
# # Bonfire.UI.Social.HashtagsWidgetLive,
|
||||
# ],
|
||||
# ]
|
||||
]
|
||||
|
||||
# process: [
|
||||
# navigation: [
|
||||
# events: "Economic events",
|
||||
# intents: "Intents",
|
||||
# # material_passport: "material passport",
|
||||
# ],
|
||||
# sections: [
|
||||
# events: Bonfire.UI.ValueFlows.EconomicEventsLive,
|
||||
# intents: Bonfire.UI.ValueFlows.IntentsLive,
|
||||
# ],
|
||||
# widgets: [
|
||||
# # Bonfire.UI.Social.SubscribeWidgetLive,
|
||||
# # Bonfire.UI.ValueFlows.LocationWidgetLive,
|
||||
# # Bonfire.UI.Social.HashtagsWidgetLive,
|
||||
# ],
|
||||
# ]
|
||||
|
||||
config :surface_catalogue,
|
||||
title: "Bonfire UI",
|
||||
|
|
|
@ -2,7 +2,7 @@ import Config
|
|||
|
||||
default_flavour = "classic"
|
||||
flavour = System.get_env("FLAVOUR", default_flavour)
|
||||
flavour_path = System.get_env("FLAVOUR_PATH", "flavours/"<>flavour)
|
||||
flavour_path = System.get_env("FLAVOUR_PATH", "flavours/" <> flavour)
|
||||
|
||||
#### Basic configuration
|
||||
|
||||
|
@ -33,7 +33,8 @@ config :bonfire,
|
|||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
url: [host: "localhost"],
|
||||
http: [
|
||||
port: String.to_integer(System.get_env("SERVER_PORT", "4000")), # this gets overriden in runtime.exs
|
||||
# this gets overriden in runtime.exs
|
||||
port: String.to_integer(System.get_env("SERVER_PORT", "4000")),
|
||||
transport_options: [socket_opts: [:inet6]]
|
||||
],
|
||||
render_errors: [view: Bonfire.UI.Common.ErrorView, accepts: ~w(html json), layout: false],
|
||||
|
@ -44,6 +45,7 @@ config :phoenix_gon, :json_library, Jason
|
|||
|
||||
config :ecto_sparkles, :otp_app, :bonfire
|
||||
config :bonfire, :ecto_repos, [Bonfire.Common.Repo]
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
types: Bonfire.Geolocate.PostgresTypes,
|
||||
priv: flavour_path <> "/repo"
|
||||
|
@ -74,10 +76,9 @@ config :mime, :types, %{
|
|||
|
||||
config :sentry,
|
||||
dsn: "this-will-be-overriden-by-a-secure-string-in-runtime.exs",
|
||||
environment_name: Mix.env,
|
||||
environment_name: Mix.env(),
|
||||
included_environments: [:prod]
|
||||
|
||||
|
||||
# include config for all used Bonfire extensions
|
||||
for config <- "bonfire_*.exs" |> Path.expand(__DIR__) |> Path.wildcard() do
|
||||
# IO.inspect(include_config: config)
|
||||
|
@ -86,6 +87,5 @@ end
|
|||
|
||||
import_config "activity_pub.exs"
|
||||
|
||||
|
||||
# finally, append/override config based on env, which will override any config set above (including from imported files)
|
||||
import_config "#{config_env()}.exs"
|
||||
|
|
|
@ -1,21 +1,27 @@
|
|||
import Config
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
experimental_features_enabled: true, # Note: you can run `Bonfire.Common.Config.put(:experimental_features_enabled, true)` to enable these in prod too
|
||||
# Note: you can run `Bonfire.Common.Config.put(:experimental_features_enabled, true)` to enable these in prod too
|
||||
experimental_features_enabled: true,
|
||||
database: System.get_env("POSTGRES_DB", "bonfire_dev"),
|
||||
# show_sensitive_data_on_connection_error: true,
|
||||
pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10"),
|
||||
log: false # EctoSparkles does the logging instead
|
||||
# EctoSparkles does the logging instead
|
||||
log: false
|
||||
|
||||
path_dep_dirs =
|
||||
Mess.deps([path: "deps.path"], [])
|
||||
|> Enum.map(&(Keyword.fetch!(elem(&1, 1), :path) <> "/lib"))
|
||||
|
||||
config :phoenix_live_reload,
|
||||
dirs: path_dep_dirs ++ ["lib/"] # watch the app's lib/ dir + the dep/lib/ dir of every locally-cloned dep
|
||||
# watch the app's lib/ dir + the dep/lib/ dir of every locally-cloned dep
|
||||
dirs: path_dep_dirs ++ ["lib/"]
|
||||
|
||||
path_dep_patterns = path_dep_dirs |> Enum.map(&(String.slice(&1, 2..1000) <>".*ex")) # to include cloned code in patterns
|
||||
path_dep_patterns = path_dep_patterns ++ path_dep_dirs |> Enum.map(&(String.slice(&1, 2..1000) <>".*sface")) # Surface views
|
||||
# to include cloned code in patterns
|
||||
path_dep_patterns = Enum.map(path_dep_dirs, &(String.slice(&1, 2..1000) <> ".*ex"))
|
||||
# Surface views
|
||||
path_dep_patterns =
|
||||
(path_dep_patterns ++ path_dep_dirs) |> Enum.map(&(String.slice(&1, 2..1000) <> ".*sface"))
|
||||
|
||||
# Watch static and templates for browser reloading.
|
||||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
|
@ -38,24 +44,26 @@ config :bonfire, Bonfire.Web.Endpoint,
|
|||
]
|
||||
],
|
||||
live_reload: [
|
||||
patterns: [
|
||||
patterns:
|
||||
[
|
||||
# ~r"^priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
|
||||
# ~r"^priv/gettext/.*(po)$",
|
||||
# ~r"^web/(live|views)/.*ex$",
|
||||
# ~r"^lib/.*_live\.ex$",
|
||||
# ~r".*leex$",
|
||||
# defp elixirc_paths(:dev), do: ["lib"] ++ catalogues()
|
||||
|
||||
~r"lib/.*ex$",
|
||||
~r".*sface$",
|
||||
~r"priv/catalogue/.*(ex)$",
|
||||
~r"priv/catalogue/.*(ex)$"
|
||||
] ++ path_dep_patterns
|
||||
]
|
||||
|
||||
# defp elixirc_paths(:dev), do: ["lib"] ++ catalogues()
|
||||
|
||||
config :logger, :console,
|
||||
level: :debug,
|
||||
# truncate: :infinity,
|
||||
format: "[$level] $message\n" # Do not include metadata or timestamps
|
||||
# Do not include metadata or timestamps
|
||||
format: "[$level] $message\n"
|
||||
|
||||
config :phoenix, :stacktrace_depth, 30
|
||||
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
import Config
|
||||
|
||||
|
||||
# We include the path to a cache manifest
|
||||
# containing the digested version of static files. This
|
||||
# manifest is generated by the `mix phx.digest` task,
|
||||
# which you should run after static files are built and
|
||||
# before starting your production server.
|
||||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
cache_static_manifest: "priv/static/cache_manifest.json"
|
||||
config :bonfire, Bonfire.Web.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json"
|
||||
|
||||
config :logger,
|
||||
backends: [:console, Sentry.LoggerBackend]
|
||||
|
@ -18,4 +16,5 @@ config :logger, level: :info
|
|||
config :bonfire, Bonfire.Web.Endpoint, server: true
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
priv: "priv/repo" # in releases migrations are not in a flavour-specific directory
|
||||
# in releases migrations are not in a flavour-specific directory
|
||||
priv: "priv/repo"
|
||||
|
|
|
@ -21,8 +21,7 @@ System.get_env("DATABASE_URL") || System.get_env("POSTGRES_PASSWORD") || System.
|
|||
"""
|
||||
|
||||
if System.get_env("DATABASE_URL") do
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
url: System.get_env("DATABASE_URL")
|
||||
config :bonfire, Bonfire.Common.Repo, url: System.get_env("DATABASE_URL")
|
||||
else
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
# ssl: true,
|
||||
|
@ -38,12 +37,14 @@ secret_key_base =
|
|||
You can generate one by calling: mix phx.gen.secret
|
||||
"""
|
||||
|
||||
signing_salt = System.get_env("SIGNING_SALT") || System.get_env("CI") ||
|
||||
signing_salt =
|
||||
System.get_env("SIGNING_SALT") || System.get_env("CI") ||
|
||||
raise """
|
||||
environment variable SIGNING_SALT is missing.
|
||||
"""
|
||||
|
||||
encryption_salt = System.get_env("ENCRYPTION_SALT") || System.get_env("CI") ||
|
||||
encryption_salt =
|
||||
System.get_env("ENCRYPTION_SALT") || System.get_env("CI") ||
|
||||
raise """
|
||||
environment variable ENCRYPTION_SALT is missing.
|
||||
"""
|
||||
|
@ -57,7 +58,10 @@ config :bonfire,
|
|||
encryption_salt: encryption_salt,
|
||||
signing_salt: signing_salt
|
||||
|
||||
start_server? = if config_env() == :test, do: System.get_env("START_SERVER", "true"), else: System.get_env("START_SERVER", "true")
|
||||
start_server? =
|
||||
if config_env() == :test,
|
||||
do: System.get_env("START_SERVER", "true"),
|
||||
else: System.get_env("START_SERVER", "true")
|
||||
|
||||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
server: String.to_existing_atom(start_server?),
|
||||
|
@ -72,9 +76,7 @@ config :bonfire, Bonfire.Web.Endpoint,
|
|||
live_view: [signing_salt: signing_salt]
|
||||
|
||||
if System.get_env("SENTRY_DSN") do
|
||||
IO.puts(
|
||||
"Note: errors will be reported to Sentry."
|
||||
)
|
||||
IO.puts("Note: errors will be reported to Sentry.")
|
||||
|
||||
config :sentry,
|
||||
dsn: System.get_env("SENTRY_DSN")
|
||||
|
@ -86,22 +88,20 @@ end
|
|||
|
||||
# start prod-only config
|
||||
if config_env() == :prod do
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
# ssl: true,
|
||||
database: System.get_env("POSTGRES_DB", "bonfire"),
|
||||
pool_size: String.to_integer(System.get_env("POOL_SIZE", "10")),
|
||||
log: String.to_atom(System.get_env("DB_QUERIES_LOG_LEVEL", "false")) # Note: keep this disabled if using ecto_dev_logger or EctoSparkles.Log instead #
|
||||
|
||||
end # prod only config
|
||||
# Note: keep this disabled if using ecto_dev_logger or EctoSparkles.Log instead #
|
||||
log: String.to_atom(System.get_env("DB_QUERIES_LOG_LEVEL", "false"))
|
||||
end
|
||||
|
||||
# prod only config
|
||||
|
||||
# start prod and dev only config
|
||||
if config_env() != :test do
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
slow_query_ms: String.to_integer(System.get_env("SLOW_QUERY_MS", "100"))
|
||||
|
||||
end
|
||||
|
||||
## bonfire_livebook
|
||||
|
|
|
@ -15,7 +15,6 @@ config :bonfire_search,
|
|||
config :logger, level: :info
|
||||
# config :logger, level: :notice
|
||||
|
||||
|
||||
# Configure your database
|
||||
db = "bonfire_test#{System.get_env("MIX_TEST_PARTITION")}"
|
||||
#
|
||||
|
@ -46,6 +45,7 @@ config :mix_test_interactive,
|
|||
clear: true
|
||||
|
||||
config :paginator, ecto_repos: [Bonfire.Common.Repo]
|
||||
|
||||
config :paginator, Paginator.Repo,
|
||||
pool: Ecto.Adapters.SQL.Sandbox,
|
||||
username: System.get_env("POSTGRES_USER", "postgres"),
|
||||
|
|
|
@ -2,11 +2,10 @@ defmodule Bonfire.Repo.Migrations.HelloWorld do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
execute "CREATE EXTENSION IF NOT EXISTS \"citext\""
|
||||
execute("CREATE EXTENSION IF NOT EXISTS \"citext\"")
|
||||
end
|
||||
|
||||
def down do
|
||||
execute "DROP EXTENSION IF EXISTS \"citext\""
|
||||
execute("DROP EXTENSION IF EXISTS \"citext\"")
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -6,9 +6,9 @@ defmodule Bonfire.Repo.Migrations.InitPointers do
|
|||
init_pointers_ulid_extra()
|
||||
init_pointers()
|
||||
end
|
||||
|
||||
def down do
|
||||
init_pointers_ulid_extra()
|
||||
init_pointers()
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -2,7 +2,6 @@ defmodule Bonfire.Repo.Migrations.InitEdges do
|
|||
use Ecto.Migration
|
||||
alias Bonfire.Data.Edges.Migration
|
||||
|
||||
|
||||
def up do
|
||||
Migration.up()
|
||||
end
|
||||
|
@ -10,5 +9,4 @@ defmodule Bonfire.Repo.Migrations.InitEdges do
|
|||
def down do
|
||||
Migration.down()
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -6,5 +6,4 @@ defmodule Bonfire.Federate.ActivityPub.Repo.Migrations.ImportMe do
|
|||
|
||||
def up, do: migrate_activity_pub
|
||||
def down, do: migrate_activity_pub
|
||||
|
||||
end
|
||||
|
|
|
@ -5,5 +5,4 @@ defmodule Bonfire.Boundaries.Repo.Migrations.ImportBoundaries do
|
|||
|
||||
def up, do: migrate_boundaries
|
||||
def down, do: migrate_boundaries
|
||||
|
||||
end
|
||||
|
|
|
@ -9,5 +9,4 @@ defmodule Bonfire.Repo.Migrations.ImportMe do
|
|||
end
|
||||
|
||||
def down, do: migrate_me()
|
||||
|
||||
end
|
||||
|
|
|
@ -5,10 +5,8 @@ defmodule Bonfire.Social.Repo.Migrations.ImportSocial do
|
|||
import Pointers.Migration
|
||||
|
||||
def up do
|
||||
|
||||
migrate_social()
|
||||
|
||||
end
|
||||
def down, do: migrate_social()
|
||||
|
||||
def down, do: migrate_social()
|
||||
end
|
||||
|
|
|
@ -5,5 +5,4 @@ defmodule Bonfire.Boundaries.Repo.Migrations.BoundariesFixtures do
|
|||
|
||||
def up, do: Bonfire.Boundaries.Fixtures.insert()
|
||||
def down, do: nil
|
||||
|
||||
end
|
||||
|
|
|
@ -2,12 +2,12 @@ defmodule Bonfire.Repo.Migrations.ImportQuantify do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
Bonfire.Quantify.Migrations.change
|
||||
Bonfire.Quantify.Migrations.change_measure
|
||||
Bonfire.Quantify.Migrations.change()
|
||||
Bonfire.Quantify.Migrations.change_measure()
|
||||
end
|
||||
|
||||
def down do
|
||||
Bonfire.Quantify.Migrations.change
|
||||
Bonfire.Quantify.Migrations.change_measure
|
||||
Bonfire.Quantify.Migrations.change()
|
||||
Bonfire.Quantify.Migrations.change_measure()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,10 +2,10 @@ defmodule Bonfire.Repo.Migrations.ImportGeolocation do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
Bonfire.Geolocate.Migrations.change
|
||||
Bonfire.Geolocate.Migrations.change()
|
||||
end
|
||||
|
||||
def down do
|
||||
Bonfire.Geolocate.Migrations.change
|
||||
Bonfire.Geolocate.Migrations.change()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,10 +2,10 @@ defmodule Bonfire.Repo.Migrations.ImportValueFlows do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
ValueFlows.AllMigrations.up
|
||||
ValueFlows.AllMigrations.up()
|
||||
end
|
||||
|
||||
def down do
|
||||
ValueFlows.AllMigrations.down
|
||||
ValueFlows.AllMigrations.down()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -6,5 +6,4 @@ defmodule Bonfire.Repo.Migrations.ImportSharedUser do
|
|||
|
||||
def up, do: migrate_shared_user()
|
||||
def down, do: migrate_shared_user()
|
||||
|
||||
end
|
||||
|
|
|
@ -4,10 +4,10 @@ defmodule Bonfire.Repo.Migrations.ImportValueFlowsObserve do
|
|||
alias ValueFlows.Observe.Migrations
|
||||
|
||||
def up do
|
||||
Migrations.up
|
||||
Migrations.up()
|
||||
end
|
||||
|
||||
def down do
|
||||
Migrations.down
|
||||
Migrations.down()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,12 +4,12 @@ defmodule ActivityPub.Repo.Migrations.APTestTable do
|
|||
def change do
|
||||
# This table only exists for test purposes
|
||||
create table("local_actor", primary_key: false) do
|
||||
add :id, :uuid, primary_key: true
|
||||
add :username, :citext
|
||||
add :data, :map
|
||||
add :local, :boolean
|
||||
add :keys, :text
|
||||
add :followers, {:array, :string}
|
||||
add(:id, :uuid, primary_key: true)
|
||||
add(:username, :citext)
|
||||
add(:data, :map)
|
||||
add(:local, :boolean)
|
||||
add(:keys, :text)
|
||||
add(:followers, {:array, :string})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,5 +5,4 @@ defmodule Bonfire.Repo.Migrations.Message do
|
|||
|
||||
def up, do: migrate_message()
|
||||
def down, do: migrate_message()
|
||||
|
||||
end
|
||||
|
|
|
@ -4,15 +4,19 @@ defmodule Bonfire.Social.Repo.Migrations.ProfileImages do
|
|||
import Pointers.Migration
|
||||
|
||||
def up do
|
||||
drop_if_exists(
|
||||
constraint("bonfire_data_social_profile", "bonfire_data_social_profile_icon_id_fkey")
|
||||
)
|
||||
|
||||
drop_if_exists constraint "bonfire_data_social_profile", "bonfire_data_social_profile_icon_id_fkey"
|
||||
drop_if_exists constraint "bonfire_data_social_profile", "bonfire_data_social_profile_image_id_fkey"
|
||||
drop_if_exists(
|
||||
constraint("bonfire_data_social_profile", "bonfire_data_social_profile_image_id_fkey")
|
||||
)
|
||||
|
||||
alter table("bonfire_data_social_profile") do
|
||||
Ecto.Migration.add_if_not_exists :icon_id, strong_pointer(Bonfire.Files.Media)
|
||||
Ecto.Migration.add_if_not_exists :image_id, strong_pointer(Bonfire.Files.Media)
|
||||
Ecto.Migration.add_if_not_exists(:icon_id, strong_pointer(Bonfire.Files.Media))
|
||||
Ecto.Migration.add_if_not_exists(:image_id, strong_pointer(Bonfire.Files.Media))
|
||||
end
|
||||
end
|
||||
def down, do: nil
|
||||
|
||||
def down, do: nil
|
||||
end
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Bonfire.Repo.Migrations.FP do
|
||||
use Ecto.Migration
|
||||
|
||||
|
||||
def up do
|
||||
execute("create or replace function
|
||||
column_exists(ptable text, pcolumn text, pschema text default 'public')
|
||||
|
@ -18,7 +17,8 @@ defmodule Bonfire.Repo.Migrations.FP do
|
|||
);
|
||||
$body$;")
|
||||
|
||||
execute("CREATE OR REPLACE FUNCTION rename_column_if_exists(ptable TEXT, pcolumn TEXT, new_name TEXT)
|
||||
execute(
|
||||
"CREATE OR REPLACE FUNCTION rename_column_if_exists(ptable TEXT, pcolumn TEXT, new_name TEXT)
|
||||
RETURNS VOID AS $BODY$
|
||||
BEGIN
|
||||
-- Rename the column if it exists.
|
||||
|
@ -27,14 +27,15 @@ defmodule Bonfire.Repo.Migrations.FP do
|
|||
ptable, pcolumn, new_name);
|
||||
END IF;
|
||||
END$BODY$
|
||||
LANGUAGE plpgsql VOLATILE;")
|
||||
LANGUAGE plpgsql VOLATILE;"
|
||||
)
|
||||
|
||||
flush()
|
||||
|
||||
execute("SELECT rename_column_if_exists('bonfire_data_social_feed_publish', 'object_id', 'activity_id') ")
|
||||
|
||||
execute(
|
||||
"SELECT rename_column_if_exists('bonfire_data_social_feed_publish', 'object_id', 'activity_id') "
|
||||
)
|
||||
end
|
||||
|
||||
def down, do: nil
|
||||
|
||||
end
|
||||
|
|
|
@ -5,9 +5,9 @@ defmodule Bonfire.Social.Repo.Migrations.PeeredURI do
|
|||
|
||||
def up do
|
||||
alter table("bonfire_data_activity_pub_peered") do
|
||||
Ecto.Migration.add_if_not_exists :canonical_uri, :text, null: true
|
||||
Ecto.Migration.add_if_not_exists(:canonical_uri, :text, null: true)
|
||||
end
|
||||
end
|
||||
def down, do: nil
|
||||
|
||||
def down, do: nil
|
||||
end
|
||||
|
|
|
@ -2,10 +2,10 @@ defmodule Bonfire.Repo.Migrations.ImportClassify do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
Bonfire.Classify.Migrations.up
|
||||
Bonfire.Classify.Migrations.up()
|
||||
end
|
||||
|
||||
def down do
|
||||
Bonfire.Classify.Migrations.down
|
||||
Bonfire.Classify.Migrations.down()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,7 +2,6 @@ defmodule Bonfire.Repo.Migrations.ImportRanked do
|
|||
use Ecto.Migration
|
||||
require Bonfire.Data.Assort.Ranked.Migration
|
||||
|
||||
def up, do: Bonfire.Data.Assort.Ranked.Migration.migrate_ranked
|
||||
def down, do: Bonfire.Data.Assort.Ranked.Migration.migrate_ranked
|
||||
|
||||
def up, do: Bonfire.Data.Assort.Ranked.Migration.migrate_ranked()
|
||||
def down, do: Bonfire.Data.Assort.Ranked.Migration.migrate_ranked()
|
||||
end
|
||||
|
|
|
@ -2,10 +2,10 @@ defmodule Bonfire.Repo.Migrations.ImportInviteLink do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
Bonfire.Invites.Link.Migration.up
|
||||
Bonfire.Invites.Link.Migration.up()
|
||||
end
|
||||
|
||||
def down do
|
||||
Bonfire.Invites.Link.Migration.down
|
||||
Bonfire.Invites.Link.Migration.down()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,5 +4,4 @@ defmodule Bonfire.Data.Identity.Repo.Migrations.CareClosure do
|
|||
alias Bonfire.Data.Identity.CareClosure.Migration
|
||||
|
||||
def change, do: Migration.migrate_care_closure_view()
|
||||
|
||||
end
|
||||
|
|
|
@ -5,9 +5,10 @@ defmodule Bonfire.Repo.Migrations.AddFilesMixin do
|
|||
import Pointers.Migration
|
||||
|
||||
def up do
|
||||
alter table("bonfire_files_media") do # cleanup old stuff
|
||||
remove_if_exists :created_at, :utc_datetime_usec
|
||||
remove_if_exists :updated_at, :utc_datetime_usec
|
||||
# cleanup old stuff
|
||||
alter table("bonfire_files_media") do
|
||||
remove_if_exists(:created_at, :utc_datetime_usec)
|
||||
remove_if_exists(:updated_at, :utc_datetime_usec)
|
||||
end
|
||||
|
||||
Bonfire.Files.Migrations.migrate_files()
|
||||
|
|
|
@ -5,5 +5,4 @@ defmodule Bonfire.Boundaries.Repo.Migrations.BoundariesUpFixtures do
|
|||
|
||||
def up, do: Bonfire.Boundaries.Fixtures.insert()
|
||||
def down, do: nil
|
||||
|
||||
end
|
||||
|
|
|
@ -3,28 +3,30 @@ import Bonfire.Me.Fake
|
|||
System.put_env("INVITE_ONLY", "false")
|
||||
System.put_env("SEARCH_INDEXING_DISABLED", "true")
|
||||
|
||||
%{
|
||||
fake_user!(
|
||||
%{
|
||||
preferred_username: System.get_env("SEEDS_USER", "root"),
|
||||
name: System.get_env("SEEDS_USER", "Seed User")
|
||||
}
|
||||
|> fake_user!(%{confirm_email: true})
|
||||
},
|
||||
%{confirm_email: true}
|
||||
)
|
||||
|
||||
# create some users
|
||||
users = for _ <- 1..2, do: fake_user!()
|
||||
random_user = fn -> Faker.Util.pick(users) end
|
||||
|
||||
# start some communities
|
||||
#communities = for _ <- 1..2, do: fake_community!(random_user.())
|
||||
#subcommunities = for _ <- 1..2, do: fake_community!(random_user.(), Faker.Util.pick(communities))
|
||||
#maybe_random_community = fn -> maybe_one_of(communities ++ subcommunities) end
|
||||
# communities = for _ <- 1..2, do: fake_community!(random_user.())
|
||||
# subcommunities = for _ <- 1..2, do: fake_community!(random_user.(), Faker.Util.pick(communities))
|
||||
# maybe_random_community = fn -> maybe_one_of(communities ++ subcommunities) end
|
||||
|
||||
# create fake collections
|
||||
#collections = for _ <- 1..4, do: fake_collection!(random_user.(), maybe_random_community.())
|
||||
#subcollections = for _ <- 1..2, do: fake_collection!(random_user.(), Faker.Util.pick(collections))
|
||||
#maybe_random_collection = fn -> maybe_one_of(collections ++ subcollections) end
|
||||
# collections = for _ <- 1..4, do: fake_collection!(random_user.(), maybe_random_community.())
|
||||
# subcollections = for _ <- 1..2, do: fake_collection!(random_user.(), Faker.Util.pick(collections))
|
||||
# maybe_random_collection = fn -> maybe_one_of(collections ++ subcollections) end
|
||||
|
||||
# start fake threads
|
||||
#for _ <- 1..3 do
|
||||
# for _ <- 1..3 do
|
||||
# user = random_user.()
|
||||
# thread = fake_thread!(user, maybe_random_community.())
|
||||
# comment = fake_comment!(user, thread)
|
||||
|
@ -32,18 +34,18 @@ random_user = fn -> Faker.Util.pick(users) end
|
|||
# reply = fake_comment!(random_user.(), thread, %{in_reply_to_id: comment.id})
|
||||
# subreply = fake_comment!(random_user.(), thread, %{in_reply_to_id: reply.id})
|
||||
# subreply2 = fake_comment!(random_user.(), thread, %{in_reply_to_id: subreply.id})
|
||||
#end
|
||||
# end
|
||||
#
|
||||
## more fake threads
|
||||
#for _ <- 1..2 do
|
||||
# for _ <- 1..2 do
|
||||
# user = random_user.()
|
||||
# thread = fake_thread!(user, maybe_random_collection.())
|
||||
# comment = fake_comment!(user, thread)
|
||||
#end
|
||||
# end
|
||||
|
||||
# post some links/resources
|
||||
#for _ <- 1..2, do: fake_resource!(random_user.(), maybe_random_community.())
|
||||
#for _ <- 1..2, do: fake_resource!(random_user.(), maybe_random_collection.())
|
||||
# for _ <- 1..2, do: fake_resource!(random_user.(), maybe_random_community.())
|
||||
# for _ <- 1..2, do: fake_resource!(random_user.(), maybe_random_collection.())
|
||||
|
||||
# define some tags/categories
|
||||
if(Bonfire.Common.Extend.extension_enabled?(Bonfire.Classify.Simulate)) do
|
||||
|
@ -89,18 +91,22 @@ if(Bonfire.Common.Extend.extension_enabled?(ValueFlows.Simulate)) do
|
|||
|
||||
# some proposed intents
|
||||
action_id = ValueFlows.Simulate.action_id()
|
||||
intent = ValueFlows.Simulate.fake_intent!(user, %{resource_conforms_to: res_spec, action_id: action_id})
|
||||
|
||||
intent =
|
||||
ValueFlows.Simulate.fake_intent!(user, %{
|
||||
resource_conforms_to: res_spec,
|
||||
action_id: action_id
|
||||
})
|
||||
|
||||
proposal = ValueFlows.Simulate.fake_proposal!(user)
|
||||
ValueFlows.Simulate.fake_proposed_to!(random_user.(), proposal)
|
||||
ValueFlows.Simulate.fake_proposed_intent!(proposal, intent)
|
||||
|
||||
# define some geolocations
|
||||
if(Bonfire.Common.Extend.extension_enabled?(Bonfire.Geolocate.Simulate)) do
|
||||
|
||||
places = for _ <- 1..2, do: Bonfire.Geolocate.Simulate.fake_geolocation!(random_user.())
|
||||
random_place = fn -> Faker.Util.pick(places) end
|
||||
|
||||
|
||||
for _ <- 1..2 do
|
||||
# define some intents with geolocation
|
||||
_intent =
|
||||
|
@ -110,7 +116,8 @@ if(Bonfire.Common.Extend.extension_enabled?(ValueFlows.Simulate)) do
|
|||
)
|
||||
|
||||
# define some proposals with geolocation
|
||||
_proposal = ValueFlows.Simulate.fake_proposal!(user, %{eligible_location: random_place.()})
|
||||
_proposal =
|
||||
ValueFlows.Simulate.fake_proposal!(user, %{eligible_location: random_place.()})
|
||||
|
||||
# both with geo
|
||||
intent =
|
||||
|
@ -125,8 +132,13 @@ if(Bonfire.Common.Extend.extension_enabled?(ValueFlows.Simulate)) do
|
|||
# some economic events
|
||||
user = random_user.()
|
||||
|
||||
resource_inventoried_as = ValueFlows.Simulate.fake_economic_resource!(user, %{current_location: random_place.()})
|
||||
to_resource_inventoried_as = ValueFlows.Simulate.fake_economic_resource!(random_user.(), %{current_location: random_place.()})
|
||||
resource_inventoried_as =
|
||||
ValueFlows.Simulate.fake_economic_resource!(user, %{current_location: random_place.()})
|
||||
|
||||
to_resource_inventoried_as =
|
||||
ValueFlows.Simulate.fake_economic_resource!(random_user.(), %{
|
||||
current_location: random_place.()
|
||||
})
|
||||
|
||||
ValueFlows.Simulate.fake_economic_event!(
|
||||
user,
|
||||
|
@ -162,7 +174,9 @@ if(Bonfire.Common.Extend.extension_enabled?(ValueFlows.Simulate)) do
|
|||
unit = Faker.Util.pick([unit1, unit2])
|
||||
|
||||
resource_inventoried_as = ValueFlows.Simulate.fake_economic_resource!(user, %{}, unit)
|
||||
to_resource_inventoried_as = ValueFlows.Simulate.fake_economic_resource!(random_user.(), %{}, unit)
|
||||
|
||||
to_resource_inventoried_as =
|
||||
ValueFlows.Simulate.fake_economic_resource!(random_user.(), %{}, unit)
|
||||
|
||||
ValueFlows.Simulate.fake_economic_event!(
|
||||
user,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
defmodule Bonfire.Repo.Seeds.ObserveClassifications do
|
||||
use Bonfire.Seeder
|
||||
|
||||
envs [:dev, :prod, :test]
|
||||
envs([:dev, :prod, :test])
|
||||
|
||||
def up(repo), do: ValueFlows.Observe.Seeds.up(repo)
|
||||
end
|
||||
|
|
|
@ -12,9 +12,8 @@ config :activity_pub, Oban,
|
|||
repo: Bonfire.Common.Repo,
|
||||
queues: false
|
||||
|
||||
config :activity_pub, :instance,
|
||||
federating: false
|
||||
# rewrite_policy: [ActivityPub.MRF.SimplePolicy]
|
||||
config :activity_pub, :instance, federating: false
|
||||
# rewrite_policy: [ActivityPub.MRF.SimplePolicy]
|
||||
|
||||
config :tesla, adapter: Tesla.Mock
|
||||
|
||||
|
|
|
@ -8,7 +8,8 @@ config :bonfire_common,
|
|||
# internationalisation
|
||||
config :bonfire_common, Bonfire.Common.Localise.Cldr,
|
||||
default_locale: default_locale,
|
||||
locales: ["fr", "en", "es"], # locales that will be made available on top of those for which gettext localisation files are available
|
||||
# locales that will be made available on top of those for which gettext localisation files are available
|
||||
locales: ["fr", "en", "es"],
|
||||
providers: [Cldr.Language],
|
||||
gettext: Bonfire.Common.Localise.Gettext,
|
||||
data_dir: "./priv/cldr",
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -11,9 +11,11 @@ config :bonfire_fail,
|
|||
bad_header: {400, "Bad request: malformed header."},
|
||||
no_access: {403, "This site is by invitation only."},
|
||||
token_expired: {403, "This link or token has expired, please request a fresh one."},
|
||||
already_claimed: {403, "This link or token was already used, please request a fresh one if necessary."},
|
||||
already_claimed:
|
||||
{403, "This link or token was already used, please request a fresh one if necessary."},
|
||||
token_not_found: {403, "This token was not found, please request a fresh one."},
|
||||
user_disabled: {403, "This user account is disabled. Please contact the instance administrator."},
|
||||
user_disabled:
|
||||
{403, "This user account is disabled. Please contact the instance administrator."},
|
||||
email_not_confirmed: {403, "Please confirm your email address first."},
|
||||
unknown_resource: {400, "Unknown resource."},
|
||||
invalid_argument: {400, "Invalid arguments passed."},
|
||||
|
|
|
@ -11,11 +11,12 @@ config :bonfire,
|
|||
:bonfire_social,
|
||||
:bonfire_valueflows
|
||||
],
|
||||
log_federation: true, # enable/disable logging of federation logic
|
||||
# enable/disable logging of federation logic
|
||||
log_federation: true,
|
||||
federation_fallback_module: Bonfire.Social.APActivities
|
||||
|
||||
config :bonfire, actor_AP_types: actor_types
|
||||
|
||||
# config :bonfire, Bonfire.Instance,
|
||||
# hostname: hostname,
|
||||
# description: desc
|
||||
# hostname: hostname,
|
||||
# description: desc
|
||||
|
|
|
@ -4,11 +4,14 @@ import Config
|
|||
# see https://hexdocs.pm/waffle/Waffle.html#module-setup-a-storage-provider
|
||||
config :waffle,
|
||||
storage: Waffle.Storage.Local,
|
||||
asset_host: "/" # or {:system, "ASSET_HOST"}
|
||||
# or {:system, "ASSET_HOST"}
|
||||
asset_host: "/"
|
||||
|
||||
image_media_types = ["image/png", "image/jpeg", "image/gif", "image/svg+xml", "image/tiff"]
|
||||
|
||||
all_allowed_media_types = image_media_types ++ [
|
||||
all_allowed_media_types =
|
||||
image_media_types ++
|
||||
[
|
||||
"text/plain",
|
||||
# doc
|
||||
"text/csv",
|
||||
|
@ -40,12 +43,14 @@ all_allowed_media_types = image_media_types ++ [
|
|||
"video/mp4",
|
||||
"video/mpeg",
|
||||
"video/ogg",
|
||||
"video/webm",
|
||||
]
|
||||
"video/webm"
|
||||
]
|
||||
|
||||
config :bonfire_files, image_media_types: image_media_types
|
||||
config :bonfire_files, all_allowed_media_types: all_allowed_media_types
|
||||
|
||||
config :bonfire_files, Bonfire.Files.IconUploader, allowed_media_types: image_media_types
|
||||
config :bonfire_files, Bonfire.Files.ImageUploader, allowed_media_types: image_media_types
|
||||
config :bonfire_files, Bonfire.Files.DocumentUploader, allowed_media_types: all_allowed_media_types
|
||||
|
||||
config :bonfire_files, Bonfire.Files.DocumentUploader,
|
||||
allowed_media_types: all_allowed_media_types
|
||||
|
|
|
@ -2,4 +2,5 @@ import Config
|
|||
|
||||
config :bonfire_me,
|
||||
validate_name_min: 1,
|
||||
validate_name_max: 250 # needed for taxonomy
|
||||
# needed for taxonomy
|
||||
validate_name_max: 250
|
||||
|
|
|
@ -3,8 +3,10 @@ import Config
|
|||
config :bonfire_search,
|
||||
disable_indexing: System.get_env("SEARCH_INDEXING_DISABLED", "false"),
|
||||
adapter: Bonfire.Search.Meili,
|
||||
instance: System.get_env("SEARCH_MEILI_INSTANCE", "http://search:7700"), # protocol, hostname and port
|
||||
api_key: System.get_env("MEILI_MASTER_KEY", "make-sure-to-change-me") # secret key
|
||||
# protocol, hostname and port
|
||||
instance: System.get_env("SEARCH_MEILI_INSTANCE", "http://search:7700"),
|
||||
# secret key
|
||||
api_key: System.get_env("MEILI_MASTER_KEY", "make-sure-to-change-me")
|
||||
|
||||
# for use by API client
|
||||
config :tesla, adapter: Tesla.Adapter.Hackney
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import Config
|
||||
|
||||
|
||||
config :bonfire, :ui,
|
||||
theme: [
|
||||
instance_name: "HAHA Academy",
|
||||
|
@ -9,7 +8,7 @@ config :bonfire, :ui,
|
|||
instance_description: "Community roadmaps for learning every branch of human knowledge"
|
||||
],
|
||||
sidebar_components: [
|
||||
{Bonfire.UI.Social.SidebarNavigationLive, []},
|
||||
{Bonfire.UI.Social.SidebarNavigationLive, []}
|
||||
],
|
||||
rich_text_editor: Bonfire.Editor.Quill,
|
||||
smart_input: [
|
||||
|
@ -24,16 +23,15 @@ config :bonfire, :ui,
|
|||
posts: Bonfire.UI.Social.ProfilePostsLive,
|
||||
boosts: Bonfire.UI.Social.ProfileBoostsLive,
|
||||
followers: Bonfire.UI.Social.ProfileFollowsLive,
|
||||
followed: Bonfire.UI.Social.ProfileFollowsLive,
|
||||
followed: Bonfire.UI.Social.ProfileFollowsLive
|
||||
],
|
||||
navigation: [
|
||||
timeline: "timeline",
|
||||
posts: "posts",
|
||||
boosts: "boosts",
|
||||
boosts: "boosts"
|
||||
# private: "private",
|
||||
],
|
||||
widgets: [
|
||||
],
|
||||
widgets: []
|
||||
],
|
||||
smart_input_activities: [
|
||||
# offer: "Publish an offer",
|
||||
|
@ -45,5 +43,5 @@ config :bonfire, :ui,
|
|||
# process: "Define a process"
|
||||
],
|
||||
smart_input_components: [
|
||||
post: Bonfire.UI.Social.WritePostContentLive,
|
||||
post: Bonfire.UI.Social.WritePostContentLive
|
||||
]
|
||||
|
|
|
@ -2,7 +2,7 @@ import Config
|
|||
|
||||
default_flavour = "classic"
|
||||
flavour = System.get_env("FLAVOUR", default_flavour)
|
||||
flavour_path = System.get_env("FLAVOUR_PATH", "flavours/"<>flavour)
|
||||
flavour_path = System.get_env("FLAVOUR_PATH", "flavours/" <> flavour)
|
||||
|
||||
#### Basic configuration
|
||||
|
||||
|
@ -33,7 +33,8 @@ config :bonfire,
|
|||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
url: [host: "localhost"],
|
||||
http: [
|
||||
port: String.to_integer(System.get_env("SERVER_PORT", "4000")), # this gets overriden in runtime.exs
|
||||
# this gets overriden in runtime.exs
|
||||
port: String.to_integer(System.get_env("SERVER_PORT", "4000")),
|
||||
transport_options: [socket_opts: [:inet6]]
|
||||
],
|
||||
render_errors: [view: Bonfire.UI.Common.ErrorView, accepts: ~w(html json), layout: false],
|
||||
|
@ -43,6 +44,7 @@ config :phoenix, :json_library, Jason
|
|||
config :phoenix_gon, :json_library, Jason
|
||||
|
||||
config :bonfire, :ecto_repos, [Bonfire.Common.Repo]
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
types: Bonfire.Geolocate.PostgresTypes,
|
||||
priv: flavour_path <> "/repo"
|
||||
|
@ -73,10 +75,9 @@ config :mime, :types, %{
|
|||
|
||||
config :sentry,
|
||||
dsn: "this-will-be-overriden-by-a-secure-string-in-runtime.exs",
|
||||
environment_name: Mix.env,
|
||||
environment_name: Mix.env(),
|
||||
included_environments: [:prod]
|
||||
|
||||
|
||||
# include config for all used Bonfire extensions
|
||||
for config <- "bonfire_*.exs" |> Path.expand(__DIR__) |> Path.wildcard() do
|
||||
# IO.inspect(include_config: config)
|
||||
|
@ -85,6 +86,5 @@ end
|
|||
|
||||
import_config "activity_pub.exs"
|
||||
|
||||
|
||||
# finally, append/override config based on env, which will override any config set above (including from imported files)
|
||||
import_config "#{config_env()}.exs"
|
||||
|
|
|
@ -10,10 +10,14 @@ path_dep_dirs =
|
|||
|> Enum.map(&(Keyword.fetch!(elem(&1, 1), :path) <> "/lib"))
|
||||
|
||||
config :phoenix_live_reload,
|
||||
dirs: path_dep_dirs ++ ["lib/"] # watch the app's lib/ dir + the dep/lib/ dir of every locally-cloned dep
|
||||
# watch the app's lib/ dir + the dep/lib/ dir of every locally-cloned dep
|
||||
dirs: path_dep_dirs ++ ["lib/"]
|
||||
|
||||
path_dep_patterns = path_dep_dirs |> Enum.map(&(String.slice(&1, 2..1000) <>".*ex")) # to include cloned code in patterns
|
||||
path_dep_patterns = path_dep_patterns ++ path_dep_dirs |> Enum.map(&(String.slice(&1, 2..1000) <>".*sface")) # Surface views
|
||||
# to include cloned code in patterns
|
||||
path_dep_patterns = Enum.map(path_dep_dirs, &(String.slice(&1, 2..1000) <> ".*ex"))
|
||||
# Surface views
|
||||
path_dep_patterns =
|
||||
(path_dep_patterns ++ path_dep_dirs) |> Enum.map(&(String.slice(&1, 2..1000) <> ".*sface"))
|
||||
|
||||
# Watch static and templates for browser reloading.
|
||||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
|
@ -29,31 +33,34 @@ config :bonfire, Bonfire.Web.Endpoint,
|
|||
yarn: [
|
||||
"watch.css",
|
||||
cd: Path.expand("assets", File.cwd!())
|
||||
],
|
||||
]
|
||||
|
||||
# yarn: [
|
||||
# "watch.assets",
|
||||
# cd: Path.expand("assets", File.cwd!())
|
||||
# ]
|
||||
],
|
||||
live_reload: [
|
||||
patterns: [
|
||||
patterns:
|
||||
[
|
||||
# ~r"^priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
|
||||
# ~r"^priv/gettext/.*(po)$",
|
||||
# ~r"^web/(live|views)/.*ex$",
|
||||
# ~r"^lib/.*_live\.ex$",
|
||||
# ~r".*leex$",
|
||||
# defp elixirc_paths(:dev), do: ["lib"] ++ catalogues()
|
||||
|
||||
~r"lib/.*ex$",
|
||||
~r".*sface$",
|
||||
~r"priv/catalogue/.*(ex)$",
|
||||
~r"priv/catalogue/.*(ex)$"
|
||||
] ++ path_dep_patterns
|
||||
]
|
||||
|
||||
# defp elixirc_paths(:dev), do: ["lib"] ++ catalogues()
|
||||
|
||||
config :logger, :console,
|
||||
level: :debug,
|
||||
# truncate: :infinity,
|
||||
format: "[$level] $message\n" # Do not include metadata or timestamps
|
||||
# Do not include metadata or timestamps
|
||||
format: "[$level] $message\n"
|
||||
|
||||
config :phoenix, :stacktrace_depth, 30
|
||||
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
import Config
|
||||
|
||||
|
||||
# We include the path to a cache manifest
|
||||
# containing the digested version of static files. This
|
||||
# manifest is generated by the `mix phx.digest` task,
|
||||
# which you should run after static files are built and
|
||||
# before starting your production server.
|
||||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
cache_static_manifest: "priv/static/cache_manifest.json"
|
||||
config :bonfire, Bonfire.Web.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json"
|
||||
|
||||
config :logger,
|
||||
backends: [:console, Sentry.LoggerBackend]
|
||||
|
@ -18,4 +16,5 @@ config :logger, level: :info
|
|||
config :bonfire, Bonfire.Web.Endpoint, server: true
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
priv: "priv/repo" # in releases migrations are not in a flavour-specific directory
|
||||
# in releases migrations are not in a flavour-specific directory
|
||||
priv: "priv/repo"
|
||||
|
|
|
@ -21,8 +21,7 @@ System.get_env("DATABASE_URL") || System.get_env("POSTGRES_PASSWORD") || System.
|
|||
"""
|
||||
|
||||
if System.get_env("DATABASE_URL") do
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
url: System.get_env("DATABASE_URL")
|
||||
config :bonfire, Bonfire.Common.Repo, url: System.get_env("DATABASE_URL")
|
||||
else
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
# ssl: true,
|
||||
|
@ -38,12 +37,14 @@ secret_key_base =
|
|||
You can generate one by calling: mix phx.gen.secret
|
||||
"""
|
||||
|
||||
signing_salt = System.get_env("SIGNING_SALT") || System.get_env("CI") ||
|
||||
signing_salt =
|
||||
System.get_env("SIGNING_SALT") || System.get_env("CI") ||
|
||||
raise """
|
||||
environment variable SIGNING_SALT is missing.
|
||||
"""
|
||||
|
||||
encryption_salt = System.get_env("ENCRYPTION_SALT") || System.get_env("CI") ||
|
||||
encryption_salt =
|
||||
System.get_env("ENCRYPTION_SALT") || System.get_env("CI") ||
|
||||
raise """
|
||||
environment variable ENCRYPTION_SALT is missing.
|
||||
"""
|
||||
|
@ -57,7 +58,10 @@ config :bonfire,
|
|||
encryption_salt: encryption_salt,
|
||||
signing_salt: signing_salt
|
||||
|
||||
start_server? = if config_env() == :test, do: System.get_env("START_SERVER", "true"), else: System.get_env("START_SERVER", "true")
|
||||
start_server? =
|
||||
if config_env() == :test,
|
||||
do: System.get_env("START_SERVER", "true"),
|
||||
else: System.get_env("START_SERVER", "true")
|
||||
|
||||
config :bonfire, Bonfire.Web.Endpoint,
|
||||
server: String.to_existing_atom(start_server?),
|
||||
|
@ -72,9 +76,7 @@ config :bonfire, Bonfire.Web.Endpoint,
|
|||
live_view: [signing_salt: signing_salt]
|
||||
|
||||
if System.get_env("SENTRY_DSN") do
|
||||
IO.puts(
|
||||
"Note: errors will be reported to Sentry."
|
||||
)
|
||||
IO.puts("Note: errors will be reported to Sentry.")
|
||||
|
||||
config :sentry,
|
||||
dsn: System.get_env("SENTRY_DSN")
|
||||
|
@ -86,22 +88,20 @@ end
|
|||
|
||||
# start prod-only config
|
||||
if config_env() == :prod do
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
# ssl: true,
|
||||
database: System.get_env("POSTGRES_DB", "bonfire"),
|
||||
pool_size: String.to_integer(System.get_env("POOL_SIZE", "10")),
|
||||
log: String.to_atom(System.get_env("DB_QUERIES_LOG_LEVEL", "false")) # Note: keep this disabled if using ecto_dev_logger or EctoSparkles.Log instead #
|
||||
|
||||
end # prod only config
|
||||
# Note: keep this disabled if using ecto_dev_logger or EctoSparkles.Log instead #
|
||||
log: String.to_atom(System.get_env("DB_QUERIES_LOG_LEVEL", "false"))
|
||||
end
|
||||
|
||||
# prod only config
|
||||
|
||||
# start prod and dev only config
|
||||
if config_env() != :test do
|
||||
|
||||
config :bonfire, Bonfire.Common.Repo,
|
||||
slow_query_ms: String.to_integer(System.get_env("SLOW_QUERY_MS", "100"))
|
||||
|
||||
end
|
||||
|
||||
## bonfire_livebook
|
||||
|
|
|
@ -15,7 +15,6 @@ config :bonfire_search,
|
|||
config :logger, level: :warn
|
||||
# config :logger, level: :notice
|
||||
|
||||
|
||||
# Configure your database
|
||||
db = "bonfire_test#{System.get_env("MIX_TEST_PARTITION")}"
|
||||
#
|
||||
|
@ -46,6 +45,7 @@ config :mix_test_interactive,
|
|||
clear: true
|
||||
|
||||
config :paginator, ecto_repos: [Bonfire.Common.Repo]
|
||||
|
||||
config :paginator, Paginator.Repo,
|
||||
pool: Ecto.Adapters.SQL.Sandbox,
|
||||
username: System.get_env("POSTGRES_USER", "postgres"),
|
||||
|
|
|
@ -2,11 +2,10 @@ defmodule Bonfire.Repo.Migrations.HelloWorld do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
execute "CREATE EXTENSION IF NOT EXISTS \"citext\""
|
||||
execute("CREATE EXTENSION IF NOT EXISTS \"citext\"")
|
||||
end
|
||||
|
||||
def down do
|
||||
execute "DROP EXTENSION IF EXISTS \"citext\""
|
||||
execute("DROP EXTENSION IF EXISTS \"citext\"")
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -6,9 +6,9 @@ defmodule Bonfire.Repo.Migrations.InitPointers do
|
|||
init_pointers_ulid_extra()
|
||||
init_pointers()
|
||||
end
|
||||
|
||||
def down do
|
||||
init_pointers_ulid_extra()
|
||||
init_pointers()
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue