@polyhedral/cli 0.1.0-beta.6 → 0.1.0-beta.7
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.
- package/README.md +8 -2
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +2 -3
- package/dist/commands/docs.js.map +1 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +1 -0
- package/dist/commands/pull.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/api-client.d.ts +2 -0
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/auto-update.d.ts +24 -0
- package/dist/lib/auto-update.d.ts.map +1 -0
- package/dist/lib/auto-update.js +107 -0
- package/dist/lib/auto-update.js.map +1 -0
- package/dist/lib/format.js +1 -1
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/install.d.ts +32 -0
- package/dist/lib/install.d.ts.map +1 -0
- package/dist/lib/install.js +85 -0
- package/dist/lib/install.js.map +1 -0
- package/dist/lib/template-data.d.ts +1 -0
- package/dist/lib/template-data.d.ts.map +1 -1
- package/dist/lib/template-data.js +1 -0
- package/dist/lib/template-data.js.map +1 -1
- package/dist/lib/validate-local.d.ts +5 -0
- package/dist/lib/validate-local.d.ts.map +1 -1
- package/dist/lib/validate-local.js +51 -20
- package/dist/lib/validate-local.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/update-worker.d.ts +2 -0
- package/dist/update-worker.d.ts.map +1 -0
- package/dist/update-worker.js +23 -0
- package/dist/update-worker.js.map +1 -0
- package/package.json +11 -9
package/README.md
CHANGED
|
@@ -10,10 +10,16 @@ npm install -g @polyhedral/cli
|
|
|
10
10
|
|
|
11
11
|
Requires Node.js 20+. Or use `npx @polyhedral/cli` without installing.
|
|
12
12
|
|
|
13
|
+
### Updates
|
|
14
|
+
|
|
15
|
+
The CLI keeps itself up to date. Once a day it checks npm for a newer build on its channel (a `beta` build follows `beta`). When it finds one, it installs it in the background after your command finishes, and the next run tells you it updated. This works for global installs through npm, pnpm, yarn, or bun.
|
|
16
|
+
|
|
17
|
+
If it can't update itself, it tells you the command to run instead. That happens when the global folder needs `sudo`, in CI, and in non-interactive runs. Set `POLYHEDRAL_NO_AUTO_UPDATE=1` to turn self-updating off, or `NO_UPDATE_NOTIFIER=1` to turn off the check entirely.
|
|
18
|
+
|
|
13
19
|
## Quick Start
|
|
14
20
|
|
|
15
21
|
```bash
|
|
16
|
-
# Log in with your API key (get one from
|
|
22
|
+
# Log in with your API key (get one from Developer Tools in your avatar menu)
|
|
17
23
|
polyhedral login
|
|
18
24
|
|
|
19
25
|
# Scaffold a new template project
|
|
@@ -39,7 +45,7 @@ polyhedral dev
|
|
|
39
45
|
| `polyhedral list` | List all your custom sheet templates |
|
|
40
46
|
| `polyhedral versions` | List version history for a template |
|
|
41
47
|
| `polyhedral validate` | Check a template file for syntax errors (offline) |
|
|
42
|
-
| `polyhedral docs` | Print the full SDK reference documentation
|
|
48
|
+
| `polyhedral docs` | Print the full SDK reference documentation |
|
|
43
49
|
|
|
44
50
|
### Push Options
|
|
45
51
|
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGxD,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAA;IAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAA;IAE3D,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;IACzC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAExE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAA;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,CAAA;IAEtB,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,IAAI,wDAAwD,CAAC,CAAA;IAEhG,IAAI,aAAa,GAAyC,IAAI,CAAA;IAE9D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;QAC9C,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE;YAChB,kBAAkB,EAAE,GAAG;YACvB,YAAY,EAAE,GAAG;SAClB;KACF,CAAC,CAAA;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBjD"}
|
package/dist/commands/docs.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { isJsonMode, jsonOutput } from '../lib/output.js';
|
|
2
|
-
const
|
|
2
|
+
const SDK_DOCS_URL = 'https://polyhedral.co/api/sdk/docs';
|
|
3
3
|
export async function docsCommand() {
|
|
4
|
-
const
|
|
5
|
-
const url = `${apiUrl}/api/sdk/docs`;
|
|
4
|
+
const url = SDK_DOCS_URL;
|
|
6
5
|
const res = await fetch(url);
|
|
7
6
|
if (!res.ok) {
|
|
8
7
|
console.error(`Failed to fetch SDK docs: ${res.status} ${res.statusText}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,YAAY,GAAG,oCAAoC,CAAA;AAEzD,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,GAAG,GAAG,YAAY,CAAA;IAExB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IAE5B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAA;IAEtD,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAGzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAGzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAEzD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAY;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IAEpD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;QAClE,OAAM;IACR,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IAED,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;IAEtD,MAAM,SAAS,GAAG,MAAM,MAAM,CAC5B,aAAa,EACb;QACE,EAAE,KAAK,EAAE,oDAAoD,EAAE,KAAK,EAAE,QAAQ,EAAE;QAChF;YACE,KAAK,EAAE,gEAAgE;YACvE,KAAK,EAAE,UAAU;SAClB;KACF,EACD,QAAQ,CACT,CAAA;IAED,MAAM,UAAU,GAAG,SAAS,KAAK,UAAU,CAAA;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAA;IAChE,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAA;IAEhE,MAAM,QAAQ,GAAa;QACzB,IAAI;QACJ,IAAI,EAAE,YAAY;QAClB,SAAS;QACT,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,MAAM;KAClB,CAAA;IAED,MAAM,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAEvC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAA;IAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IACtD,MAAM,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAEzC,oBAAoB;IACpB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACnD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,+DAA+D,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,SAAS,CAAC,aAAa,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,UAAU,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAA;QACnE,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAA;IAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC1B,OAAO,CAAC,GAAG,CAAC,aAAa,gBAAgB,iBAAiB,CAAC,CAAA;IAC3D,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;IACnD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;AAC3D,CAAC"}
|
package/dist/commands/login.js
CHANGED
|
@@ -17,7 +17,7 @@ export async function loginCommand(options) {
|
|
|
17
17
|
console.log('');
|
|
18
18
|
}
|
|
19
19
|
console.log('Log in to Polyhedral with your API key.');
|
|
20
|
-
console.log('Generate one at https://polyhedral.co
|
|
20
|
+
console.log('Generate one from Developer Tools in your avatar menu at https://polyhedral.co\n');
|
|
21
21
|
const apiKey = await rl.question('API key: ');
|
|
22
22
|
if (!apiKey.trim()) {
|
|
23
23
|
console.error('No API key provided.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B;IAC7D,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAE5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAA;QAEnC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;YACzC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAAA;YAC7E,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACvB,OAAM;YACR,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B;IAC7D,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAE5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAA;QAEnC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;YACzC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAAA;YAC7E,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACvB,OAAM;YACR,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAA;QAE/F,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;YACrC,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,MAAM;SAClD,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,aAAa,EAAE,CAAA;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;YACpE,OAAO,CAAC,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAA;YAClD,OAAM;QACR,CAAC;QAED,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QACxB,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAA;QAChF,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAA;QAE7E,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AASA,wBAAsB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AASA,wBAAsB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD3F"}
|
package/dist/commands/pull.js
CHANGED
|
@@ -42,6 +42,7 @@ export async function pullCommand(id, options) {
|
|
|
42
42
|
description: template.description ?? undefined,
|
|
43
43
|
fieldSchema: template.field_schema ?? undefined,
|
|
44
44
|
nameField: template.name_field,
|
|
45
|
+
thumbnailField: template.thumbnail_field,
|
|
45
46
|
version: template.version,
|
|
46
47
|
};
|
|
47
48
|
await saveManifest(updatedManifest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAG1C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAW,EAAE,OAA6B;IAC1E,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;IAEpC,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAA;IAExC,MAAM,UAAU,GAAG,EAAE,IAAI,QAAQ,EAAE,UAAU,CAAA;IAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAA;QACrF,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,GAAG,CAAC,oBAAoB,UAAU,KAAK,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;IAErD,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,IAAI,aAAa,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;IAE9C,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;YACtB,GAAG,CAAC,eAAe,QAAQ,wBAAwB,CAAC,CAAA;YACpD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAA;YAC5C,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,GAAG,CAAC,UAAU,CAAC,CAAA;gBACf,OAAM;YACR,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAEjD,MAAM,eAAe,GAAa;QAChC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,QAAQ,CAAC,UAAmC;QACvD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;QAC9C,WAAW,EAAE,QAAQ,CAAC,YAAY,IAAI,SAAS;QAC/C,SAAS,EAAE,QAAQ,CAAC,UAAU;QAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAA;IAED,MAAM,YAAY,CAAC,eAAe,CAAC,CAAA;IAEnC,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAA;IACxB,GAAG,CAAC,yBAAyB,CAAC,CAAA;IAE9B,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,UAAU,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACzD,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAG1C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAW,EAAE,OAA6B;IAC1E,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;IAEpC,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAA;IAExC,MAAM,UAAU,GAAG,EAAE,IAAI,QAAQ,EAAE,UAAU,CAAA;IAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAA;QACrF,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,GAAG,CAAC,oBAAoB,UAAU,KAAK,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;IAErD,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,IAAI,aAAa,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;IAE9C,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;YACtB,GAAG,CAAC,eAAe,QAAQ,wBAAwB,CAAC,CAAA;YACpD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAA;YAC5C,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,GAAG,CAAC,UAAU,CAAC,CAAA;gBACf,OAAM;YACR,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAEjD,MAAM,eAAe,GAAa;QAChC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,QAAQ,CAAC,UAAmC;QACvD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;QAC9C,WAAW,EAAE,QAAQ,CAAC,YAAY,IAAI,SAAS;QAC/C,SAAS,EAAE,QAAQ,CAAC,UAAU;QAC9B,cAAc,EAAE,QAAQ,CAAC,eAAe;QACxC,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAA;IAED,MAAM,YAAY,CAAC,eAAe,CAAC,CAAA;IAEnC,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAA;IACxB,GAAG,CAAC,yBAAyB,CAAC,CAAA;IAE9B,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,UAAU,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACzD,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -15,9 +15,11 @@ import { pushCommand } from './commands/push.js';
|
|
|
15
15
|
import { validateCommand } from './commands/validate.js';
|
|
16
16
|
import { versionsCommand } from './commands/versions.js';
|
|
17
17
|
import { whoamiCommand } from './commands/whoami.js';
|
|
18
|
+
import { checkForUpdates } from './lib/auto-update.js';
|
|
18
19
|
import { setProgram } from './lib/output.js';
|
|
19
20
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
20
21
|
const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
|
|
22
|
+
checkForUpdates(pkg, join(__dirname, '..'), join(__dirname, 'update-worker.js'));
|
|
21
23
|
const program = new Command();
|
|
22
24
|
program
|
|
23
25
|
.name('polyhedral')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAEpF,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAEhF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,4DAA4D,CAAC;KACzE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACpB,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAA;AAE7C,UAAU,CAAC,OAAO,CAAC,CAAA;AAEnB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,iBAAiB,EAAE,0CAA0C,CAAC;KACrE,MAAM,CAAC,YAAY,CAAC,CAAA;AAEvB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAExF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAExF,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAEhG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAE/F,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;KACpD,MAAM,CAAC,CAAC,EAAsB,EAAE,OAA4B,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;AAE7F,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,SAAS,EAAE,8BAA8B,CAAC;KACjD,MAAM,CAAC,SAAS,EAAE,oBAAoB,CAAC;KACvC,MAAM,CAAC,SAAS,EAAE,2CAA2C,CAAC;KAC9D,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;KACpE,MAAM,CAAC,WAAW,CAAC,CAAA;AAEtB,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,CAAC,EAAsB,EAAE,OAA4B,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;AAE/F,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,eAAe,CAAC,CAAA;AAE1B,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,UAAU,CAAC,CAAA;AAErB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,eAAe,CAAC,CAAA;AAE1B,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,WAAW,CAAC,CAAA;AAEtB,OAAO,CAAC,KAAK,EAAE,CAAA"}
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export declare class ApiClient {
|
|
|
13
13
|
description?: string;
|
|
14
14
|
fieldSchema?: unknown[];
|
|
15
15
|
nameField?: string | null;
|
|
16
|
+
thumbnailField?: string | null;
|
|
16
17
|
}): Promise<Template>;
|
|
17
18
|
updateTemplate(id: string, data: {
|
|
18
19
|
name?: string;
|
|
@@ -21,6 +22,7 @@ export declare class ApiClient {
|
|
|
21
22
|
description?: string;
|
|
22
23
|
fieldSchema?: unknown[];
|
|
23
24
|
nameField?: string | null;
|
|
25
|
+
thumbnailField?: string | null;
|
|
24
26
|
}): Promise<Template>;
|
|
25
27
|
deleteTemplate(id: string): Promise<{
|
|
26
28
|
success: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAY,MAAM,aAAa,CAAA;AAEnG,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAQ;
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAY,MAAM,aAAa,CAAA;AAEnG,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAQ;IAEtB,YAAY,MAAM,EAAE,SAAS,EAG5B;YAEa,OAAO;IAqBf,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEzC;IAEK,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAE/C;IAEK,cAAc,CAAC,IAAI,EAAE;QACzB,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,SAAS,EAAE,MAAM,CAAA;QACjB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAA;QACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAC/B,GAAG,OAAO,CAAC,QAAQ,CAAC,CAKpB;IAEK,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAA;QACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAC/B,GACA,OAAO,CAAC,QAAQ,CAAC,CAKnB;IAEK,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAI9D;IAEK,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAKtD;IAEK,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC,CAQ3D;IAEK,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAEjE;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,SAAS;IACZ,OAAO,CAAQ;IACf,MAAM,CAAQ;IAEtB,YAAY,MAAiB;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,SAAS;IACZ,OAAO,CAAQ;IACf,MAAM,CAAQ;IAEtB,YAAY,MAAiB;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,OAAO,GAAgB,EAAE;QAC9D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAA;QACpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;gBACtC,GAAG,OAAO,CAAC,OAAO;aACnB;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAE7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,IAAgB,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,8BAA8B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QAC1E,CAAC;QAED,OAAO,IAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAAa,6BAA6B,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAW,+BAA+B,EAAE,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAQpB;QACC,OAAO,IAAI,CAAC,OAAO,CAAW,6BAA6B,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,EAAU,EACV,IAQC;QAED,OAAO,IAAI,CAAC,OAAO,CAAW,+BAA+B,EAAE,EAAE,EAAE;YACjE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAuB,+BAA+B,EAAE,EAAE,EAAE;YAC7E,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,OAAO,CAAmB,sCAAsC,EAAE;YAC5E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;SAC/B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAAkB,EAClB,OAA6C;QAE7C,OAAO,IAAI,CAAC,OAAO,CACjB,+BAA+B,UAAU,UAAU,EACnD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAoB,+BAA+B,UAAU,WAAW,CAAC,CAAA;IAC9F,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface UpdateState {
|
|
2
|
+
from: string;
|
|
3
|
+
to: string;
|
|
4
|
+
status: 'pending' | 'updated' | 'failed';
|
|
5
|
+
error?: string;
|
|
6
|
+
at: number;
|
|
7
|
+
}
|
|
8
|
+
interface CliPackage {
|
|
9
|
+
name: string;
|
|
10
|
+
version: string;
|
|
11
|
+
bin: Record<string, string>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Checks npm for a newer build on this build's channel (once a day, in a
|
|
15
|
+
* detached process — update-notifier's job) and, when one has been found,
|
|
16
|
+
* installs it in the background after the current command exits. Falls back
|
|
17
|
+
* to the usual "update available" notice whenever installing it ourselves
|
|
18
|
+
* isn't safe: not a global install we recognise, no write access to the
|
|
19
|
+
* prefix, a non-interactive run, or POLYHEDRAL_NO_AUTO_UPDATE is set. `--json`
|
|
20
|
+
* runs stay silent either way.
|
|
21
|
+
*/
|
|
22
|
+
export declare function checkForUpdates(pkg: CliPackage, packageRoot: string, workerPath: string): void;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=auto-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;CACX;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAkC9F"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { accessSync, constants, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, } from 'node:fs';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { dirname, join } from 'node:path';
|
|
5
|
+
import semver from 'semver';
|
|
6
|
+
import updateNotifier from 'update-notifier';
|
|
7
|
+
import { detectGlobalInstall, distTagFor, installCommand, manualUpdateCommand, npmBinPath, npmWritableDirs, } from './install.js';
|
|
8
|
+
const STATE_FILE = join(homedir(), '.polyhedral', 'update.json');
|
|
9
|
+
/** A pending install older than this was killed or hung; forget it. */
|
|
10
|
+
const PENDING_TTL_MS = 10 * 60 * 1000;
|
|
11
|
+
/**
|
|
12
|
+
* Checks npm for a newer build on this build's channel (once a day, in a
|
|
13
|
+
* detached process — update-notifier's job) and, when one has been found,
|
|
14
|
+
* installs it in the background after the current command exits. Falls back
|
|
15
|
+
* to the usual "update available" notice whenever installing it ourselves
|
|
16
|
+
* isn't safe: not a global install we recognise, no write access to the
|
|
17
|
+
* prefix, a non-interactive run, or POLYHEDRAL_NO_AUTO_UPDATE is set. `--json`
|
|
18
|
+
* runs stay silent either way.
|
|
19
|
+
*/
|
|
20
|
+
export function checkForUpdates(pkg, packageRoot, workerPath) {
|
|
21
|
+
const tag = distTagFor(pkg.version);
|
|
22
|
+
const notifier = updateNotifier({ pkg, distTag: tag });
|
|
23
|
+
const install = detectGlobalInstall(packageRoot, pkg.name);
|
|
24
|
+
const manual = manualUpdateCommand(install, pkg.name, tag);
|
|
25
|
+
const json = process.argv.includes('--json');
|
|
26
|
+
const interactive = Boolean(process.stdout.isTTY && process.stderr.isTTY) && !json;
|
|
27
|
+
const last = readState();
|
|
28
|
+
if (last?.status === 'pending' && Date.now() - last.at < PENDING_TTL_MS)
|
|
29
|
+
return;
|
|
30
|
+
if (last) {
|
|
31
|
+
clearState();
|
|
32
|
+
if (interactive)
|
|
33
|
+
reportLastAttempt(last, pkg.version, manual);
|
|
34
|
+
}
|
|
35
|
+
const latest = notifier.update?.latest;
|
|
36
|
+
if (!latest || !semver.gt(latest, pkg.version))
|
|
37
|
+
return;
|
|
38
|
+
if (interactive &&
|
|
39
|
+
!('POLYHEDRAL_NO_AUTO_UPDATE' in process.env) &&
|
|
40
|
+
install &&
|
|
41
|
+
canInstall(install, pkg)) {
|
|
42
|
+
// Wait for exit so files aren't swapped under a running command (`dev` loads
|
|
43
|
+
// Babel lazily; `init` reads templates from the package directory).
|
|
44
|
+
process.on('exit', () => startInstall(install, pkg, latest, workerPath));
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (!json)
|
|
48
|
+
notifier.notify({
|
|
49
|
+
message: `Update available ${pkg.version} → ${latest}\nRun ${manual} to update`,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function reportLastAttempt(state, current, manual) {
|
|
53
|
+
if (state.status === 'updated' && state.to === current) {
|
|
54
|
+
console.error(`Updated polyhedral ${state.from} → ${state.to}.`);
|
|
55
|
+
}
|
|
56
|
+
else if (state.status === 'failed') {
|
|
57
|
+
console.error(`Couldn't update polyhedral to ${state.to}: ${state.error}\nRun ${manual} to update.`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function canInstall(install, pkg) {
|
|
61
|
+
if (install.manager !== 'npm' || !install.prefix)
|
|
62
|
+
return true;
|
|
63
|
+
const binName = Object.keys(pkg.bin)[0];
|
|
64
|
+
if (!existsSync(npmBinPath(install.prefix, binName)))
|
|
65
|
+
return false;
|
|
66
|
+
try {
|
|
67
|
+
for (const dir of npmWritableDirs(install.prefix))
|
|
68
|
+
accessSync(dir, constants.W_OK);
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Root-owned prefix: the install would need sudo, so say how instead.
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function startInstall(install, pkg, latest, workerPath) {
|
|
77
|
+
const state = { from: pkg.version, to: latest, status: 'pending', at: Date.now() };
|
|
78
|
+
try {
|
|
79
|
+
writeState(state);
|
|
80
|
+
const { command, args } = installCommand(install, `${pkg.name}@${latest}`);
|
|
81
|
+
spawn(process.execPath, [workerPath, JSON.stringify({ command, args, state, stateFile: STATE_FILE })], {
|
|
82
|
+
detached: true,
|
|
83
|
+
stdio: 'ignore',
|
|
84
|
+
windowsHide: true,
|
|
85
|
+
}).unref();
|
|
86
|
+
console.error(`Updating polyhedral ${pkg.version} → ${latest} in the background.`);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
clearState();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function readState() {
|
|
93
|
+
try {
|
|
94
|
+
return JSON.parse(readFileSync(STATE_FILE, 'utf-8'));
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function writeState(state) {
|
|
101
|
+
mkdirSync(dirname(STATE_FILE), { recursive: true });
|
|
102
|
+
writeFileSync(STATE_FILE, JSON.stringify(state) + '\n', 'utf-8');
|
|
103
|
+
}
|
|
104
|
+
function clearState() {
|
|
105
|
+
rmSync(STATE_FILE, { force: true });
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=auto-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/format.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export function formatValidationError(result) {
|
|
2
2
|
if (result.line) {
|
|
3
|
-
const column = result.column ? `, column ${result.column}` : '';
|
|
3
|
+
const column = result.column !== undefined ? `, column ${result.column}` : '';
|
|
4
4
|
return `Line ${result.line}${column}: ${result.error}`;
|
|
5
5
|
}
|
|
6
6
|
return result.error ?? 'Unknown validation error';
|
package/dist/lib/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,MAAwB;IAC5D,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,MAAwB;IAC5D,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC7E,OAAO,QAAQ,MAAM,CAAC,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC,KAAK,EAAE,CAAA;IACxD,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,IAAI,0BAA0B,CAAA;AACnD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun';
|
|
2
|
+
export interface GlobalInstall {
|
|
3
|
+
manager: PackageManager;
|
|
4
|
+
/** npm only: the global prefix the CLI lives under, so the update lands in the same place. */
|
|
5
|
+
prefix?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface InstallCommand {
|
|
8
|
+
command: string;
|
|
9
|
+
args: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The npm dist-tag this build was published under. A prerelease (`0.1.0-beta.7`)
|
|
13
|
+
* follows its own channel (`beta`); comparing it against `latest` would tell a
|
|
14
|
+
* beta user about nothing, or offer them an older build.
|
|
15
|
+
*/
|
|
16
|
+
export declare function distTagFor(version: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* How the running CLI was installed, read from where its package root sits on
|
|
19
|
+
* disk. Returns null for anything that isn't a global install we know how to
|
|
20
|
+
* update: npx's cache, a project's local dependency, or a linked checkout.
|
|
21
|
+
*/
|
|
22
|
+
export declare function detectGlobalInstall(packageRoot: string, packageName: string, platform?: NodeJS.Platform): GlobalInstall | null;
|
|
23
|
+
/** Where npm links the `polyhedral` bin for a global prefix. */
|
|
24
|
+
export declare function npmBinPath(prefix: string, binName: string, platform?: NodeJS.Platform): string;
|
|
25
|
+
/** Directories npm writes to on a global install; all must be writable to update without sudo. */
|
|
26
|
+
export declare function npmWritableDirs(prefix: string, platform?: NodeJS.Platform): string[];
|
|
27
|
+
export declare function installCommand(install: GlobalInstall, spec: string): InstallCommand;
|
|
28
|
+
/** The command to show a person who has to update by hand. */
|
|
29
|
+
export declare function manualUpdateCommand(install: GlobalInstall | null, packageName: string, tag: string): string;
|
|
30
|
+
/** Shortest useful reason from a failed install's stderr: npm's error code, else its last real line. */
|
|
31
|
+
export declare function summarizeInstallError(stderr: string): string;
|
|
32
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/lib/install.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;AAE5D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,CAAA;IACvB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,aAAa,GAAG,IAAI,CAiBtB;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAIR;AAED,kGAAkG;AAClG,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,EAAE,CAIV;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAmBnF;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACV,MAAM,CAIR;AAED,wGAAwG;AACxG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO5D"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { posix } from 'node:path';
|
|
2
|
+
/**
|
|
3
|
+
* The npm dist-tag this build was published under. A prerelease (`0.1.0-beta.7`)
|
|
4
|
+
* follows its own channel (`beta`); comparing it against `latest` would tell a
|
|
5
|
+
* beta user about nothing, or offer them an older build.
|
|
6
|
+
*/
|
|
7
|
+
export function distTagFor(version) {
|
|
8
|
+
const match = /^\d+\.\d+\.\d+-([0-9A-Za-z-]+)/.exec(version);
|
|
9
|
+
return match && !/^\d+$/.test(match[1]) ? match[1] : 'latest';
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* How the running CLI was installed, read from where its package root sits on
|
|
13
|
+
* disk. Returns null for anything that isn't a global install we know how to
|
|
14
|
+
* update: npx's cache, a project's local dependency, or a linked checkout.
|
|
15
|
+
*/
|
|
16
|
+
export function detectGlobalInstall(packageRoot, packageName, platform = process.platform) {
|
|
17
|
+
const root = packageRoot.replaceAll('\\', '/');
|
|
18
|
+
const tail = `/node_modules/${packageName}`;
|
|
19
|
+
if (!root.endsWith(tail))
|
|
20
|
+
return null;
|
|
21
|
+
if (root.includes('/_npx/'))
|
|
22
|
+
return null;
|
|
23
|
+
if (root.includes('/.bun/install/global/'))
|
|
24
|
+
return { manager: 'bun' };
|
|
25
|
+
if (/\/pnpm\/global\//i.test(root))
|
|
26
|
+
return { manager: 'pnpm' };
|
|
27
|
+
if (/\/yarn\/global\//i.test(root))
|
|
28
|
+
return { manager: 'yarn' };
|
|
29
|
+
// npm puts globals in <prefix>/lib/node_modules, or <prefix>/node_modules on
|
|
30
|
+
// Windows (default prefix %APPDATA%\npm). The caller confirms the bin link exists,
|
|
31
|
+
// which rules out a project that happens to sit in a folder named lib.
|
|
32
|
+
const parent = posix.dirname(root.slice(0, -(packageName.length + 1)));
|
|
33
|
+
if (platform === 'win32') {
|
|
34
|
+
return /\/npm$/i.test(parent) ? { manager: 'npm', prefix: parent } : null;
|
|
35
|
+
}
|
|
36
|
+
return parent.endsWith('/lib') ? { manager: 'npm', prefix: posix.dirname(parent) } : null;
|
|
37
|
+
}
|
|
38
|
+
/** Where npm links the `polyhedral` bin for a global prefix. */
|
|
39
|
+
export function npmBinPath(prefix, binName, platform = process.platform) {
|
|
40
|
+
return platform === 'win32'
|
|
41
|
+
? posix.join(prefix, `${binName}.cmd`)
|
|
42
|
+
: posix.join(prefix, 'bin', binName);
|
|
43
|
+
}
|
|
44
|
+
/** Directories npm writes to on a global install; all must be writable to update without sudo. */
|
|
45
|
+
export function npmWritableDirs(prefix, platform = process.platform) {
|
|
46
|
+
return platform === 'win32'
|
|
47
|
+
? [posix.join(prefix, 'node_modules'), prefix]
|
|
48
|
+
: [posix.join(prefix, 'lib', 'node_modules'), posix.join(prefix, 'bin')];
|
|
49
|
+
}
|
|
50
|
+
export function installCommand(install, spec) {
|
|
51
|
+
switch (install.manager) {
|
|
52
|
+
case 'npm':
|
|
53
|
+
return {
|
|
54
|
+
command: 'npm',
|
|
55
|
+
args: [
|
|
56
|
+
'install',
|
|
57
|
+
'--global',
|
|
58
|
+
...(install.prefix ? ['--prefix', install.prefix] : []),
|
|
59
|
+
spec,
|
|
60
|
+
],
|
|
61
|
+
};
|
|
62
|
+
case 'pnpm':
|
|
63
|
+
return { command: 'pnpm', args: ['add', '--global', spec] };
|
|
64
|
+
case 'yarn':
|
|
65
|
+
return { command: 'yarn', args: ['global', 'add', spec] };
|
|
66
|
+
case 'bun':
|
|
67
|
+
return { command: 'bun', args: ['add', '--global', spec] };
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/** The command to show a person who has to update by hand. */
|
|
71
|
+
export function manualUpdateCommand(install, packageName, tag) {
|
|
72
|
+
const spec = tag === 'latest' ? packageName : `${packageName}@${tag}`;
|
|
73
|
+
const { command, args } = installCommand({ manager: install?.manager ?? 'npm' }, spec);
|
|
74
|
+
return [command, ...args].join(' ');
|
|
75
|
+
}
|
|
76
|
+
/** Shortest useful reason from a failed install's stderr: npm's error code, else its last real line. */
|
|
77
|
+
export function summarizeInstallError(stderr) {
|
|
78
|
+
const lines = stderr
|
|
79
|
+
.split('\n')
|
|
80
|
+
.map((line) => line.trim())
|
|
81
|
+
.filter((line) => line && !/complete log of this run/i.test(line));
|
|
82
|
+
const line = lines.find((l) => /\bcode E[A-Z0-9]+/.test(l)) ?? lines.at(-1) ?? 'unknown error';
|
|
83
|
+
return line.length > 200 ? `${line.slice(0, 197)}...` : line;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/lib/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export interface TemplatePayload {
|
|
|
6
6
|
description?: string;
|
|
7
7
|
fieldSchema?: unknown[];
|
|
8
8
|
nameField?: string | null;
|
|
9
|
+
thumbnailField?: string | null;
|
|
9
10
|
}
|
|
10
11
|
export declare function buildTemplatePayload(manifest: Manifest, code: string): TemplatePayload;
|
|
11
12
|
//# sourceMappingURL=template-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-data.d.ts","sourceRoot":"","sources":["../../src/lib/template-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"template-data.d.ts","sourceRoot":"","sources":["../../src/lib/template-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAUtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-data.js","sourceRoot":"","sources":["../../src/lib/template-data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template-data.js","sourceRoot":"","sources":["../../src/lib/template-data.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,oBAAoB,CAAC,QAAkB,EAAE,IAAY;IACnE,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI;QACJ,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,cAAc,EAAE,QAAQ,CAAC,cAAc;KACxC,CAAA;AACH,CAAC"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import type { ValidationResult } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Compile the sheet the way Polyhedral will, without running it. Errors in the
|
|
4
|
+
* code come back as `valid: false`, with the line (1-based) and column
|
|
5
|
+
* (0-based) when Babel reports them. A failure of the compiler itself throws.
|
|
6
|
+
*/
|
|
2
7
|
export declare function validateLocal(code: string): Promise<ValidationResult>;
|
|
3
8
|
//# sourceMappingURL=validate-local.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-local.d.ts","sourceRoot":"","sources":["../../src/lib/validate-local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"validate-local.d.ts","sourceRoot":"","sources":["../../src/lib/validate-local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAgCnD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmB3E"}
|
|
@@ -1,32 +1,63 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* How Polyhedral compiles an in-app sheet: @babel/standalone, pinned in
|
|
3
|
+
* package.json to the version the sheet iframe loads, with the options it
|
|
4
|
+
* gives a `<script type="text/babel" data-type="module">`. Keep in step with
|
|
5
|
+
* src/features/custom-sheets/sdk/sheetBabel.ts in the web app;
|
|
6
|
+
* __tests__/validate-local.test.ts checks that the two validators agree.
|
|
7
|
+
*
|
|
8
|
+
* The plugins are built in, so nothing resolves from the author's folder.
|
|
9
|
+
*/
|
|
10
|
+
const SHEET_BABEL_OPTIONS = {
|
|
11
|
+
presets: ['react', ['env', { targets: { esmodules: true }, modules: false }]],
|
|
12
|
+
plugins: [
|
|
13
|
+
'transform-class-properties',
|
|
14
|
+
'transform-object-rest-spread',
|
|
15
|
+
'transform-flow-strip-types',
|
|
16
|
+
],
|
|
17
|
+
};
|
|
18
|
+
/** Babel resolves the filename against its working directory: `/sheet.jsx: …`. */
|
|
19
|
+
const FILENAME_DIRECTORY = /^\S*\/(?=sheet\.jsx: )/;
|
|
20
|
+
const FIXED_SYNTAX_NOTE = "Sheet code compiles with a fixed Babel setup, so this syntax can't be turned on. Rewrite this part without it.";
|
|
21
|
+
/**
|
|
22
|
+
* Compile the sheet the way Polyhedral will, without running it. Errors in the
|
|
23
|
+
* code come back as `valid: false`, with the line (1-based) and column
|
|
24
|
+
* (0-based) when Babel reports them. A failure of the compiler itself throws.
|
|
25
|
+
*/
|
|
6
26
|
export async function validateLocal(code) {
|
|
27
|
+
const babel = await import('@babel/standalone');
|
|
7
28
|
try {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
presets: [['@babel/preset-react', { runtime: 'classic' }]],
|
|
11
|
-
plugins: ['@babel/plugin-transform-modules-commonjs'],
|
|
29
|
+
babel.transform(code, {
|
|
30
|
+
...SHEET_BABEL_OPTIONS,
|
|
12
31
|
filename: 'sheet.jsx',
|
|
32
|
+
highlightCode: false,
|
|
13
33
|
ast: false,
|
|
14
34
|
code: false,
|
|
15
35
|
});
|
|
16
36
|
return { valid: true };
|
|
17
37
|
}
|
|
18
38
|
catch (err) {
|
|
19
|
-
if (err
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
const message = err instanceof Error ? err.message : 'Unknown validation error';
|
|
29
|
-
return { valid: false, error: stripPaths(message) };
|
|
39
|
+
if (!isSheetCompileError(err))
|
|
40
|
+
throw err;
|
|
41
|
+
return {
|
|
42
|
+
valid: false,
|
|
43
|
+
error: authorMessage(err),
|
|
44
|
+
...(err.loc && { line: err.loc.line, column: err.loc.column }),
|
|
45
|
+
};
|
|
30
46
|
}
|
|
31
47
|
}
|
|
48
|
+
function isSheetCompileError(err) {
|
|
49
|
+
if (!(err instanceof Error))
|
|
50
|
+
return false;
|
|
51
|
+
const { code } = err;
|
|
52
|
+
return code === 'BABEL_PARSE_ERROR' || code === 'BABEL_TRANSFORM_ERROR';
|
|
53
|
+
}
|
|
54
|
+
function authorMessage(err) {
|
|
55
|
+
const message = err.message.replace(FILENAME_DIRECTORY, '');
|
|
56
|
+
if (!err.missingPlugin)
|
|
57
|
+
return message;
|
|
58
|
+
// Syntax the setup doesn't enable: Babel's advice is to edit a Babel config,
|
|
59
|
+
// which the author doesn't have. Keep the summary and the code frame.
|
|
60
|
+
const [summary, codeFrame] = message.split('\n\n');
|
|
61
|
+
return [summary, codeFrame, FIXED_SYNTAX_NOTE].join('\n\n');
|
|
62
|
+
}
|
|
32
63
|
//# sourceMappingURL=validate-local.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-local.js","sourceRoot":"","sources":["../../src/lib/validate-local.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"validate-local.js","sourceRoot":"","sources":["../../src/lib/validate-local.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAG;IAC1B,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7E,OAAO,EAAE;QACP,4BAA4B;QAC5B,8BAA8B;QAC9B,4BAA4B;KAC7B;CACF,CAAA;AAED,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,wBAAwB,CAAA;AAEnD,MAAM,iBAAiB,GACrB,gHAAgH,CAAA;AAQlH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAC/C,IAAI,CAAC;QACH,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;YACpB,GAAG,mBAAmB;YACtB,QAAQ,EAAE,WAAW;YACrB,aAAa,EAAE,KAAK;YACpB,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACxB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,CAAA;QACxC,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC;YACzB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;SAC/D,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACzC,MAAM,EAAE,IAAI,EAAE,GAAG,GAAyB,CAAA;IAC1C,OAAO,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,uBAAuB,CAAA;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,GAAsB;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;IAC3D,IAAI,CAAC,GAAG,CAAC,aAAa;QAAE,OAAO,OAAO,CAAA;IACtC,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAClD,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC7D,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export interface Manifest {
|
|
|
10
10
|
description?: string;
|
|
11
11
|
fieldSchema?: FieldSchemaEntry[];
|
|
12
12
|
nameField?: string | null;
|
|
13
|
+
thumbnailField?: string | null;
|
|
13
14
|
version?: string;
|
|
14
15
|
}
|
|
15
16
|
export interface FieldSchemaEntry {
|
|
@@ -27,6 +28,7 @@ export interface Template {
|
|
|
27
28
|
source: string | null;
|
|
28
29
|
field_schema: FieldSchemaEntry[] | null;
|
|
29
30
|
name_field: string | null;
|
|
31
|
+
thumbnail_field: string | null;
|
|
30
32
|
thumbnail_url: string | null;
|
|
31
33
|
version: string;
|
|
32
34
|
user_id: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;IACvC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;CACd"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;IACvC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-worker.d.ts","sourceRoot":"","sources":["../src/update-worker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Detached child started by lib/auto-update.ts after a command exits. Runs the
|
|
2
|
+
// global install and records the outcome, which the next run reports. Everything
|
|
3
|
+
// it needs is loaded before the install starts replacing this package's files.
|
|
4
|
+
import { spawnSync } from 'node:child_process';
|
|
5
|
+
import { writeFileSync } from 'node:fs';
|
|
6
|
+
import { summarizeInstallError } from './lib/install.js';
|
|
7
|
+
const { command, args, state, stateFile } = JSON.parse(process.argv[2]);
|
|
8
|
+
const result = spawnSync(command, args, {
|
|
9
|
+
encoding: 'utf-8',
|
|
10
|
+
shell: process.platform === 'win32',
|
|
11
|
+
timeout: 5 * 60 * 1000,
|
|
12
|
+
windowsHide: true,
|
|
13
|
+
});
|
|
14
|
+
const outcome = result.status === 0
|
|
15
|
+
? { ...state, status: 'updated', at: Date.now() }
|
|
16
|
+
: {
|
|
17
|
+
...state,
|
|
18
|
+
status: 'failed',
|
|
19
|
+
error: result.error?.message ?? summarizeInstallError(result.stderr ?? ''),
|
|
20
|
+
at: Date.now(),
|
|
21
|
+
};
|
|
22
|
+
writeFileSync(stateFile, JSON.stringify(outcome) + '\n', 'utf-8');
|
|
23
|
+
//# sourceMappingURL=update-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-worker.js","sourceRoot":"","sources":["../src/update-worker.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,iFAAiF;AACjF,+EAA+E;AAE/E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,kBAAkB,CAAA;AAE7E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAGrE,CAAA;AAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE;IACtC,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;IACnC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IACtB,WAAW,EAAE,IAAI;CAClB,CAAC,CAAA;AAEF,MAAM,OAAO,GACX,MAAM,CAAC,MAAM,KAAK,CAAC;IACjB,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;IACjD,CAAC,CAAC;QACE,GAAG,KAAK;QACR,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAC1E,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;KACf,CAAA;AAEP,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polyhedral/cli",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.7",
|
|
4
4
|
"description": "CLI tool for local Polyhedral custom sheet template development",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -27,15 +27,17 @@
|
|
|
27
27
|
"node": ">=20"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@babel/
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
30
|
+
"@babel/standalone": "7.26.10",
|
|
31
|
+
"chokidar": "^5.0.0",
|
|
32
|
+
"commander": "^15.0.0",
|
|
33
|
+
"open": "^11.0.1",
|
|
34
|
+
"semver": "^7.8.5",
|
|
35
|
+
"update-notifier": "^7.3.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@types/node": "^
|
|
39
|
-
"
|
|
38
|
+
"@types/node": "^26.2.0",
|
|
39
|
+
"@types/semver": "^7.8.0",
|
|
40
|
+
"@types/update-notifier": "^6.0.8",
|
|
41
|
+
"typescript": "7.0.2"
|
|
40
42
|
}
|
|
41
43
|
}
|