@runqk/cli 0.0.0 → 0.1.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 (3) hide show
  1. package/README.md +28 -4
  2. package/bin/qk.js +28 -2
  3. package/package.json +13 -17
package/README.md CHANGED
@@ -1,5 +1,29 @@
1
- # @runqk/cli
1
+ # qk
2
2
 
3
- This 0.0.0 package bootstraps trusted publishing for qk, the Rust task runner.
4
- It contains no native binary and is not a functional CLI release.
5
- Future releases are built by https://github.com/Pajn/qk.
3
+ qk (quick) is a standalone task runner written in Rust. It reads
4
+ Nx-compatible workspace configuration and supports dependency ordering,
5
+ affected selection, task caching and run history.
6
+
7
+ ## npm installation
8
+
9
+ ```sh
10
+ npm install --global @runqk/cli
11
+ qk --help
12
+ ```
13
+
14
+ The npm package is `@runqk/cli`; its command is `qk`. Platform binaries are
15
+ installed as optional dependencies from the `@runqk` organization.
16
+ Supported platforms are Linux x64 and arm64, macOS arm64 and Windows x64.
17
+
18
+ ```sh
19
+ qk show projects
20
+ qk run web:build
21
+ qk run-many -t build,test --parallel 4
22
+ qk affected -t build,test --base main
23
+ ```
24
+
25
+ The `qk-cli` 0.0.0 package on crates.io is a metadata-only prerelease, not
26
+ an installable CLI. npm installation becomes available with the first
27
+ published `@runqk/cli` release.
28
+
29
+ Licensed under either MIT or Apache-2.0, at your option.
package/bin/qk.js CHANGED
@@ -1,3 +1,29 @@
1
1
  #!/usr/bin/env node
2
- console.error('@runqk/cli 0.0.0 only bootstraps trusted publishing; the qk executable is not included.');
3
- process.exitCode = 1;
2
+ 'use strict'
3
+
4
+ const PLATFORMS = {
5
+ darwin: {
6
+ arm64: '@runqk/cli-darwin-arm64/qk',
7
+ },
8
+ linux: {
9
+ arm64: '@runqk/cli-linux-arm64/qk',
10
+ x64: '@runqk/cli-linux-x64/qk',
11
+ },
12
+ win32: {
13
+ x64: '@runqk/cli-win32-x64/qk.exe',
14
+ },
15
+ }
16
+
17
+ const binPath = PLATFORMS[process.platform]?.[process.arch]
18
+
19
+ if (!binPath) {
20
+ console.error(`Unsupported platform: ${process.platform} ${process.arch}`)
21
+ process.exit(1)
22
+ }
23
+
24
+ const bin = require.resolve(binPath)
25
+ const result = require('child_process').spawnSync(bin, process.argv.slice(2), { stdio: 'inherit' })
26
+ if (result.error) {
27
+ throw result.error
28
+ }
29
+ process.exitCode = result.status ?? 1
package/package.json CHANGED
@@ -1,29 +1,25 @@
1
1
  {
2
2
  "name": "@runqk/cli",
3
- "version": "0.0.0",
3
+ "version": "0.1.0",
4
+ "description": "A fast standalone task runner that reads Nx workspaces",
4
5
  "license": "MIT OR Apache-2.0",
5
6
  "repository": {
6
7
  "type": "git",
7
8
  "url": "git+https://github.com/Pajn/qk.git"
8
9
  },
9
- "publishConfig": {
10
- "access": "public",
11
- "tag": "bootstrap",
12
- "registry": "https://registry.npmjs.org"
13
- },
14
- "description": "Trusted publishing bootstrap for qk, a standalone Nx-compatible task runner",
15
10
  "bin": {
16
11
  "qk": "bin/qk.js"
17
12
  },
18
- "files": [
19
- "bin",
20
- "LICENSE-MIT",
21
- "LICENSE-APACHE"
22
- ],
13
+ "engines": {
14
+ "node": ">=14"
15
+ },
23
16
  "optionalDependencies": {
24
- "@runqk/cli-linux-x64": "0.0.0",
25
- "@runqk/cli-linux-arm64": "0.0.0",
26
- "@runqk/cli-darwin-arm64": "0.0.0",
27
- "@runqk/cli-win32-x64": "0.0.0"
17
+ "@runqk/cli-darwin-arm64": "0.1.0",
18
+ "@runqk/cli-linux-arm64": "0.1.0",
19
+ "@runqk/cli-linux-x64": "0.1.0",
20
+ "@runqk/cli-win32-x64": "0.1.0"
21
+ },
22
+ "publishConfig": {
23
+ "access": "public"
28
24
  }
29
- }
25
+ }