Import Basics
Soul provides a flexible import system to organize and reuse code across files.Import Entire Module
Named Imports
Import specific items from a module:Default Exports
Export Syntax
Named Exports
Export Existing Values
Export with Aliases
Module Resolution
Relative Imports
Package Imports
Import installed packages fromsoul_modules
:
Path Aliases
Configure path aliases insoul.json
for cleaner imports:
Module Patterns
Barrel Exports
Create an index file to re-export from multiple modules:Factory Module
Configuration Module
Circular Dependencies
Soul handles circular dependencies, but they should be avoided:Dynamic Imports
For conditional or lazy loading:Module Best Practices
Single Responsibility
Single Responsibility
Each module should have one clear purpose. Don’t mix unrelated functionality.
Clear Exports
Clear Exports
Be explicit about what you export. Don’t export internal helpers.
Avoid Side Effects
Avoid Side Effects
Modules should not execute code on import unless necessary.