Pull request will be closed as soon as possible. Do not waste my time with opening any.
- Recommended manifest format
- Observe blocks sequence and structure from Template
- Naming
- All manifests should use
PascalCase
with first uppercase character- Unless it's some programming related manifest
- docker, blisk, pwsh, ...
- Unless it's some programming related manifest
- All manifests should use
- ALWAYS respect:
- yml typed manifest, when it's supported
yml
extension instead ofyaml
regex
instead ofre
jsonpath
instead ofjp
- Convert array with only 1 string into normal string
- Description
- Include app name at start
- End with dot
"App name. Meaningful description."
- Script Blocks (
installer.script
,post_install
,pre_install
)- Use literal (
|
) blocks instead of folded (>
) - Escape path in script blocks
- Indent code as you would normally do
- Use literal (
- YAML
- Use single quotes
- Don't quote properties
- Don't quote strings
- Unless version is number (integer or float)
- License
- Use url property if it's available
- Use string only, if there is no available url
- Arrays
- Indent arrays
- Bins and Shortcuts
- Use Backslashes
- Do not include
$dir
- Do not create bin for GUI applications
- Unless GUI application have argument handler
- vscode, DWT, ...
- Only use bin for CLIs
- Unless GUI application have argument handler
- Persisting
- Do not include
$dir
- If persising file does not exists after unpacking / installing
- Use this block in
pre_install
orinstaller.script
:- Available via vscode snippet:
persistCheck
- Available via vscode snippet:
- Use this block in
- Do not include
...
pre_install: |
# post_install
# installer.script : |
# Creating default settings
function CreateFile([String] $file, [String] $content = $null) {
if (-not (Test-Path "$persist_dir\$file")) {
Write-Host 'File' $file 'does not exists. Creating.' -f Yellow
Set-Content "$dir\$file" $content -Encoding Ascii
}