MicroFeature Architecture Plugin available in Tuist.
In order to tell Tuist you'd like to use MicroFeature plugin in your project follow the instructions that are described in Tuist documentation.
Add the plugin to Config.swift
.
import ProjectDescription
let config = Config(
plugins: [
.git(url: "https://github.com/jihoonahn/microfeature", tag: "vTAG")
]
)
The documentation for releases and main
are available here:
Then import the MicroFeature
from thr location you want to use.
import Microfeature
This plugin refers to Tuist's µFeatures Architecture
.
Microfeature {
Example(name: typeName)
Interface(name: typeName)
Sources(name: typeName)
Testing(name: typeName)
UnitTests(name: typeName)
UITests(name: typeName)
}
This way, you can easily build a target.
When used the basic Tuist
let project = Project(
name: "ExampleProject",
targets: Microfeature {
Example(name: "Example")
Interface(name: "Example")
Sources(name: "Example")
Testing(name: "Example")
UnitTests(name: "Example")
UITests(name: "Example")
}
)
If you use it with TuistUI
Plugin
let project = ExampleModule().module()
struct ExampleModule: Module {
var body: some Module {
Project {
Microfeature {
Example(name: typeName)
Interface(name: typeName)
Sources(name: typeName)
Testing(name: typeName)
UnitTests(name: typeName)
UITests(name: typeName)
}
}
}
}
You can create a more stylish module.
$ tuist scaffold $(templateName) --path $(path) --name $(name)
Template Name
- example
- interface
- sources
- testing
- tests
- uitests
- commandLine
- Until now, it has been made so that only version can be checked, but we plan to add a template function in the future.
microfeature is under MIT license. See the LICENSE file for more info.