Merge pull request #308 from dart-lang/strong_fuzz_tester

Test both weak and strong mode analysis
tree: 7d02b99c20af47eb629826ef36325886a157edff
  1. benchmark/
  2. bin/
  3. doc/
  4. example/
  5. lib/
  6. test/
  7. tool/
  8. .gitignore
  9. .project
  10. .travis.yml
  11. analysis_options.yaml
  12. app.yaml
  13. AUTHORS
  14. CHANGELOG.md
  15. Dockerfile
  16. LICENSE
  17. pubspec.yaml
  18. README.md
README.md

Dart Services

A server backend to support interactive Dart services.

Build Status Coverage Status Uptime Status

What is it? What does it do?

This project is a small, stateless Dart server, which exposes a RESTful API. The API provides services to:

  • analyze Dart code for errors and warnings (/api/dartservices/v1/analyze)
  • compile Dart code (/api/dartservices/v1/compile)
  • perform code completion for a snippet of Dart code (/api/dartservices/v1/complete)
  • get dartdoc tooltip information for a snippet of Dart code (/api/dartservices/v1/document)
  • format Dart code (/api/dartservices/v1/format)
  • get quick fixes for problems in code (/api/dartservices/v1/fixes)

Try it!

A simple DartPad example of how to use the library is here: https://dartpad.dartlang.org/2a7fd9328e0a567ee79b

Project status

The services APIs are running and available to use. Please give it a try! We may still amend them from time to time in a way that causes breaking changes. If you would like to make sure we discuss this with you first, please get in touch to let us know.

The API

The discovery doc for the server's REST API is available here: http://dart-services.appspot.com/api/discovery/v1/apis/dartservices/v1/rest.

Running

To run the server, run:

dart bin/server_dev.dart --port 8082

The server will run from port 8082 and export several JSON APIs, like /api/compile and /api/analyze.

Deploying

To deploy the server to Dart on AppEngine, follow the instructions here.

Modify warmup.dart to point the BASE_URI to your AppEngine project.

Then run

./tools/deploy.sh

The will deploy the server, and run the warmup sequence and sanity checks.

Related projects

See also the dart-pad repo.

Issues and bugs

Please file reports on the GitHub Issue Tracker.

License and Contributing

Contributions welcome! Please read this short guide first. You can view our license here.