Creating a library is great, in particular if one wants to avoid doing duplicated code, but the library can also be released with a command line interface for simple tasks (or tests).
A Dart package (or library) can be created using dart create command, the --template flag define which kind of skeleton will be used for the project, in this case, it will be a package project.
dart create --template package mycli
The tree generated is straightforward and contains only the required files to do a successful build.
$ tree
.
├── analysis_options.yaml
├── CHANGELOG.md
├── example
│ └── mycli_example.dart
├── lib
│ ├── mycli.dart
│ └── src
│ └── mycli_base.dart
├── pubspec.lock
├── pubspec.yaml
├── README.md
└── test
└── mycli_test.dart
5 directories, 9 files
Let try to run the code with dart run.
$ dart run
Resolving dependencies in `/home/user/tmp/dart/mycli`...
Downloading packages...
Got dependencies in `/home/user/tmp/dart/mycli`.
Could not find `bin/mycli.dart` in package `mycli`.
It fails. Why? Because no executables entry-points have been defined somewhere. Let creates ./bin/main.dart file, simply containing a main() function.
mkdir bin
cat > bin/mycli.dart << EOF
void main() {
print("hello");
}
EOF
Now, we can try to run it. It should not fail.
$ dart run
hello
It works! If you want to define custom command line application, a list of executables can be defined in pubspec.yaml.
Image Cover by Clem Onojeghuo on Unsplash
United States
NORTH AMERICA
Related News
Amazon Employees Are 'Tokenmaxxing' Due To Pressure To Use AI Tools
20h ago
UCP Variant Data: The #1 Reason Agent Checkouts Fail
6h ago

Décryptage technique : Comment builder un téléchargeur de vidéos Reddit performant (DASH, HLS & WebAssembly)
16h ago
How Braze’s CTO is rethinking engineering for the agentic area
10h ago
Encryption Protocols for Secure AI Systems: A Practical Guide
20h ago