lud
Hi,
I need to create modules (predefined Struct based on a JSON schema). To help compiling those modules, I will write a MyCompiler module to provide macros, logics, checks, etc.
But I would like this MyCompiler module not to be compiled itself. Actually I would like to skip producing a beam file for this particular module, so when my code is used (as a dependency) the compiler is not available.
Thank you
Trending in Questions
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
Documentation
While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
Hello,
I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind.
However, when I launch mix phx.server, I get an error...
New
Hi everyone,
I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding.
I sta...
New
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
I’m working on a small exercise involving update_in/3, and I came up with this solution:
data = %{
name: "Periodic Table",
category:...
New
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication):
toke...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ai
- #ecto-query
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #metaprogramming
- #hex











Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
kip
The approach I take for not including some modules in a dependency is this:
my_app/devso that there is nowmy_app/libandmy_app/dev.my_app/devdirectorymix.exsadjust compiler paths to includemy_app/devpackage/0function inmix.exs, don’t include themy_app/devdirectory in the package so the code never makes it to hex.pmlud
I guess it would not work in my case because those modules are required to compile the regular modules.
ityonemo
As far as I can tell this is not supported at the module-level granularity in elixir (I have been begging for this feature). There may be a way to do it with some trickery. If you need something like this you can only do it at the package/deps level by flagging a package as runtime: false.
kip
That’s my understanding too. I would also like to have “compile time” modules - but the only alternative I’m aware of would be to delete the “compile time only” beam files after compilation and that definitely seems like a recipe for future disaster.
ityonemo
I can’t even find an “after compilation” hook lol what is this peasant programming language
kip
You could write your own “compiler” and add it to the end of the compiler chain and use it to clean things up. It just doesn’t feel very clean though.
ityonemo
Oh damn, thanks for the tip
hauleth
It will require that part of the code to be a library (been there) so you can make your compile-time-only module part of such library and then mark it as
runtime: falsewhich will make it to not be included in release (still required as a dependency though).kip
Ahh, thats a neat trick. So to confirm: a dependency marked
runtime: falseis not included in the release package at all? Thats sounds a solid approach with the work being required by the dependency author and not the library consumer (as it should be).hauleth
Unless it will be specified in
:included_applicationsthen it will be fully omitted in the release. However it will still be available for downstream users during their compilation time, the also will be able to opt-in to include that into their release.