@nabnflow/cli 0.0.5 → 0.0.6

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.
@@ -0,0 +1,4 @@
1
+ import { Hook } from '@oclif/core';
2
+ declare const hook: Hook<'init'>;
3
+ export default hook;
4
+ //# sourceMappingURL=auto-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../../src/hooks/init/auto-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAMhC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,CAwBtB,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { execSync } from 'node:child_process';
2
+ import { getLastUpdateCheck, setLastUpdateCheck } from '../../lib/config.js';
3
+ const ONE_DAY = 24 * 60 * 60 * 1000;
4
+ const hook = async function () {
5
+ try {
6
+ const lastCheck = getLastUpdateCheck();
7
+ const now = Date.now();
8
+ if (lastCheck && now - lastCheck < ONE_DAY)
9
+ return;
10
+ setLastUpdateCheck(now);
11
+ const res = await fetch('https://registry.npmjs.org/@nabnflow/cli/latest');
12
+ if (!res.ok)
13
+ return;
14
+ const data = (await res.json());
15
+ const latest = data.version;
16
+ const current = this.config.version;
17
+ if (latest !== current) {
18
+ this.log(`Updating nabnflow ${current} → ${latest}...`);
19
+ execSync('npm install -g @nabnflow/cli@latest', { stdio: 'inherit' });
20
+ this.log('Update complete.\n');
21
+ }
22
+ }
23
+ catch {
24
+ // silently fail — never block the command
25
+ }
26
+ };
27
+ export default hook;
28
+ //# sourceMappingURL=auto-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../../src/hooks/init/auto-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAE1E,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEnC,MAAM,IAAI,GAAiB,KAAK;IAC9B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAA;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEtB,IAAI,SAAS,IAAI,GAAG,GAAG,SAAS,GAAG,OAAO;YAAE,OAAM;QAElD,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAEvB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAA;QAC1E,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAM;QAEnB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAsB,CAAA;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;QAEnC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,qBAAqB,OAAO,MAAM,MAAM,KAAK,CAAC,CAAA;YACvD,QAAQ,CAAC,qCAAqC,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAA;YACnE,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;AACH,CAAC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -3,4 +3,6 @@ export declare const setToken: (token: string) => void;
3
3
  export declare const clearToken: () => void;
4
4
  export declare const getBaseUrl: () => string;
5
5
  export declare const setBaseUrl: (url: string) => void;
6
+ export declare const getLastUpdateCheck: () => number | undefined;
7
+ export declare const setLastUpdateCheck: (ts: number) => void;
6
8
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,QAAQ,QAAO,MAAM,GAAG,SAA+B,CAAA;AACpE,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,IAAiC,CAAA;AAC1E,eAAO,MAAM,UAAU,QAAO,IAA6B,CAAA;AAE3D,eAAO,MAAM,UAAU,QAAO,MACqE,CAAA;AAEnG,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,IAAiC,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ,QAAO,MAAM,GAAG,SAA+B,CAAA;AACpE,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,IAAiC,CAAA;AAC1E,eAAO,MAAM,UAAU,QAAO,IAA6B,CAAA;AAE3D,eAAO,MAAM,UAAU,QAAO,MACqE,CAAA;AAEnG,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,IAAiC,CAAA;AAE1E,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,SAAyC,CAAA;AACxF,eAAO,MAAM,kBAAkB,GAAI,IAAI,MAAM,KAAG,IAAwC,CAAA"}
@@ -5,4 +5,6 @@ export const setToken = (token) => store.set('token', token);
5
5
  export const clearToken = () => store.delete('token');
6
6
  export const getBaseUrl = () => process.env.NABFLOW_API_URL ?? store.get('baseUrl') ?? 'https://industrious-wren-495.convex.site';
7
7
  export const setBaseUrl = (url) => store.set('baseUrl', url);
8
+ export const getLastUpdateCheck = () => store.get('lastUpdateCheck');
9
+ export const setLastUpdateCheck = (ts) => store.set('lastUpdateCheck', ts);
8
10
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAOvB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAgB,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAG,GAAS,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE,CACrC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,0CAA0C,CAAA;AAEnG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAQvB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAgB,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAG,GAAS,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE,CACrC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,0CAA0C,CAAA;AAEnG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AAE1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;AACxF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nabnflow/cli",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "Nab&Flow CLI — project management from your terminal",
5
5
  "type": "module",
6
6
  "bin": {
@@ -31,7 +31,12 @@
31
31
  "topicSeparator": " ",
32
32
  "plugins": [
33
33
  "@oclif/plugin-update"
34
- ]
34
+ ],
35
+ "hooks": {
36
+ "init": [
37
+ "./dist/hooks/init/auto-update"
38
+ ]
39
+ }
35
40
  },
36
41
  "engines": {
37
42
  "node": ">=18"