Stagehand helps you get your Dart projects set up and ready for the big show. It is a Dart project scaffolding generator, inspired by tools like Web Starter Kit and Yeoman.
console-full
- A command-line application sample.package-simple
- A starting point for Dart libraries or applications.server-shelf
- A web server built using the shelf package.web-angular
- A web app with material design components.web-simple
- A web app that uses only core Dart libraries.web-stagexl
- A starting point for 2D animation and games.Requirements:
To install:
> pub global activate stagehand
To update, run activate again:
> pub global activate stagehand
Stagehand will generate a project skeleton into the current directory. As an example, here is how you create a package with Stagehand:
> mkdir fancy_project
> cd fancy_project
> stagehand package-simple
And to list all of the project templates:
> stagehand
Please file reports on the GitHub Issue Tracker.
Contributions welcome! Please read this short guide first.
Learn more about how Stagehand uses Google Analytics for measuring usage and error reporting, and how you can opt out.
All templates:
web-angular
template:
angular
packages.web-angular
template: Disabled the Angular analyzer plugin. To re-enable
the plugin, edit analysis_options.yaml
and uncomment the two lines
plugins: ... angular
.strong-mode: true
from all analysis_options.yaml
files.All templates:
test
to ^1.0.0
..gitignore
.web-angular
template:
angular_components
import directives.-beta
versions of angular
, angular_components
,
and angular_test
build_runner ^0.9.0
lib/src
. Importing them directly is no longer
supported.pubspec.yaml
.web-angular
template:-alpha+13
versions of angular
and angular_components
packages.Project and template file changes:
In pubspec.yaml
files:
web-angular
template:
-alpha+12
versions of angular
and
angular_components
packages.web-
templates:package:build_web_compilers
.web-angular
template:angular_compiler
to ensure compatibility.Project and template file changes:
pubspec.yaml
files:browser
</del> package dependency.test
0.12.30, which supports running tests under headless chrome.version
to 1.0.0 for all templates, and commented it out.JSON
, PI
, etc. to json
, pi
, etc.Server-shelf template changes:
int.parse()
to int.tryParse()
.async
/await
and proper pattern from exiting a binary on error.Web-angular template changes:
analysis_options.yaml
:uri_has_not_been_generated: ignore
.pubspec.yaml
changes:dev_dependencies
for build_runner
,
build_test
, and build_web_compilers
.pageloader
.web/index.html
:<script defer src="packages/browser/dart.js"></script>
</del>.<script defer src="main.dart" type="application/dart"></script>
</del> by<br>
<script defer src="main.dart.js"></script>
.web/main.dart
:import 'package:__projectName__/app_component.template.dart' as ng;
.bootstrap(AppComponent)
</del> by
runApp(ng.AppComponentNgFactory);
.test/app_test.dart
:@Tags(const ['aot'])
</del>.@AngularEntrypoint()
</del>.import 'package:angular/angular.dart'
<del>.import 'app_test.template.dart' as ng;
.ng.initReflector();
at the start of main()
.CORE_DIRECTIVES
→ coreDirectives
.const
</del> qualifier from literals used used in metadata annotations.ClassProvider
.Web-simple template changes:
pubspec.yaml
changes:dev_dependencies
for build_runner
and
build_web_compilers
.web/index.html
:<script defer src="packages/browser/dart.js"></script>
</del>.<script defer src="main.dart" type="application/dart"></script>
by<br>
<script defer src="main.dart.js"></script>
.Web-stagexl template changes:
pubspec.yaml
changes:browser
and dart_to_js_script_rewriter
packages.dev_dependencies
for build_runner
and
build_web_compilers
..dart_tool
to .gitignore
files.web-angular
to angular_components
0.8.0.web-angular
template pubspec: using angular_components
0.7.0.close_sinks
lint from all analysis options files.dart-lang
GitHub org.web-angular
to angular
4 and angular_components
0.6.0.sdk
dependency so that Stagehand can work with
2.0.0-dev.* releases.web-angular
to use lib/src
for everything but the
main app.web-angular
and
web-simple
templates, demonstrating how to make pub serve
use dartdevc.web-angular
and web-simple
templates.web-angular
template.web-simple
template.server-shelf
from "Shelf Web Server" to
"Web Server".platform_*
options from web-angular
.web-angular-simple
and console-simple
templates:web-angular-simple
now uses
https://github.com/angular-examples/quickstart.web-angular
template:angular_test
based tests to web-angular-simple.web-angular-*
templates:angular2_components
to angular_components
.pubspec.yaml
:angular
to 3.0.0angular_components
to 0.5.0index.html
<base href>
initialization script.web-stagexl
template.analysis_options.yaml
for all templates.pubspec.yaml
for all templates.^
notation for versions.1.20.1
..gitginore
for all templates.packages
directory. They are not not generated
with SDK 1.20.1+.build
directory, which is already ignored..gitignore
.web-angular-simple
to have copyrights and various project
support files such as LICENSE
.web-angular
to use global styles.css
. Also tweaked hello_dialog.dart
,
and added project support files like LICENSE
..analysis_options
files to analysis_options.yaml
.web-angular*/web/index.html
to generate a base href.web-angular-quickstart
to web-angular-simple
.web-angular
to use angular2_components
and to follow
best practices.web-angular-quickstart
, a copy of the Angular docs' first example.web-polymer
.web-angular
to ^2.2.0
.web-angular
pubspec.web-angular
to ^2.0.0
.dart_to_js_script_rewriter
dependency to a dev_dependency..analysis_options
files for all templates.Console Application
to Simple Console Application
.Uber Simple Web Application
to Simple Web Application
.App Engine Application
sample.web-angular
to 2.0.0-beta.21
..analysis_options
file to all templates.web-angular
.web-angular
to 2.0.0-beta.20
.web-angular
to 2.0.0-beta.18
.web-angular
to 2.0.0-beta.17
.web-angular
to 2.0.0-beta.16
.web-angular
to 2.0.0-beta.15
.web-angular
to 2.0.0-beta.13.1
.web-angular
to 2.0.0-beta.12
. Also changed imports:angular2.dart
-> core.dart
bootstrap.dart
-> platform/browser.dart
web-polymer
template, which was broken in 1.0.2.library
directives almost everywhere.web-angular
to 2.0.0-beta.9
.web-angular
to 2.0.0-beta.6
. Also added a description
and dart_to_js_script_rewriter to the pubspec.web-angular
to 2.0.0-beta.3
.web-simple
to use <script defer...>
instead of <script async...>
.web-angular
to 2.0.0-beta.0
.web-polymer
app bindings.console-full
.web-angular
template for an Angular2 (alpha) app.server-appengine
to use shelf
..gitignore
files.1.0.0-rc.1
).console-simple
template.web-simple
and web-full
templates.test
package.web-full
sample now reverses the text on page load.web-
: web-simple
, web-full
, and
web-polymer
.usage
.usage
.usage
library for Google Analytics.ubersimplewebapp
template.appengineapp
template (thanks @wibling!).label
attribute to the templates and to the --machine
output.shelfapp
template to shelfserver
.--version
command-line option.webapp
template optional; added instructions in
the template about how to enable it.-o
option; we now generate the selected template into the
current directory.webapp
template.polymer
template was renamed to polymerapp
.helloworld
to consoleapp
.polymer
template.shelfapp
template.You can install the package from the command line:
$ pub global activate stagehand
The package has the following executables:
$ stagehand
Add this to your package's pubspec.yaml file:
dependencies:
stagehand: ^3.1.2
You can install packages from the command line:
with pub:
$ pub get
with Flutter:
$ flutter packages get
Alternatively, your editor might support pub get
or flutter packages get
.
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
import 'package:stagehand/stagehand.dart';
Version | Uploaded | Documentation | Archive |
---|---|---|---|
3.2.0 | Jan 30, 2019 |
|
|
3.1.5 | Dec 17, 2018 |
|
|
3.1.4 | Nov 19, 2018 |
|
|
3.1.3 | Sep 4, 2018 |
|
|
3.1.2 | Aug 7, 2018 |
|
|
3.1.1 | Jul 23, 2018 |
|
|
3.1.0 | Jul 16, 2018 |
|
|
3.0.2 | Jul 12, 2018 |
|
|
3.0.1 | Jul 3, 2018 |
|
|
3.0.0 | Jun 4, 2018 |
|
|
Popularity:
Describes how popular the package is relative to other packages.
[more]
|
46
|
Health:
Code health derived from static analysis.
[more]
|
99
|
Maintenance:
Reflects how tidy and up-to-date the package is.
[more]
|
90
|
Overall:
Weighted score of the above.
[more]
|
71
|
We analyzed this package on Feb 14, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
Detected platforms: Flutter, web, other
No platform restriction found in primary library
package:stagehand/stagehand.dart
.
Fix lib/src/common.dart
. (-1 points)
Analysis of lib/src/common.dart
reported 2 hints:
line 123 col 7: Use isNotEmpty instead of length
line 133 col 31: Use =
to separate a named parameter from its default value.
Fix lib/stagehand.dart
. (-0.50 points)
Analysis of lib/stagehand.dart
reported 1 hint:
line 65 col 68: Use =
to separate a named parameter from its default value.
Maintain an example. (-10 points)
Create a short demo in the example/
directory to show how to use this package.
Common filename patterns include main.dart
, example.dart
, and stagehand.dart
. Packages with multiple examples should provide example/README.md
.
For more information see the pub package layout conventions.
Package | Constraint | Resolved | Available |
---|---|---|---|
Direct dependencies | |||
Dart SDK | >=2.0.0 <3.0.0 | ||
args | ^1.0.0 | 1.5.1 | |
http | ^0.11.0 | 0.11.3+17 | 0.12.0+1 |
path | ^1.3.0 | 1.6.2 | |
usage | ^3.0.0 | 3.4.1 | |
Transitive dependencies | |||
async | 2.0.8 | ||
charcode | 1.1.2 | ||
collection | 1.14.11 | ||
http_parser | 3.1.3 | ||
meta | 1.1.7 | ||
source_span | 1.5.4 | ||
string_scanner | 1.0.4 | ||
term_glyph | 1.1.0 | ||
typed_data | 1.1.6 | ||
Dev dependencies | |||
build | ^0.12.6 | ||
build_config | ^0.3.0 | ||
build_runner | ^0.10.0 | ||
glob | ^1.1.5 | ||
grinder | ^0.8.0 | ||
source_gen | ^0.8.1+1 | ||
test | ^1.0.0 | ||
yaml | ^2.1.2 |