IW Support — shared works.iterative Scala libraries
  • Scala 97.3%
  • Shell 1.1%
  • Gherkin 0.9%
  • JavaScript 0.4%
  • PLpgSQL 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
mph 9c1a6350ae
All checks were successful
Publish / Publish to Sonatype Central (push) Has been skipped
Publish / Publish (push) Successful in 5m25s
Merge pull request 'ci(publish): publish releases to Sonatype Central' (#43) from ci/publish-to-central into main
Reviewed-on: #43
2026-08-15 09:52:21 +00:00
.claude/skills IW setup 2026-01-28 20:40:07 +01:00
.git-hooks feat(hooks): Add compilation warning check to pre-push hook 2026-02-12 16:19:08 +01:00
.github/workflows ci(publish): add Sonatype Central publish job for release tags 2026-08-13 21:14:54 +02:00
.iw IW setup 2026-01-28 20:40:07 +01:00
.zed Basic file tree working with shoelace 2024-09-08 22:05:26 +02:00
autocomplete chore: remove sbt build files 2026-02-12 08:21:23 +01:00
codecs/src/main/scala/works/iterative/core/codecs chore: remove sbt build files 2026-02-12 08:21:23 +01:00
core refactor(core): restore Moment.now syntax via an extension on the companion 2026-08-11 18:49:27 +02:00
czech-support Forms consolidation: one shared core for SSR and SPA, proven by a conformance kit (#35) 2026-07-12 21:16:52 +02:00
dev-logs feat(mill): Migrate files ecosystem modules 2025-06-14 22:35:41 +02:00
docs feat(pac4j): session CSRF helpers + constant-time csrfCheck authorizer 2026-07-17 19:57:07 +02:00
e2e-testing Forms consolidation: one shared core for SSR and SPA, proven by a conformance kit (#35) 2026-07-12 21:16:52 +02:00
email/src feat(email): EmailContent supports htmlMessage alternative (#30) 2026-05-28 07:57:31 +02:00
entity/shared/src/main/scala/works/iterative refactor(core): restore Moment.now syntax via an extension on the companion 2026-08-11 18:49:27 +02:00
files fix: resolve all compilation warnings across codebase 2026-02-12 17:02:26 +01:00
forms feat(forms): Datastar transport for the SSR form (#36) 2026-07-13 11:01:12 +02:00
hashicorp/jvm/src chore: remove sbt build files 2026-02-12 08:21:23 +01:00
mongo chore: remove sbt build files 2026-02-12 08:21:23 +01:00
paygate/src/main/scala/works/iterative/service/payment chore: remove sbt build files 2026-02-12 08:21:23 +01:00
pekko-persistence/src/main refactor(MEDECA-386): name the Pekko persistence module after Pekko 2026-07-28 20:31:50 +02:00
project-management feat(forms): Datastar transport for the SSR form (#36) 2026-07-13 11:01:12 +02:00
scenarios/jvm/src/main/scala/works/iterative/scenarios Forms consolidation: one shared core for SSR and SPA, proven by a conformance kit (#35) 2026-07-12 21:16:52 +02:00
server/http/src feat(pac4j): session CSRF helpers + constant-time csrfCheck authorizer 2026-07-17 19:57:07 +02:00
service-specs/shared/src/main/scala/works/iterative/core/service/specs chore: remove sbt build files 2026-02-12 08:21:23 +01:00
sqldb refactor(auth): Split PermissionService into base + mixin traits 2026-02-12 11:12:08 +01:00
sqldb-mysql feat(sqldb): move optional feature migrations out of default Flyway scan path 2026-04-08 00:00:01 +02:00
sqldb-postgresql test(sqldb-postgresql): gate MessageCataloguePerformanceSpec behind RUN_PERF_TESTS 2026-05-01 15:16:55 +02:00
tapir feat(time): parseIso reports what went wrong via Moment.ParseError 2026-08-11 18:49:27 +02:00
time feat(time): parseIso reports what went wrong via Moment.ParseError 2026-08-11 18:49:27 +02:00
ui Forms consolidation: one shared core for SSR and SPA, proven by a conformance kit (#35) 2026-07-12 21:16:52 +02:00
webapp-knowledge Forms consolidation: one shared core for SSR and SPA, proven by a conformance kit (#35) 2026-07-12 21:16:52 +02:00
workflow/shared/src feat(workflow): derive affordances from the enforcing guards 2026-07-14 09:38:36 +02:00
.editorconfig Editor config and scalafmt config. 2023-12-16 22:53:26 +01:00
.envrc Set up CI and git hooks for quality assurance (#20) 2026-01-30 13:35:32 +01:00
.gitignore Forms consolidation: one shared core for SSR and SPA, proven by a conformance kit (#35) 2026-07-12 21:16:52 +02:00
.mill-version chore: update Mill to 1.1.2 2026-02-12 09:26:13 +01:00
.sbtopts Restructure, consul KV store, inline client wip 2023-10-21 16:56:03 +02:00
.scalafix.conf Set up CI and git hooks for quality assurance (#20) 2026-01-30 13:35:32 +01:00
.scalafmt.conf Scalafmt config update. 2024-05-17 14:57:10 +02:00
build.mill chore: bump iw-support to 0.2.2-SNAPSHOT 2026-08-12 13:17:27 +02:00
CONTRIBUTING.md feat(hooks): Add compilation warning check to pre-push hook 2026-02-12 16:19:08 +01:00
flake.lock Flake and plugin version updates 2025-06-05 11:44:23 +02:00
flake.nix Flake and plugin version updates 2025-06-05 11:44:23 +02:00
iw IW update 2026-04-15 08:47:28 +02:00
mill Complete Phase 5: Integration Testing and Validation 2025-12-03 20:29:19 +01:00
package.json Basic file tree working with shoelace 2024-09-08 22:05:26 +02:00
PUBLISHING.md SUPP-24: Dual-publish to e-BS Nexus + GitHub Packages (#27) 2026-05-01 14:53:44 +02:00
README.md SUPP-24: Dual-publish to e-BS Nexus + GitHub Packages (#27) 2026-05-01 14:53:44 +02:00
setup-mill.sh fix: Migrate core module to Mill build system 2025-06-14 22:35:41 +02:00
shell.nix Update the tools versions 2023-10-06 15:56:42 +02:00
yarn.lock Glob package fix 2024-09-09 11:13:15 +02:00

iw-support

Shared support library for Iterative Works / e-BS projects, providing ZIO-based building blocks for HTTP APIs, persistence, UI, and cross-cutting concerns.

Using iw-support

Mill

mvn"works.iterative.support::iw-support-core::0.1.14"

The :: separator is Mill's cross-version notation — the Scala version suffix (_3) is appended automatically. Use a single : only if you need a plain (non-cross-built) coordinate.

sbt

"works.iterative.support" %% "iw-support-core" % "0.1.14"

Resolver: e-BS Nexus

Add the e-BS Nexus resolver to your build if it is not already present. Internal e-BS projects already have this configured.

Mill (build.mill):

def repositoriesTask = T.task {
  super.repositoriesTask() ++ Seq(
    coursier.maven.MavenRepository("https://nexus.e-bs.cz/repository/maven-releases/"),
    coursier.maven.MavenRepository("https://nexus.e-bs.cz/repository/maven-snapshots/")
  )
}

sbt (build.sbt):

resolvers ++= Seq(
  "e-BS Nexus Releases"  at "https://nexus.e-bs.cz/repository/maven-releases/",
  "e-BS Nexus Snapshots" at "https://nexus.e-bs.cz/repository/maven-snapshots/"
)

Resolver: GitHub Packages

To resolve from GitHub Packages you need a GitHub Personal Access Token (PAT) with the read:packages scope.

Mill (build.mill):

def repositoriesTask = T.task {
  super.repositoriesTask() ++ Seq(
    coursier.maven.MavenRepository("https://maven.pkg.github.com/iterative-works/support")
  )
}

sbt (build.sbt):

resolvers += "GitHub Packages iw-support" at "https://maven.pkg.github.com/iterative-works/support"
credentials += Credentials(
  "GitHub Package Registry",
  "maven.pkg.github.com",
  "<github-user>",
  "<pat>"
)

Coursier credentials (~/.config/coursier/credentials.properties):

host=maven.pkg.github.com
username=<github-user>
password=<pat>

Mill (via Coursier) picks these up automatically; no extra resolver credential wiring needed in build.mill.

Available artifacts

Artifact Description
iw-support-core Core ZIO building blocks
iw-support-tapir Tapir HTTP API support
iw-support-mongo MongoDB persistence
iw-support-sqldb SQL database support
iw-support-server-http HTTP server utilities
iw-support-all Aggregate — all modules

Run ./mill resolve __.publishArtifacts for the full list of published coordinates.

UI scenarios development

Pro vývoj je potřeba provést tyto kroky:

  • ./mill -w scenariosUI.fastLinkJS
  • cd ui/scenarios/
  • yarn pokud není nainstalován vite
  • yarn vite .