Hello!
I am relatively new to Clojure and ClojureScript world and feel a little confused about my possibilities in setting a convenient folders structure.
In JavaScript/React world, where I have arrived from I, can create conveniently nested folders for a single component in the following way:
src
components
molecules // Following Atomic Design Methodology.
Search
index.js // This one for convenient imports outside.
Search.tsx // This is where the main code is.
Search.css // Styles for Search component.
Search.test.tsx // Tests.
Search.stories.js // File for creating components page in Storybook.
subcomponents
LensIcon
...
In ClojureScript projects, I’ve seen the structure was quite primitive: just the list of cljs
files in src/pages
with the mix of markdown, logic, and styles. Specs were in a separate folder copying at some point the structure of the components folder.
I’ve tried to implement what I’ve seen in the JS world but faced some obstacles: folders are treated as packages, and thus my imports are getting longer. Instead of writing (:require [app.components.molecules.search :as search])
I need to write (:require [app.components.molecules.search.search :as search])
.
Is it possible to implement the folders structure I try to? Or is there may be some other convenient way that I do not know about and should become aware of?