Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
282 commits
Select commit Hold shift + click to select a range
bb50bcf
Upgrade to Elixir 1.13.0 and Erlang 24.0.6 (#28)
conradwt Sep 4, 2021
d6c093b
Upgrade docs to the latest stable patch for Phoenix.
conradwt Sep 4, 2021
f97cb0c
Fix Elixir version.
conradwt Sep 4, 2021
96023d9
Update instructions for entering GraphQL query. (#29)
conradwt Sep 14, 2021
6ae91bb
Update software requirements to latest stable release. (#30)
conradwt Sep 22, 2021
753a522
Exclude VSCode artifacts from the repository. (#32)
conradwt Sep 30, 2021
4491f6d
Upgrade to Phoenix 1.5.13. (#33)
conradwt Oct 1, 2021
5968fc6
Add-people-tests (#34)
conradwt Oct 4, 2021
f76a450
Upgrade-softeware-requirements (#35)
conradwt Oct 13, 2021
ec58250
Update-docs (#36)
conradwt Oct 18, 2021
5c0b2cf
Refactor reset function. (#37)
conradwt Oct 20, 2021
773fa8a
Correct Phoenix version. (#38)
conradwt Oct 25, 2021
3e448df
Upgrade to Erlang 24.1.3. (#39)
conradwt Oct 27, 2021
91c52ab
Rename the repository. (#40)
conradwt Oct 29, 2021
81417cf
Update to software requirements to latest stable releases. (#41)
conradwt Nov 3, 2021
2c143db
Upgrade to Elixir 1.13.0-rc.1. (#42)
conradwt Nov 17, 2021
707e4c2
Upgrade to Erlang 24.1.6. (#43)
conradwt Nov 21, 2021
27845b5
Upgrade to Erlang 24.1.7. (#44)
conradwt Nov 24, 2021
5e0ac69
Upgrade to Erlang 24.1.7. (#45)
conradwt Nov 28, 2021
3ee9b20
Upgrade-to-phoenix-1.6.2 (#46)
conradwt Nov 29, 2021
277a9f6
Upgrade docs with the new deps. (#47)
conradwt Nov 29, 2021
bd75ee3
Upgrade to the official release Elixir 1.13.0. (#48)
conradwt Dec 4, 2021
53fe7d1
Cleanup docs. (#50)
conradwt Dec 13, 2021
0a1368f
Remove esbuild. (#51)
conradwt Dec 14, 2021
709d0ed
Upgrade to Elixir 1.13.1 and update docs. (#52)
conradwt Dec 15, 2021
0b813c7
Update to Erlang 24.2. (#53)
conradwt Dec 15, 2021
aab959c
Upgrade docs to use Phoenix 1.6.4. (#54)
conradwt Dec 15, 2021
9b59fc6
Fix routing and associated docs. (#55)
conradwt Dec 18, 2021
e428b42
Upgrade docs to use Elixir 1.13.1.
conradwt Dec 19, 2021
075b640
Bump to app 3.3.4. (#56)
conradwt Dec 21, 2021
ae8c26a
Upgrade docs and associated implementation code. (#57)
conradwt Dec 22, 2021
b570eaa
Update to PostgreSQL 14.1. (#58)
conradwt Dec 25, 2021
cba14db
Upgrade license information. (#59)
conradwt Jan 9, 2022
f75eea3
Upgrade-to-elixir-1.13.2-otp-24 (#60)
conradwt Jan 14, 2022
2e64ce1
Upgrade-to-erlang-24.2.1 (#61)
conradwt Jan 26, 2022
a020ed2
Upgrade to the latest version of macOS. (#62)
conradwt Jan 30, 2022
576d74f
Update docs with the correction version of Phoenix. (#63)
conradwt Jan 30, 2022
7d1b0aa
Fix Phoenix version. (#64)
conradwt Jan 31, 2022
3fae009
Restrict the GraphiQL browser to the development environment. (#65)
conradwt Feb 16, 2022
72968d3
WIP: add create person mutation. (#49)
conradwt Feb 24, 2022
3a6de7f
Fix markdown. (#66)
conradwt Feb 24, 2022
16f197b
Upgrade software requirements. (#68)
conradwt Feb 28, 2022
4c43500
Refresh hex packages. (#69)
conradwt Mar 5, 2022
1f13c74
Upgrade software requirements. (#70)
conradwt Mar 11, 2022
51c4c78
Correct the module name. (#71)
conradwt Mar 12, 2022
8c5cda3
Upgrade to Erlang 24.3.2 and refresh Hex packages. (#73)
conradwt Mar 19, 2022
5b15c07
Bump to v3.5.3. (#74)
conradwt Mar 26, 2022
60bb73d
Upgrade to Erlang 24.3.3. (#75)
conradwt Mar 29, 2022
3087e7b
Upgrade software requirements. (#76)
conradwt Apr 10, 2022
c0bcb95
Upgrade software requirements. (#77)
conradwt Apr 10, 2022
35694e4
Refresh Hex packages. (#78)
conradwt Apr 12, 2022
2a07509
Refresh Hex packages. (#79)
conradwt Apr 15, 2022
7247f29
Refresh Hex packages. (#80)
conradwt Apr 29, 2022
e2551a7
Exclude research notes and other test files. (#81)
conradwt Apr 29, 2022
f98909d
Upgrade to Phoenix 1.6.8. (#82)
conradwt May 9, 2022
500ba6e
Upgrade to Erlang 25.0. (#83)
conradwt May 19, 2022
fab8b38
Upgrade to PostgreSQL 14.3. (#84)
conradwt May 26, 2022
b666b92
Upgrade Phoenix LiveView package. (#85)
conradwt May 31, 2022
6db6cb9
Upgrade to Phoenix 1.6.10. (#86)
conradwt Jun 5, 2022
73929d6
Upgrade to Erlang 25.0.1. (#87)
conradwt Jun 10, 2022
1014681
Upgrade system requirements. (#88)
conradwt Jun 22, 2022
935611e
Add credo and mix_test_watch packages. (#90)
conradwt Jul 11, 2022
15de012
COnfigure Ecto Repository Stats. (#91)
conradwt Jul 12, 2022
601d2d1
Upgrade to Phoenix 1.6.11. (#92)
conradwt Jul 15, 2022
6e16031
Upgrade software requirements. (#93)
conradwt Jul 17, 2022
b65f8c1
Upgrade system requirements. (#94)
conradwt Aug 2, 2022
9d02d9d
Update packages in tutorial. (#95)
conradwt Aug 3, 2022
abeed66
Bump Elixir to 1.14.0-rc.1.
conradwt Aug 15, 2022
2271f3f
Upgrade software requirements. (#96)
conradwt Aug 19, 2022
1245e8e
Bump to Elixir 1.14.0. (#97)
conradwt Sep 1, 2022
8fbd1ed
Correct Elixir version. (#98)
conradwt Sep 4, 2022
39202aa
Upgrade to Phoenix 1.6.12. (#99)
conradwt Sep 7, 2022
ce68550
Add development container. (#100)
conradwt Sep 7, 2022
e525f94
Allow the user to complete the app setup.
conradwt Sep 7, 2022
1ae16c7
Correct package name.
conradwt Sep 7, 2022
f880f37
Add missing Hex package.
conradwt Sep 7, 2022
a3248e0
Refactor IEx configuration file. (#102)
conradwt Sep 8, 2022
c8b05d5
Refresh Hex packages. (#103)
conradwt Sep 10, 2022
fbbb015
Refresh more Hex packages. (#104)
conradwt Sep 10, 2022
fb931d1
Code cleanup. (#105)
conradwt Sep 10, 2022
78eb4e3
Refresh packages for step.
conradwt Sep 10, 2022
bde3b67
Upgrade to Erlang 25.1. (#106)
conradwt Sep 24, 2022
0922614
Upgrade to Phoenix 1.6.13. (#107)
conradwt Oct 8, 2022
c1dfc18
Update Phoenix version. (#108)
conradwt Oct 8, 2022
87ef5de
Upgrade to Elixir 1.14.1. (#109)
conradwt Oct 10, 2022
2520f06
Refresh Hex packages. (#110)
conradwt Oct 24, 2022
c1544f3
Upgrade Erlang and Phoenix to latest stable releases.
conradwt Oct 24, 2022
88cd30d
Refresh Hex packages to latest stable release. (#111)
conradwt Nov 9, 2022
dcf45ba
Update dev container. (#112)
conradwt Nov 11, 2022
1ad5e87
Upgrade to Elixir 1.14.2. (#113)
conradwt Nov 13, 2022
0019d02
Refresh Hex packages. (#114)
conradwt Nov 17, 2022
5f35d8d
Upgrade to PostgreSQL 14.6 and refresh packages. (#115)
conradwt Nov 29, 2022
c99d000
Upgrade to Erlang 25.2. (#116)
conradwt Dec 14, 2022
8888c31
Upgrade to macOS 12.6.2. (#117)
conradwt Dec 28, 2022
b2e834f
Update tool-versions. (#118)
conradwt Jan 1, 2023
8362a2c
Refresh Hex packages. (#119)
conradwt Jan 3, 2023
6eb11b8
Update docs. (#120)
conradwt Jan 3, 2023
5010c0a
Update copyright info. (#121)
conradwt Jan 4, 2023
c4f0740
Update the telemetry package. (#122)
conradwt Jan 5, 2023
43f1bc9
Update to Elixir 1.14.3 and refresh Hex packages. (#123)
conradwt Jan 15, 2023
a67f341
Upgrade to Erlang 25.2.1. (#124)
conradwt Jan 18, 2023
468d392
Upgrade to Erlang 25.2.2. (#125)
conradwt Jan 30, 2023
5debd9c
Upgrade to Absinthe 1.7.1. (#126)
conradwt Feb 14, 2023
07788db
Upgrade to PostgreSQL 14.7. (#127)
conradwt Feb 16, 2023
628813a
Upgrade to Erlang 25.2.3. (#128)
conradwt Feb 17, 2023
cc4076c
Refresh Hex packages and update system requirements. (#129)
conradwt Feb 26, 2023
5b30904
Upgrade to Erlang 25.3. (#130)
conradwt Mar 9, 2023
8f6eafc
Upgrade to plug_crypto 1.2.5. (#131)
conradwt Mar 16, 2023
4e315d5
Rname GraphQL API endpoint. (#132)
conradwt Mar 16, 2023
a3a3883
Update to plug 1.4.1. (#133)
conradwt Mar 20, 2023
fce630e
Update to Plug 1.14.2/ (#134)
conradwt Mar 25, 2023
4374723
Upgrade Hex packages. (#135)
conradwt Apr 2, 2023
92a8f6d
Upgrad eto Elixir 1.14.4. (#136)
conradwt Apr 4, 2023
91f9665
Upgrade to macOS 13.3. (#137)
conradwt Apr 4, 2023
ab5d430
Update db connection Hex package. (#138)
conradwt Apr 12, 2023
c8e12b4
Update Hex packages. (#139)
conradwt Apr 26, 2023
f110d7e
Update-to-decimal-2.1.1 (#140)
conradwt Apr 27, 2023
9e99fe0
Upgrade to Erlang 25.3.1. (#141)
conradwt Apr 28, 2023
070f2ab
Upgrade to PostgreSQL 15.1. (#142)
conradwt Apr 30, 2023
cbbafb7
Update to Erlang 25.3.2 and refresh Hex packages. (#143)
conradwt May 6, 2023
75a764e
Update Hex packages. (#144)
conradwt May 16, 2023
15a6a43
Update dev container system requirements. (#145)
conradwt May 16, 2023
5c0a5ca
Remove Hasura docker compose files. (#146)
conradwt May 16, 2023
9a23102
Update Dockerfile system requirements. (#147)
conradwt May 16, 2023
c4cc45c
Upgrade to Erlang 26.0. (#148)
conradwt May 22, 2023
c0a7ced
Update to Phoenix 1.7.2. (#149)
conradwt May 22, 2023
8e19953
Update-to-bandit-1.0.0-pre.3 (#150)
conradwt May 22, 2023
b025215
Add steps for bandit configuration. (#151)
conradwt May 22, 2023
c49edc1
Update to Elixir 1.14.5. (#152)
conradwt May 24, 2023
fb7c82e
Update Bandit. (#153)
conradwt Jun 1, 2023
c718c66
Update to Phoenix 1.7.3. (#154)
conradwt Jun 1, 2023
18e5ecc
Fix docs. (#155)
conradwt Jun 1, 2023
eded373
Refresh Hex packages. (#156)
conradwt Jun 4, 2023
d8950e2
Update to Erlang 26.0.1 and refresh Hex packages. (#157)
conradwt Jun 9, 2023
cb9f623
Fix Phoenix version. (#158)
conradwt Jun 9, 2023
d865558
Downgrade to Erlang 25.3.2.2. (#159)
conradwt Jun 12, 2023
9e0a89a
Upgrade to Elixir 1.15.0. (#160)
conradwt Jun 20, 2023
6acfdee
Code cleanup. (#161)
conradwt Jun 21, 2023
6d85656
Update to Phoenix 1.7.6. (#162)
conradwt Jun 28, 2023
e3f0bbd
Update to Erlang 26.0.2 and refresh Hex packages. (#163)
conradwt Jun 29, 2023
7d1dba0
Update to Elixir 1.15.1. (#164)
conradwt Jul 1, 2023
9ca7926
Update Phoenix version. (#165)
conradwt Jul 1, 2023
185e875
Update to Elixir 1.15.2. (#166)
conradwt Jul 4, 2023
2c70df7
Refresh Hrex packages. (#167)
conradwt Jul 15, 2023
2e96f14
Update to Elixir 1.15.3. (#168)
conradwt Jul 15, 2023
15cba2e
Fix Ellixir and Phoenix versions. (#169)
conradwt Jul 15, 2023
c37d5d5
Update to Elixir 1.15.4 and refresh Hex packages. (#170)
conradwt Jul 20, 2023
a64f387
Update to Absinthe 1.7.5. (#171)
conradwt Jul 25, 2023
932abbe
Update dev container. (#172)
conradwt Jul 31, 2023
f53162f
Add initial support for Docker. (#173)
conradwt Aug 2, 2023
b8ab520
Add labels. (#174)
conradwt Aug 2, 2023
56dd3a5
Add missing rel folder. (#175)
conradwt Aug 2, 2023
d735bb6
Update to Bandit 1.0.0-pre.13 (#176)
conradwt Aug 21, 2023
0520071
Update to Elixir 1.15.5. (#177)
conradwt Aug 28, 2023
3319eab
Update to PostgreSQL 15.4. (#178)
conradwt Aug 31, 2023
ed553ee
Update Dockerfiles and refresh Hex packages. (#179)
conradwt Sep 5, 2023
4f950a3
Fix config file. (#182)
conradwt Sep 7, 2023
d9cdcf7
Refactor HTP. (#183)
conradwt Sep 15, 2023
10e6d94
Refresh Hex packages. (#184)
conradwt Sep 18, 2023
f9415d5
Update to Elixir 1.15.6. (#185)
conradwt Sep 24, 2023
f58a30c
Update to Erlang 26.1.1. (#186)
conradwt Oct 3, 2023
c07d5bb
Update Hex packages and associated docs. (#187)
conradwt Oct 10, 2023
b68f4f6
Update to Phoenix 1.7.9 and associate packages. (#188)
conradwt Oct 12, 2023
1cf8021
Update system requirements. (#189)
conradwt Oct 15, 2023
0a11ce2
Update to PostgreSQL 15.4.
conradwt Oct 16, 2023
0c0b8be
Update Hex packages. (#190)
conradwt Oct 18, 2023
1a4f5bc
Update to Bandit 1.0.0. (#191)
conradwt Oct 21, 2023
e75babb
Update Hex packages. (#192)
conradwt Oct 28, 2023
f9b145d
Update Elixir version. (#193)
conradwt Oct 28, 2023
9375c20
Update system requirements.
conradwt Dec 23, 2023
353c544
Update app version.
conradwt Dec 23, 2023
5816cc8
Update Hex packages.
conradwt Jan 21, 2024
b3c52d5
Update to Elixir 1.16.1 and Phoenix 1.7.11.
conradwt Feb 3, 2024
bd9768b
Fix Phoenix version and macOS version.
conradwt Feb 3, 2024
6acd947
Update to Erlang 26.2.2.
conradwt Feb 10, 2024
2617fd9
Update Docker image and Hex packages.
conradwt Feb 28, 2024
72e4cde
Add Docker syntax to Dockerfiles. (#208)
conradwt Mar 4, 2024
3d49002
Update to Postgrex 0.17.5. (#209)
conradwt Mar 9, 2024
0c80ad1
Update to Elixir 1.16.2 and Erlang 26.2.3. (#210)
conradwt Mar 10, 2024
6f31c73
Update Hex packages. (#211)
conradwt Mar 13, 2024
d9cbb3f
Update Hex packages. (#212)
conradwt Mar 30, 2024
3263c8b
Update to PostgreSQL 16.2 and refresh Hex packages. (#213)
conradwt Mar 31, 2024
4066fb1
Update to Erlang 26.2.4. (#214)
conradwt Apr 13, 2024
ccd9702
Update to Phoenix 1.7.12. (#215)
conradwt Apr 13, 2024
4fe2265
Update Hex packages. (#216)
conradwt May 4, 2024
66e6a3b
Update to Erlang 26.2.5. (#217)
conradwt May 5, 2024
844a099
Update to Credo 1.7.6. (#218)
conradwt May 11, 2024
bd2700f
Update to Elixir 1.16.3. (#219)
conradwt May 22, 2024
bc8a64a
Update to Erlang 27.0 and Elixir 1.17.0-rc.0. (#220)
conradwt May 27, 2024
55c93cc
Update Hex packages. (#221)
conradwt May 31, 2024
816a192
Update to Credo 1.7.7-rc.0. (#222)
conradwt Jun 3, 2024
09bbe94
Update-to-elixir-1.17.0-rc.1 (#223)
conradwt Jun 12, 2024
480c566
Update to Elixir 1.17.0. (#224)
conradwt Jun 13, 2024
1916cf3
Add GitHub Actions workflow. (#225)
conradwt Jun 27, 2024
73a30ec
Update to Phoenix 1.7.14 and Elixir 1.17.1. (#226)
conradwt Jul 1, 2024
21d72cd
Update Hex packages. (#227)
conradwt Jul 2, 2024
7119560
Update to Elixir 1.17.2. (#228)
conradwt Jul 7, 2024
499d92c
Fix Dockerfile. (#229)
conradwt Jul 7, 2024
fb2fbfd
Code cleanup. (#230)
conradwt Jul 16, 2024
3d4f470
Update to Erlang 27.0.1. (#231)
conradwt Jul 17, 2024
cda1747
Update to Absinthe 1.7.8. (#232)
conradwt Jul 26, 2024
799b69c
Update load test. (#233)
conradwt Jul 29, 2024
b3e5292
Cleanup load test script. (#234)
conradwt Aug 4, 2024
f1a5430
Update to Jason 1.4.4. (#235)
conradwt Aug 6, 2024
1b84480
Update Hex packages. (#236)
conradwt Aug 16, 2024
4daf5b5
Update Hex packages. (#237)
conradwt Aug 27, 2024
21152cd
Update docs. (#238)
conradwt Sep 18, 2024
fc5f9d4
Update to Erlang 27.1 and Elixir 1.17.3. (#239)
conradwt Sep 20, 2024
3c8cd5b
Update to Credo 1.7.8. (#240)
conradwt Sep 28, 2024
873a39e
Update to Erlang 27.1.1. (#241)
conradwt Oct 9, 2024
6aaed13
Update to Erlang 27.1.2. (#242)
conradwt Oct 18, 2024
5390a55
Update to Credo 1.7.9. (#243)
conradwt Nov 4, 2024
02b932c
Update-to-credo-1.7.10 (#244)
conradwt Nov 5, 2024
091878e
Update Hex packages. (#245)
conradwt Nov 17, 2024
7f56501
Update Hex packages. (#246)
conradwt Nov 25, 2024
c28c99f
Update to Erlang 27.1.3 and refresh Hex packages. (#247)
conradwt Dec 7, 2024
843789d
Update to Erlang 27.2 and refresh Hex packages. (#248)
conradwt Dec 13, 2024
a0a97f5
Update to Elixir 1.18.0. (#249)
conradwt Dec 20, 2024
11260b9
Update docs.
conradwt Dec 20, 2024
f00479b
Update to Elixir 1.18.1. (#250)
conradwt Dec 24, 2024
35a6d18
Update Dockerfile and Hex packages. (#251)
conradwt Jan 5, 2025
bbe2358
Update Hex packages. (#252)
conradwt Jan 19, 2025
00f2ea5
Update to Erlang 27.2.1 and Elixir 1.18.2. (#253)
conradwt Jan 25, 2025
fa26d88
Update-to-erlang-27.2.2 (#254)
conradwt Feb 7, 2025
f89ae98
Update to Erlang 27.2.3. (#255)
conradwt Feb 21, 2025
df25229
Update to Erlang 27.2.4. (#256)
conradwt Feb 21, 2025
86729cf
Update Hex packages. (#257)
conradwt Feb 26, 2025
913138b
Update to Erlang 27.3. (#258)
conradwt Mar 6, 2025
1f5e297
Update to Erlang 27.3. (#259)
conradwt Mar 6, 2025
8375b65
Update to Elixir 1.18.3. (#260)
conradwt Mar 15, 2025
72cb991
Update to Erlang 27.3.1. (#261)
conradwt Mar 29, 2025
726eea5
Update to Phoenix 1.7.21. (#262)
conradwt Mar 29, 2025
276eb4a
Update to Erlang 27.3.2 (#263)
conradwt Apr 10, 2025
093994e
Update to Absinthe-Plug 1.5.9. (#264)
conradwt May 3, 2025
dd5cf2f
Update to Erlang 27.3.4. (#265)
conradwt May 9, 2025
545cd5f
Update Hex packages. (#266)
conradwt May 19, 2025
482ac75
Update to Elixir 1.18.4. (#267)
conradwt May 24, 2025
d09736d
Update Hex packages. (#268)
conradwt May 27, 2025
35f70d6
Update to plug 1.18.0 (#269)
conradwt May 29, 2025
9f1b7c3
Update to Erlang 28.0.1. (#270)
conradwt Jun 20, 2025
2990576
Update Hex packages. (#271)
conradwt Jul 5, 2025
9eede5e
Update to Erlang 28.0.2. (#272)
conradwt Jul 22, 2025
dda7d89
Update Hex packages. (#273)
conradwt Aug 25, 2025
07c84f5
Update Production Dockerfile. (#274)
conradwt Sep 2, 2025
022cdc9
Update Hex packages. (#275)
conradwt Sep 9, 2025
04d81f7
Update Hex packages. (#276)
conradwt Sep 21, 2025
a730026
Update system requirements and docs. (#277)
conradwt Oct 17, 2025
f00945d
Update Dockerfile.
conradwt Oct 21, 2025
149a7d3
Update system requirements.
conradwt Oct 21, 2025
0e38c08
Merge branch 'master' into update-system-requirements
conradwt Oct 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
210 changes: 210 additions & 0 deletions .credo.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
# This file contains the configuration for Credo and you are probably reading
# this after creating it with `mix credo.gen.config`.
#
# If you find anything wrong or unclear in this file, please report an
# issue on GitHub: https://github.com/rrrene/credo/issues
#
%{
#
# You can have as many configs as you like in the `configs:` field.
configs: [
%{
#
# Run any config using `mix credo -C <name>`. If no config name is given
# "default" is used.
#
name: "default",
#
# These are the files included in the analysis:
files: %{
#
# You can give explicit globs or simply directories.
# In the latter case `**/*.{ex,exs}` will be used.
#
included: [
"lib/",
"src/",
"test/",
"web/",
"apps/*/lib/",
"apps/*/src/",
"apps/*/test/",
"apps/*/web/"
],
excluded: [~r"/_build/", ~r"/deps/", ~r"/node_modules/"]
},
#
# Load and configure plugins here:
#
plugins: [],
#
# If you create your own checks, you must specify the source files for
# them here, so they can be loaded by Credo before running the analysis.
#
requires: [],
#
# If you want to enforce a style guide and need a more traditional linting
# experience, you can change `strict` to `true` below:
#
strict: false,
#
# To modify the timeout for parsing files, change this value:
#
parse_timeout: 5000,
#
# If you want to use uncolored output by default, you can change `color`
# to `false` below:
#
color: true,
#
# You can customize the parameters of any check by adding a second element
# to the tuple.
#
# To disable a check put `false` as second element:
#
# {Credo.Check.Design.DuplicatedCode, false}
#
checks: %{
enabled: [
#
## Consistency Checks
#
{Credo.Check.Consistency.ExceptionNames, []},
{Credo.Check.Consistency.LineEndings, []},
{Credo.Check.Consistency.ParameterPatternMatching, []},
{Credo.Check.Consistency.SpaceAroundOperators, []},
{Credo.Check.Consistency.SpaceInParentheses, []},
{Credo.Check.Consistency.TabsOrSpaces, []},

#
## Design Checks
#
# You can customize the priority of any check
# Priority values are: `low, normal, high, higher`
#
{Credo.Check.Design.AliasUsage,
[priority: :low, if_nested_deeper_than: 2, if_called_more_often_than: 0]},
# You can also customize the exit_status of each check.
# If you don't want TODO comments to cause `mix credo` to fail, just
# set this value to 0 (zero).
#
{Credo.Check.Design.TagTODO, [exit_status: 2]},
{Credo.Check.Design.TagFIXME, []},

#
## Readability Checks
#
{Credo.Check.Readability.AliasOrder, []},
{Credo.Check.Readability.FunctionNames, []},
{Credo.Check.Readability.LargeNumbers, []},
{Credo.Check.Readability.MaxLineLength, [priority: :low, max_length: 120]},
{Credo.Check.Readability.ModuleAttributeNames, []},
{Credo.Check.Readability.ModuleDoc, []},
{Credo.Check.Readability.ModuleNames, []},
{Credo.Check.Readability.ParenthesesInCondition, []},
{Credo.Check.Readability.ParenthesesOnZeroArityDefs, []},
{Credo.Check.Readability.PipeIntoAnonymousFunctions, []},
{Credo.Check.Readability.PredicateFunctionNames, []},
{Credo.Check.Readability.PreferImplicitTry, []},
{Credo.Check.Readability.RedundantBlankLines, []},
{Credo.Check.Readability.Semicolons, []},
{Credo.Check.Readability.SpaceAfterCommas, []},
{Credo.Check.Readability.StringSigils, []},
{Credo.Check.Readability.TrailingBlankLine, []},
{Credo.Check.Readability.TrailingWhiteSpace, []},
{Credo.Check.Readability.UnnecessaryAliasExpansion, []},
{Credo.Check.Readability.VariableNames, []},
{Credo.Check.Readability.WithSingleClause, []},

#
## Refactoring Opportunities
#
{Credo.Check.Refactor.Apply, []},
{Credo.Check.Refactor.CondStatements, []},
{Credo.Check.Refactor.CyclomaticComplexity, []},
{Credo.Check.Refactor.FunctionArity, []},
{Credo.Check.Refactor.LongQuoteBlocks, []},
{Credo.Check.Refactor.MatchInCondition, []},
{Credo.Check.Refactor.MapJoin, []},
{Credo.Check.Refactor.NegatedConditionsInUnless, []},
{Credo.Check.Refactor.NegatedConditionsWithElse, []},
{Credo.Check.Refactor.Nesting, []},
{Credo.Check.Refactor.UnlessWithElse, []},
{Credo.Check.Refactor.WithClauses, []},
{Credo.Check.Refactor.FilterFilter, []},
{Credo.Check.Refactor.RejectReject, []},
{Credo.Check.Refactor.RedundantWithClauseResult, []},

#
## Warnings
#
{Credo.Check.Warning.ApplicationConfigInModuleAttribute, []},
{Credo.Check.Warning.BoolOperationOnSameValues, []},
{Credo.Check.Warning.ExpensiveEmptyEnumCheck, []},
{Credo.Check.Warning.IExPry, []},
{Credo.Check.Warning.IoInspect, []},
{Credo.Check.Warning.OperationOnSameValues, []},
{Credo.Check.Warning.OperationWithConstantResult, []},
{Credo.Check.Warning.RaiseInsideRescue, []},
{Credo.Check.Warning.SpecWithStruct, []},
{Credo.Check.Warning.WrongTestFileExtension, []},
{Credo.Check.Warning.UnusedEnumOperation, []},
{Credo.Check.Warning.UnusedFileOperation, []},
{Credo.Check.Warning.UnusedKeywordOperation, []},
{Credo.Check.Warning.UnusedListOperation, []},
{Credo.Check.Warning.UnusedPathOperation, []},
{Credo.Check.Warning.UnusedRegexOperation, []},
{Credo.Check.Warning.UnusedStringOperation, []},
{Credo.Check.Warning.UnusedTupleOperation, []},
{Credo.Check.Warning.UnsafeExec, []}
],
disabled: [
#
# Checks scheduled for next check update (opt-in for now, just replace `false` with `[]`)

#
# Controversial and experimental checks (opt-in, just move the check to `:enabled`
# and be sure to use `mix credo --strict` to see low priority checks)
#
{Credo.Check.Consistency.MultiAliasImportRequireUse, []},
{Credo.Check.Consistency.UnusedVariableNames, []},
{Credo.Check.Design.DuplicatedCode, []},
{Credo.Check.Design.SkipTestWithoutComment, []},
{Credo.Check.Readability.AliasAs, []},
{Credo.Check.Readability.BlockPipe, []},
{Credo.Check.Readability.ImplTrue, []},
{Credo.Check.Readability.MultiAlias, []},
{Credo.Check.Readability.NestedFunctionCalls, []},
{Credo.Check.Readability.SeparateAliasRequire, []},
{Credo.Check.Readability.SingleFunctionToBlockPipe, []},
{Credo.Check.Readability.SinglePipe, []},
{Credo.Check.Readability.Specs, []},
{Credo.Check.Readability.StrictModuleLayout, []},
{Credo.Check.Readability.WithCustomTaggedTuple, []},
{Credo.Check.Refactor.ABCSize, []},
{Credo.Check.Refactor.AppendSingleItem, []},
{Credo.Check.Refactor.DoubleBooleanNegation, []},
{Credo.Check.Refactor.FilterReject, []},
{Credo.Check.Refactor.IoPuts, []},
{Credo.Check.Refactor.MapMap, []},
{Credo.Check.Refactor.ModuleDependencies, []},
{Credo.Check.Refactor.NegatedIsNil, []},
{Credo.Check.Refactor.PipeChainStart, []},
{Credo.Check.Refactor.RejectFilter, []},
{Credo.Check.Refactor.VariableRebinding, []},
{Credo.Check.Warning.LazyLogging, []},
{Credo.Check.Warning.LeakyEnvironment, []},
{Credo.Check.Warning.MapGetUnsafePass, []},
{Credo.Check.Warning.MixEnv, []},
{Credo.Check.Warning.UnsafeToAtom, []}

# {Credo.Check.Refactor.MapInto, []},

#
# Custom checks can be created using `mix credo.gen.check`.
#
]
}
}
]
}
64 changes: 64 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# syntax=docker/dockerfile:1

# Update the VARIANT arg in docker-compose.yml to pick an Elixir version: 1.9, 1.10, 1.10.4
ARG VARIANT="1.19.1"
FROM elixir:${VARIANT}

# This Dockerfile adds a non-root user with sudo access. Update the “remoteUser” property in
# devcontainer.json to use it. More info: https://aka.ms/vscode-remote/containers/non-root-user.
ARG USERNAME=vscode
ARG USER_UID=1000
ARG USER_GID=$USER_UID

# Options for common package install script
ARG INSTALL_ZSH="true"
ARG UPGRADE_PACKAGES="true"
ARG COMMON_SCRIPT_SOURCE="https://raw.githubusercontent.com/microsoft/vscode-dev-containers/main/script-library/common-debian.sh"
ARG COMMON_SCRIPT_SHA="dev-mode"

# Optional Settings for Phoenix
ARG PHOENIX_VERSION="1.7.19"

# [Optional] Setup nodejs
# ARG NODE_SCRIPT_SOURCE="https://raw.githubusercontent.com/microsoft/vscode-dev-containers/main/script-library/node-debian.sh"
# ARG NODE_SCRIPT_SHA="dev-mode"
# [Optional, Choice] Node.js version: none, lts/*, 16, 14, 12, 10
# ARG NODE_VERSION="none"
# ENV NVM_DIR=/usr/local/share/nvm
# ENV NVM_SYMLINK_CURRENT=true
# ENV PATH=${NVM_DIR}/current/bin:${PATH}

# Install needed packages and setup non-root user. Use a separate RUN statement to add your own dependencies.
RUN apt-get update \
&& export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends curl ca-certificates 2>&1 \
&& curl -sSL ${COMMON_SCRIPT_SOURCE} -o /tmp/common-setup.sh \
&& ([ "${COMMON_SCRIPT_SHA}" = "dev-mode" ] || (echo "${COMMON_SCRIPT_SHA} */tmp/common-setup.sh" | sha256sum -c -)) \
&& /bin/bash /tmp/common-setup.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" \
#
# [Optional] Install Node.js for use with web applications
# && if [ "$NODE_VERSION" != "none" ]; then \
# curl -sSL ${NODE_SCRIPT_SOURCE} -o /tmp/node-setup.sh \
# && ([ "${NODE_SCRIPT_SHA}" = "dev-mode" ] || (echo "${NODE_SCRIPT_SHA} */tmp/node-setup.sh" | sha256sum -c -)) \
# && /bin/bash /tmp/node-setup.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; \
# fi \
#
# Install dependencies
&& apt-get install -y build-essential inotify-tools \
#
# Clean up
&& apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* /tmp/common-setup.sh /tmp/node-setup.sh

RUN su ${USERNAME} -c "mix local.hex --force \
&& mix local.rebar --force \
&& mix archive.install --force hex phx_new ${PHOENIX_VERSION}"

# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update \
# && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>

# [Optional] Uncomment this line to install additional package.
# RUN mix ...
33 changes: 33 additions & 0 deletions .devcontainer/compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
services:
elixir:
build:
context: .
dockerfile: Dockerfile
args:
# Elixir Version: 1.9, 1.10, 1.10.4, ...
VARIANT: "1.19.1"
# Phoenix Version: 1.4.17, 1.5.4, ...
PHOENIX_VERSION: "1.7.21"
# Node Version: 12, 14, ...
# NODE_VERSION: "16"

volumes:
- ..:/workspace:cached
# Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function.
network_mode: service:db

# Overrides default command so things don't shut down after the process ends.
command: sleep infinity

db:
image: postgres:16.4-bullseye
restart: unless-stopped
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: app

volumes:
postgres-data:
57 changes: 57 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/elixir-phoenix-postgres
{
"name": "Elixir, Phoenix, & PostgresSQL (Community)",
"dockerComposeFile": "compose.yml",
"service": "elixir",
"workspaceFolder": "/workspace",
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"jakebecker.elixir-ls",
"phoenixframework.phoenix"
],
"settings": {
// Based on Elixir formatter's style
"editor.insertSpaces": true,
// Provides smart completion for "do" and "fn ->" blocks. Does not run the Elixir formatter.
"editor.formatOnType": true,
// Note: While it is possible to override this in your VSCode configuration, the Elixir Formatter
// does not support a configurable tab size, so if you override this then you should not use the
// formatter.
"editor.tabSize": 2,
// ElixirLS extension for Elixir support, with the following (optional) VS Code settings:
"elixirLS.dialyzerEnabled": true,
"elixirLS.enableTestLenses": true,
"elixirLS.fetchDeps": false,
"elixirLS.signatureAfterComplete": false,
"elixirLS.suggestSpecs": false,
"emmet.includeLanguages": {
"phoenix-heex": "html"
},
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": false,
"files.trimTrailingWhitespace": true,
// Misc
"editor.wordBasedSuggestions": false,
"editor.trimAutoWhitespace": false
}
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// This can be used to network with other containers or with the host.
"forwardPorts": [
4000,
4001,
5432
],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "mix do deps.get, deps.compile, ecto.setup",
// Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}
Loading