dartvel_dev 0.3.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +74 -19
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,37 +1,85 @@
1
1
  # dartvel_dev
2
2
 
3
- A batteries-included, AI-native full-stack application platform built around
4
- Flutter.
3
+ The `dartvel` command for [Dartvel](https://dartvel.dev), a full-stack
4
+ application platform built around Flutter: code generation, a dev server with
5
+ hot reload across the app and its backend, builds for web, mobile, desktop, TV
6
+ and embedded targets, and deployment.
5
7
 
6
8
  ```sh
7
- npx dartvel_dev --help
8
- # or
9
9
  npm install -g dartvel_dev
10
10
  dartvel --help
11
+
12
+ # or without installing
13
+ npx dartvel_dev --help
11
14
  ```
12
15
 
13
- ## No SDK needed to run it
16
+ Installing puts two names on your PATH, `dartvel` and `dartvel_dev`, for the
17
+ same program. [`dartvel_cli`](https://www.npmjs.com/package/dartvel_cli) is an
18
+ alias package that installs this one.
14
19
 
15
- This downloads a self-contained `dartvel` binary for your platform. The Dart
16
- runtime and the Rust server library are linked into it, so nothing has to be
17
- installed first.
20
+ ## What this package does
18
21
 
19
- Building an application still needs Flutter, for whichever target you are
20
- building. Running the CLI does not.
22
+ It is a launcher. The first time it runs, it downloads the self-contained
23
+ `dartvel` binary for your platform from the
24
+ [GitHub release](https://github.com/Danroyal001/dartvel_dev/releases) with the
25
+ same version as this package, checks it against the `SHA256SUMS` published
26
+ with that release, and keeps it in `vendor/` inside the package. Later runs
27
+ start that binary directly. Arguments, output and the exit code pass through
28
+ unchanged.
21
29
 
22
- An earlier version of this package ran `dart pub global activate` instead, and
23
- that could not work: the umbrella package depends on the Flutter SDK, and pub
24
- refuses to run a global executable from a package that does. It activated and
25
- then would not run.
30
+ The Dart runtime and the Rust server library are linked into the binary, so
31
+ nothing has to be installed first. Building an application still needs
32
+ Flutter, for whichever target you are building. Running the CLI does not.
33
+
34
+ A release without a `SHA256SUMS` file still installs, with a message saying the
35
+ download was not verified. A checksum that does not match is an error, and
36
+ nothing is kept.
26
37
 
27
38
  ## Platforms
28
39
 
29
- Linux, macOS and Windows, on x64; Linux and macOS also on arm64. An
30
- unsupported combination says which one rather than fetching a URL that 404s.
40
+ | Platform | Release asset |
41
+ |---|---|
42
+ | Linux x64 | `dartvel-linux-amd64` |
43
+ | Linux arm64 | `dartvel-linux-arm64` |
44
+ | macOS Intel | `dartvel-darwin-amd64` |
45
+ | macOS Apple silicon | `dartvel-darwin-arm64` |
46
+ | Windows x64 | `dartvel-windows-amd64.exe` |
47
+
48
+ Windows on ARM has no build yet; the launcher says so rather than fetching a
49
+ URL that does not exist. The x64 binary runs there under emulation if you
50
+ download it yourself. Node 18 or newer.
31
51
 
32
- The download is checked against the SHA256SUMS published with the release
33
- before it is made executable, so a truncated fetch fails as a checksum
34
- mismatch rather than as a mysterious crash in the tool.
52
+ **For 0.6.0, only the Linux binaries are attached until the CI release
53
+ workflow has run.** Until then, on macOS or Windows the first run fails with
54
+ `HTTP 404` and prints the release page. Use `dartvel_dev@0.5.0` there, or run
55
+ the CLI from a project's dependencies with `dart run dartvel_cli:dartvel` (see
56
+ the [dartvel_cli README](https://pub.dev/packages/dartvel_cli)).
57
+
58
+ ## First steps
59
+
60
+ ```sh
61
+ dartvel create my_app
62
+ cd my_app
63
+ dartvel dev
64
+ ```
65
+
66
+ `dartvel doctor` checks your Dart, Flutter and project setup, and
67
+ `dartvel doctor --target <target>` checks one build target's toolchain. The
68
+ command reference, configuration and troubleshooting are in the
69
+ [dartvel_cli README](https://pub.dev/packages/dartvel_cli).
70
+
71
+ ## Why not `dart pub global activate`
72
+
73
+ An earlier version of this package ran `dart pub global activate dartvel_dev`
74
+ and then the activated command. That cannot work: the `dartvel_dev` package on
75
+ pub.dev depends on the Flutter SDK, and pub refuses to run a global executable
76
+ from such a package. It activated, and then every run failed with:
77
+
78
+ ```text
79
+ dartvel_dev as globally activated requires the Flutter SDK, which is unsupported for global executables.
80
+ ```
81
+
82
+ Downloading the compiled binary avoids pub altogether.
35
83
 
36
84
  ## Why the package is `dartvel_dev` and the command is `dartvel`
37
85
 
@@ -40,3 +88,10 @@ published identifier carries a suffix. The command does not, and neither does
40
88
  anything else you interact with. The same name is used on
41
89
  [pub.dev](https://pub.dev/packages/dartvel_dev), npm and in the
42
90
  [Homebrew tap](https://github.com/Danroyal001/homebrew-dartvel_dev).
91
+
92
+ ## Links
93
+
94
+ - [dartvel.dev](https://dartvel.dev)
95
+ - [Repository](https://github.com/Danroyal001/dartvel_dev)
96
+ - [Releases](https://github.com/Danroyal001/dartvel_dev/releases)
97
+ - [Issues](https://github.com/Danroyal001/dartvel_dev/issues)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dartvel_dev",
3
- "version": "0.3.1",
3
+ "version": "0.6.0",
4
4
  "description": "Dartvel — a batteries-included, AI-native full-stack application platform built around Flutter. This is the npm launcher for the CLI published on pub.dev as dartvel_dev.",
5
5
  "main": "./index.js",
6
6
  "bin": {