Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
4b65f29
dev(doc): Update Readme
karim-semmoud May 13, 2026
8dc6783
dev(content): remove backward compatibility with trigger
karim-semmoud May 13, 2026
2e2469b
dev(e2e): Add behaviour test for Combobox and Switch
karim-semmoud May 13, 2026
8ef95cf
dev(number-input): fix live view update
karim-semmoud May 13, 2026
38ec7d7
dev(toast): Align API name, extend option and add action trigger
karim-semmoud May 13, 2026
5e0b4b5
dev(toast): Improve custom trigger and add e2e examples
karim-semmoud May 13, 2026
7c465d9
Update code_generator_case.ex
karim-semmoud May 14, 2026
9642278
fix(test): duplicate ids
karim-semmoud May 14, 2026
78ca16c
up version
karim-semmoud May 14, 2026
527260f
fix(integration_test): fix paths
karim-semmoud May 15, 2026
3c68d01
test(e2e): fix section and treeview ids
karim-semmoud May 15, 2026
4a6617a
new(component): Tags Input and Toggle
karim-semmoud May 16, 2026
b7423c6
dev(format): pnpm format
karim-semmoud May 16, 2026
6f993a3
dev(tags-input): add Corex Translations
karim-semmoud May 16, 2026
1bb7bd8
fix(design): increase contrast ratio for ink-muted to 5.15
karim-semmoud May 16, 2026
b889760
dev(mode): Use Toggle instead of Toggle group for Mode switcher
karim-semmoud May 16, 2026
9e68473
dev(toggle-group): improve design and demo pages
karim-semmoud May 16, 2026
03bb17c
fix(mode): add sr-only text to Toggle
karim-semmoud May 16, 2026
67cacdf
fix(integration_test): toggle instead of toggle group
karim-semmoud May 16, 2026
0696f87
fix(a11y): links underline
karim-semmoud May 16, 2026
1b7ada6
new(pagination): First version
karim-semmoud May 16, 2026
681f839
Update component_wire.json
karim-semmoud May 16, 2026
ed8a64a
dev(pagination): improve design and examples
karim-semmoud May 16, 2026
d632b5f
dev(404): improve 404 page and fix router
karim-semmoud May 16, 2026
980a3b9
dev(test): Align components e2e test
karim-semmoud May 16, 2026
57dc3ee
dev(doc): improve global doc
karim-semmoud May 16, 2026
7efcf55
fix(test): e2e
karim-semmoud May 17, 2026
69fbc14
dev(animation): use common functions between components
karim-semmoud May 17, 2026
a0017f8
dev(doc): Unification of sections
karim-semmoud May 17, 2026
6ffcc7c
fix(test): e2e
karim-semmoud May 17, 2026
8c31cb0
dev(installer): update design
karim-semmoud May 17, 2026
7f501ec
dev(test): cover missing functions and modules
karim-semmoud May 17, 2026
97e6cba
dev(translation): Improve doc
karim-semmoud May 17, 2026
5ad396a
dev(translation): format
karim-semmoud May 17, 2026
dee7d05
fix(pagination): translation label
karim-semmoud May 17, 2026
7f4283b
core(credo): Fix alias
karim-semmoud May 18, 2026
975e23a
fix(doc): remove duplicate doc
karim-semmoud May 18, 2026
d0ea3be
dev(design): replace raw values by tokens
karim-semmoud May 18, 2026
17af9a4
dev(data-list): refactor for anatomy and items struct
karim-semmoud May 18, 2026
5abea6b
dev(data-table): improve design
karim-semmoud May 18, 2026
faf70a6
Update doc_a11y_routes.ex
karim-semmoud May 18, 2026
d8e452a
fix(data-table): row ids
karim-semmoud May 18, 2026
ac7c641
fix(data-list): test
karim-semmoud May 18, 2026
0b0d267
dev(test): add behaviours and cover all components and modules
karim-semmoud May 18, 2026
8ce3d1e
fix(e2e): test
karim-semmoud May 18, 2026
7f0e1d6
dev(core): credo
karim-semmoud May 18, 2026
6e88da5
dev(core): credo
karim-semmoud May 18, 2026
4852a00
dev(test): animation test
karim-semmoud May 18, 2026
c8e3dd7
dev(doc): sections
karim-semmoud May 18, 2026
bb8b5d5
dev(number_input): add API and update attributes
karim-semmoud May 19, 2026
43e46e1
fix(e2e): test
karim-semmoud May 19, 2026
55a27a5
fix(e2e): test and credo
karim-semmoud May 19, 2026
cd78dd2
dev(color-picker): change default fit_viewport
karim-semmoud May 19, 2026
8482395
fix(e2e): pin-input test wrong id
karim-semmoud May 19, 2026
07b64dd
fix(floating-panel): test ids
karim-semmoud May 19, 2026
2616ac1
dev(core): test coverage
karim-semmoud May 19, 2026
dbfa27f
dev(doc): add API doc and fix demo content
karim-semmoud May 19, 2026
290ad53
dev(layout-heading): allow dynamic tags for title and subtitle
karim-semmoud May 19, 2026
041f0d7
dev(core): lint
karim-semmoud May 19, 2026
238a8f4
Update model.ex
karim-semmoud May 19, 2026
b1faf99
dev(test): fix headings
karim-semmoud May 19, 2026
eae6f67
Update connect.ex
karim-semmoud May 19, 2026
8821437
dev(dialog): remove controlled mode
karim-semmoud May 19, 2026
833f5df
dev(e2e): test
karim-semmoud May 19, 2026
f78ced7
dev(core): fix naming and attributes across all components
karim-semmoud May 20, 2026
4b76af5
dev(installer): add test
karim-semmoud May 20, 2026
84d3354
dev(test): format
karim-semmoud May 20, 2026
3616ade
dev(installer): test and add lint
karim-semmoud May 20, 2026
e1c21ae
dev(installer): test and credo
karim-semmoud May 20, 2026
b3fc236
fex(installer): helper
karim-semmoud May 20, 2026
28f1033
dev(installer): test
karim-semmoud May 20, 2026
e207b97
dev(installer): update design
karim-semmoud May 20, 2026
4c11235
dev(design): sync all design
karim-semmoud May 20, 2026
f396df0
dev(core): hooks and components ts test
karim-semmoud May 20, 2026
e9f42ad
dev(core): pnpm format
karim-semmoud May 20, 2026
e2bcef1
dev(core): pnpm format
karim-semmoud May 20, 2026
0ba41dd
Update corex_new_cli_test.exs
karim-semmoud May 20, 2026
df09648
Update config.exs
karim-semmoud May 20, 2026
6171b2a
dev(core): ts lint
karim-semmoud May 20, 2026
d01e085
dev(core): CI ts test
karim-semmoud May 20, 2026
285b422
dev(core): e2e npm
karim-semmoud May 20, 2026
a1d2152
dev(core): Add Translation and blog
karim-semmoud May 20, 2026
5b6607f
dev(installer): test
karim-semmoud May 20, 2026
a5109d3
Update corex.new.ex
karim-semmoud May 20, 2026
8bf629a
dev(e2e): test routes
karim-semmoud May 21, 2026
ac98d0a
dev(e2e): fix test
karim-semmoud May 21, 2026
85c0e7d
dev(e2e): fix test
karim-semmoud May 21, 2026
65dde42
Update blog_live_test.exs
karim-semmoud May 21, 2026
1901e7e
dev(doc): improve api sections
karim-semmoud May 21, 2026
9f3c289
dev(blog): translate article to arabic
karim-semmoud May 22, 2026
b64e8da
new(e2e): add Tetrex game
karim-semmoud May 22, 2026
a8cf6e1
dev(e2e): fix tetrex test
karim-semmoud May 23, 2026
d9cd28f
dev(core): fix sobelow warning
karim-semmoud May 23, 2026
c003df2
dev(e2e): credo
karim-semmoud May 23, 2026
703ce99
Update tsconfig.json
karim-semmoud May 23, 2026
fd26ee8
dev(e2e): fix test
karim-semmoud May 23, 2026
51a74b9
dev(e2e): fix Tetrex test
karim-semmoud May 23, 2026
79521e9
dev(e2e): add replay to seeeds
karim-semmoud May 23, 2026
2ef4af0
dev(e2e): update and translate posts
karim-semmoud May 23, 2026
56a2bda
dev(e2e): lint
karim-semmoud May 23, 2026
f96ecd1
new(usage-rule): Add Corex usage rules
karim-semmoud May 23, 2026
89cc4f7
dev(core): remove unused files
karim-semmoud May 23, 2026
80125f4
dev(core): fix tsconfig resolution for LiveView types
karim-semmoud May 23, 2026
424ccfc
dev(e2e): add mobile control to tetrex
karim-semmoud May 23, 2026
0cbb74a
dev(integration): fix home test
karim-semmoud May 24, 2026
42f7305
dev(core): deps update
karim-semmoud May 24, 2026
ceaef43
dev(e2e): fix form examples
karim-semmoud May 24, 2026
04bfee6
dev(e2e): format and lint
karim-semmoud May 24, 2026
fb490c9
dev(core): Update installer and demo to use Dialog alert instead of n…
karim-semmoud May 24, 2026
b3493b7
dev(e2e): update design
karim-semmoud May 24, 2026
1f6d8c0
dev(design): improve angle slider and toast
karim-semmoud May 24, 2026
f60d4cd
dev(core): lint
karim-semmoud May 24, 2026
82031c7
dev(e2e): fix form in Live View
karim-semmoud May 24, 2026
5f78f19
dev(e2e): fix all form examples
karim-semmoud May 24, 2026
ff2f11e
dev(e2e): fix form examples
karim-semmoud May 24, 2026
42a4c77
dev(integration): lint and format
karim-semmoud May 24, 2026
abea0e0
dev(e2e): test
karim-semmoud May 24, 2026
bf5606c
dev(e2e): fix test
karim-semmoud May 24, 2026
e2bcbb6
dev(e2e): form test
karim-semmoud May 24, 2026
b99a81c
dev(generators): update corex gen
karim-semmoud May 24, 2026
1325713
deps(core): RC version
karim-semmoud May 24, 2026
78451d3
dev(generator): add test
karim-semmoud May 24, 2026
0ea09a3
dev(e2e): lint
karim-semmoud May 24, 2026
697018a
dev(e2e): fix form test
karim-semmoud May 24, 2026
5858d87
dev(integration): fix module name
karim-semmoud May 24, 2026
f90add3
dev(tree-view): fix API demo page
karim-semmoud May 24, 2026
6ec0b6d
dev(generator): formating
karim-semmoud May 24, 2026
86d8e42
dev(core): lint
karim-semmoud May 24, 2026
286a640
dev(e2e): add source to action and navigate
karim-semmoud May 24, 2026
5dae7b0
dev(core): lint
karim-semmoud May 24, 2026
a6392ef
dev(e2e): fix checkbox and select test
karim-semmoud May 24, 2026
b4ac4da
dev(e2e): lint
karim-semmoud May 24, 2026
21accca
dev(generator): add Translations
karim-semmoud May 24, 2026
7712f63
dev(integration): format
karim-semmoud May 24, 2026
87de731
dev(installer): fix test
karim-semmoud May 24, 2026
6d51ec5
dev(core): update array in select and tags input
karim-semmoud May 24, 2026
df58668
dev(core): format
karim-semmoud May 24, 2026
3a47f25
dev(e2eà: fix form
karim-semmoud May 24, 2026
2587097
dev(e2e): lint
karim-semmoud May 24, 2026
24318fc
dev(e2e): lint
karim-semmoud May 24, 2026
2750fae
dev(e2e): inputs tag migration
karim-semmoud May 24, 2026
276d3ad
dev(core): align form components
karim-semmoud May 25, 2026
66784f3
dev(e2e): fix test
karim-semmoud May 26, 2026
c1645b7
fix(signature): input name
karim-semmoud May 26, 2026
c64ac4b
dev(e2e): fix form component examples
karim-semmoud May 26, 2026
9db5751
dev(e2e): no e2e in hex doc
karim-semmoud May 26, 2026
d638547
dev(e2e): design
karim-semmoud May 26, 2026
8f1a84a
dev(core): hex doc parity
karim-semmoud May 26, 2026
6d5935d
dev(doc): fix doc
karim-semmoud May 26, 2026
d43a467
dev(doc): hide doc parity
karim-semmoud May 26, 2026
6629191
dev(core): unify form components
karim-semmoud May 26, 2026
b5c7a88
dev(e2e): native input test
karim-semmoud May 26, 2026
cb68ffa
dev(e2e): fix radio group test
karim-semmoud May 26, 2026
0428c9e
dev(e2e): lint
karim-semmoud May 26, 2026
0faeb04
dev(e2e): fix native input test
karim-semmoud May 26, 2026
0bba93d
dev(e2e): radio group test
karim-semmoud May 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
67 changes: 65 additions & 2 deletions .credo.exs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"apps/*/test/",
"apps/*/web/"
],
excluded: [~r"/_build/", ~r"/deps/", ~r"/node_modules/"]
excluded: [~r"/_build/", ~r"/deps/", ~r"/node_modules/", "e2e/"]
},
#
# Load and configure plugins here:
Expand Down Expand Up @@ -201,7 +201,70 @@
{Credo.Check.Warning.UnusedRegexOperation, []},
{Credo.Check.Warning.UnusedStringOperation, []},
{Credo.Check.Warning.UnusedTupleOperation, []},
{Credo.Check.Warning.WrongTestFilename, []}
{Credo.Check.Warning.WrongTestFilename, []},
# Error Handling
{OeditusCredo.Check.Warning.MissingErrorHandling, []},
{OeditusCredo.Check.Warning.SilentErrorCase, []},
{OeditusCredo.Check.Warning.SwallowingException, []},
# Database & Performance
{OeditusCredo.Check.Warning.InefficientFilter, []},
{OeditusCredo.Check.Warning.NPlusOneQuery, []},
{OeditusCredo.Check.Warning.MissingPreload, []},
# LiveView & Concurrency
{OeditusCredo.Check.Warning.UnmanagedTask, []},
{OeditusCredo.Check.Warning.SyncOverAsync, []},
{OeditusCredo.Check.Warning.MissingHandleAsync, []},
{OeditusCredo.Check.Warning.MissingThrottle, []},
{OeditusCredo.Check.Warning.InlineJavascript, []},
# Readability
{OeditusCredo.Check.Readability.UnnecessaryInterpolatingSigil, []},
# Code Quality
{OeditusCredo.Check.Warning.DirectStructUpdate, []},
{OeditusCredo.Check.Warning.CallbackHell, [max_nesting: 2]},
{OeditusCredo.Check.Warning.BlockingInPlug, []},
{OeditusCredo.Check.Warning.UnsafeMapAccess, []},
# Refactoring Suggestions
{OeditusCredo.Check.Refactoring.SuggestFSM, []},
# Telemetry & Observability
{OeditusCredo.Check.Warning.MissingTelemetryInObanWorker, []},
{OeditusCredo.Check.Warning.MissingTelemetryInLiveViewMount, []},
{OeditusCredo.Check.Warning.TelemetryInRecursiveFunction, []},
{OeditusCredo.Check.Warning.MissingTelemetryInAuthPlug, []},
{OeditusCredo.Check.Warning.MissingTelemetryForExternalHttp, []},
# Security - Injection
{OeditusCredo.Check.Security.SQLInjection, []},
{OeditusCredo.Check.Security.OSCommandInjection, []},
{OeditusCredo.Check.Security.CodeInjection, []},
{OeditusCredo.Check.Security.XSSVulnerability, []},
# Security - Auth
{OeditusCredo.Check.Security.MissingAuthentication, []},
{OeditusCredo.Check.Security.MissingAuthorization, []},
{OeditusCredo.Check.Security.IncorrectAuthorization, []},
{OeditusCredo.Check.Security.InsecureDirectObjectReference, []},
# Security - Data Protection
{OeditusCredo.Check.Security.SensitiveDataExposure, []},
{OeditusCredo.Check.Security.HardcodedCredentials,
[files: %{excluded: ["lib/components/"]}]},
{OeditusCredo.Check.Security.UnsafeDeserialization, []},
# Security - Input & File Handling
{OeditusCredo.Check.Security.ImproperInputValidation, []},
{OeditusCredo.Check.Security.PathTraversal,
[files: %{excluded: ["lib/mix/", "test/mix/", "test/corex/", "lib/corex/doc_parity.ex"]}]},
{OeditusCredo.Check.Security.UnrestrictedFileUpload, []},
# Security - Web
{OeditusCredo.Check.Security.MissingCSRFProtection,
[
files: %{
excluded: [
"lib/mcp/router.ex",
~r"/e2e_web/router\.ex$",
~r"/e2e_web/seo\.ex$"
]
}
]},
{OeditusCredo.Check.Security.SSRFVulnerability, []},
# Security - Race Conditions
{OeditusCredo.Check.Security.TOCTOU, []}
],
disabled: [
#
Expand Down
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

github: [corex-ui]
201 changes: 191 additions & 10 deletions .github/workflows/elixir.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,142 @@ env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
lint:
name: Lint
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

- name: Set up Elixir
uses: erlef/setup-beam@3580539ceec3dc05b0ed51e9e10b08eb7a7c2bb4
with:
elixir-version: "1.18.4"
otp-version: "27.3"

- name: Restore Corex dependencies cache
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306
with:
path: |
deps
_build
key: deps-${{ runner.os }}-27.3-1.18.4-${{ hashFiles('**/mix.lock') }}
restore-keys: |
deps-${{ runner.os }}-27.3-1.18.4

- name: Install Corex dependencies
run: mix deps.get
env:
MIX_ENV: test

- name: Elixir — Corex
run: mix lint
env:
MIX_ENV: test

- name: Elixir — build docs
run: mix docs
env:
MIX_ENV: docs

- name: Restore E2E dependencies cache
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306
with:
path: |
e2e/deps
e2e/_build
key: deps-e2e-${{ runner.os }}-27.3-1.18.4-${{ hashFiles('e2e/mix.lock') }}
restore-keys: |
deps-e2e-${{ runner.os }}-27.3-1.18.4

- name: Install E2E dependencies
working-directory: e2e
run: mix deps.get
env:
MIX_ENV: test

- name: Elixir — E2E
working-directory: e2e
run: mix lint
env:
MIX_ENV: test

- name: Install installer dependencies
working-directory: installer
run: mix deps.get
env:
MIX_ENV: test

- name: Elixir — installer
working-directory: installer
run: mix lint
env:
MIX_ENV: test

- name: Install integration test dependencies
working-directory: integration_test
run: mix deps.get
env:
MIX_ENV: test

- name: Elixir — integration test
working-directory: integration_test
run: mix lint
env:
MIX_ENV: test

- name: Set up pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1
with:
version: 10.33.0

- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: "24"
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- name: Install JavaScript dependencies
run: pnpm install --frozen-lockfile

- name: TypeScript — typecheck
run: pnpm run typecheck

- name: TypeScript — format
run: pnpm run format:check

- name: TypeScript — ESLint
run: pnpm run lint

- name: TypeScript — component declarations
run: pnpm run gen:components-dts:check

hooks:
name: Hooks
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

- name: Set up pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1
with:
version: 10.33.0

- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: "24"
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- name: Install JavaScript dependencies
run: pnpm install --frozen-lockfile

- name: Vitest — hooks and components
run: pnpm test

unit-tests:
name: Unit tests (OTP ${{ matrix.otp }} | Elixir ${{ matrix.elixir }})
runs-on: ubuntu-24.04
Expand Down Expand Up @@ -57,18 +193,37 @@ jobs:
- name: Install dependencies
run: mix deps.get

- name: Verify version alignment
if: matrix.coveralls
run: |
COREX_V=$(grep '@version' mix.exs | head -1 | sed -n 's/.*"\([^"]*\)".*/\1/p')
PKG_V=$(sed -n 's/.*"version": "\([^"]*\)".*/\1/p' package.json | head -1)
INST_V=$(grep '@version' installer/mix.exs | head -1 | sed -n 's/.*"\([^"]*\)".*/\1/p')
test "$COREX_V" = "$PKG_V" && test "$COREX_V" = "$INST_V"

- name: Set up pnpm
if: matrix.coveralls
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1
with:
version: 10.33.0

- name: Set up Node.js
if: matrix.coveralls
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: "24"
cache: npm
cache-dependency-path: package.json
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- name: Install npm dependencies
run: npm install
- name: Install JavaScript dependencies
if: matrix.coveralls
run: pnpm install --frozen-lockfile

- name: Check JavaScript (prettier + eslint)
run: npm run check
- name: Verify installer design snapshot
if: matrix.coveralls
run: |
mix assets.build
diff -rq priv/design/corex installer/priv/corex_design/corex

- name: Run tests and post coverage to Coveralls
if: matrix.coveralls
Expand Down Expand Up @@ -124,7 +279,7 @@ jobs:

- name: Install e2e JS dependencies
working-directory: e2e
run: pnpm install --frozen-lockfile
run: pnpm install --frozen-lockfile --ignore-workspace

- name: Set up Elixir
uses: erlef/setup-beam@3580539ceec3dc05b0ed51e9e10b08eb7a7c2bb4
Expand Down Expand Up @@ -163,6 +318,8 @@ jobs:
installer-tests:
name: Installer tests (OTP ${{ matrix.otp }} | Elixir ${{ matrix.elixir }})
runs-on: ubuntu-24.04
env:
MIX_ENV: test

strategy:
matrix:
Expand All @@ -189,17 +346,28 @@ jobs:
path: |
installer/deps
installer/_build
key: deps-installer-${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-${{ hashFiles('installer/mix.lock') }}
key: deps-installer-${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-${{ hashFiles('installer/mix.lock', 'installer/mix.exs') }}-test-support
restore-keys: |
deps-installer-${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}

- name: Install installer dependencies
working-directory: installer
run: mix deps.get

- name: Run installer tests
- name: Install phx_new archive for installer coverage
run: mix archive.install hex phx_new --force

- name: Run installer tests with coverage
working-directory: installer
run: mix test
run: |
mix compile --force
mix test --cover --exclude integration

- name: Run installer integration tests
working-directory: installer
run: |
mix compile --force
mix test --only integration

- name: Verify corex_new archive embeds priv design snapshot
working-directory: installer
Expand All @@ -221,6 +389,8 @@ jobs:
otp: 26.2.5.2
- elixir: 1.18.4
otp: 27.3
- elixir: 1.18.4
otp: 28.0.1

services:
postgres:
Expand Down Expand Up @@ -262,14 +432,25 @@ jobs:

- name: Install installer dependencies and local corex_new archive
working-directory: installer
env:
MIX_ENV: test
run: |
mix deps.get
mix compile --force
mix archive.build -o corex_new.ez
mix archive.install corex_new.ez --force

- name: Install Mix archives for corex.new (phx_new)
run: mix archive.install hex phx_new --force

- name: Run installer integration test
working-directory: installer
env:
MIX_ENV: test
run: |
mix compile --force
mix test --only integration

- name: Run integration tests (no database tag)
working-directory: integration_test
env:
Expand Down
16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,15 @@ corex-*.tar
# Temporary files, for example, from tests.
/tmp/

# Accidental mix corex.gen.* output in the library root (tests use :mix_test_output).
/lib/corex_web/
/test/corex_web/
/priv/repo/

/node_modules/

/assets/corex/

/playground/

.cursor
Expand All @@ -46,3 +53,12 @@ corex-*.tar
.dexter.db*

/.claude/

/e2e/docs/


/.expert/

/.cursor/

/.vscode/
2 changes: 1 addition & 1 deletion .sobelow-conf
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[exit: false, format: "txt", ignore_files: [], ignore: ["Traversal.FileModule", "RCE.EEx"], out: nil, private: false, router: nil, skip: false, threshold: :low, verbose: false, version: false]
[exit: false, format: "txt", ignore_files: [], ignore: ["Traversal.FileModule", "RCE.EEx", "Config"], out: nil, private: false, router: nil, skip: false, threshold: :low, verbose: false, version: false]
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"elixir.credo.strictMode": true,
"elixir.credo.lintEverything": false
}
Loading
Loading