@v1ct0rbr/minivault-web 0.6.3 → 0.6.4

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 CHANGED
@@ -1,75 +1,75 @@
1
- # minivault-web
2
-
3
- Módulo independente de **gestão de backups** (cliente do serviço
4
- [minivault](../minivault)). Consumível como pacote npm em qualquer app React,
5
- estilizado com Bootstrap. Comunica-se com a API REST do minivault — normalmente
6
- através de um **proxy autenticado** (ex.: `/minivault` no backend do Siga+), de
7
- modo que a `X-API-Key` do minivault jamais trafega no browser.
8
-
9
- ## Recursos
10
-
11
- - Lista de backups com paginação, status, tamanho e data.
12
- - Criação de backup (com origem de arquivos LOCAL ou S3, opcional).
13
- - Restauração de backup em um banco informado.
14
- - Importação de dump SQL em texto (`psql`/`mysql`) via upload.
15
- - Download e exclusão de backups.
16
- - Tema claro/escuro e auto-refresh.
17
-
18
- ## Instalação
19
-
20
- ```bash
21
- npm install @v1ct0rbr/minivault-web
22
- ```
23
-
24
- Como dependência local durante o desenvolvimento:
25
-
26
- ```bash
27
- npm install file:../minivault-web
28
- ```
29
-
30
- ## Uso no Siga+ (proxy autenticado)
31
-
32
- ```tsx
33
- import { MinivaultModule } from '@v1ct0rbr/minivault-web'
34
- import '@v1ct0rbr/minivault-web/style.css'
35
- import { useAuthStore } from '@/store/useAuthStore'
36
-
37
- const apiBase = import.meta.env.VITE_API_BASE_URL || 'http://localhost:8080'
38
-
39
- export function MinivaultPage() {
40
- const getToken = () => useAuthStore.getState().token
41
- return <MinivaultModule baseUrl={apiBase + '/minivault'} getToken={getToken} />
42
- }
43
- ```
44
-
45
- ## Uso standalone (desenvolvimento)
46
-
47
- ```tsx
48
- <MinivaultModule baseUrl="http://localhost:8081" token="api-key-do-minivault" />
49
- ```
50
-
51
- > Em produção o token do minivault deve ficar apenas no proxy do backend, nunca
52
- > no bundle do frontend.
53
-
54
- ## Desenvolvimento
55
-
56
- ```bash
57
- npm install
58
- npm run dev # playground standalone (porta 5176)
59
- npm run build:lib # gera dist/ (lib ES + types)
60
- npm test # vitest
61
- npm run typecheck # tsc --noEmit
62
- ```
63
-
64
- ### Playground standalone
65
-
66
- ```bash
67
- VITE_MINIVAULT_API_URL=http://localhost:8081 VITE_MINIVAULT_API_TOKEN=chave npm run dev
68
- ```
69
-
70
- ## Publicação
71
-
72
- ```bash
73
- npm run build:lib && npm test
74
- npm publish --access public
1
+ # minivault-web
2
+
3
+ Módulo independente de **gestão de backups** (cliente do serviço
4
+ [minivault](../minivault)). Consumível como pacote npm em qualquer app React,
5
+ estilizado com Bootstrap. Comunica-se com a API REST do minivault — normalmente
6
+ através de um **proxy autenticado** (ex.: `/minivault` no backend do Siga+), de
7
+ modo que a `X-API-Key` do minivault jamais trafega no browser.
8
+
9
+ ## Recursos
10
+
11
+ - Lista de backups com paginação, status, tamanho e data.
12
+ - Criação de backup (com origem de arquivos LOCAL ou S3, opcional).
13
+ - Restauração de backup em um banco informado.
14
+ - Importação de dump SQL em texto (`psql`/`mysql`) via upload.
15
+ - Download e exclusão de backups.
16
+ - Tema claro/escuro e auto-refresh.
17
+
18
+ ## Instalação
19
+
20
+ ```bash
21
+ npm install @v1ct0rbr/minivault-web
22
+ ```
23
+
24
+ Como dependência local durante o desenvolvimento:
25
+
26
+ ```bash
27
+ npm install file:../minivault-web
28
+ ```
29
+
30
+ ## Uso no Siga+ (proxy autenticado)
31
+
32
+ ```tsx
33
+ import { MinivaultModule } from '@v1ct0rbr/minivault-web'
34
+ import '@v1ct0rbr/minivault-web/style.css'
35
+ import { useAuthStore } from '@/store/useAuthStore'
36
+
37
+ const apiBase = import.meta.env.VITE_API_BASE_URL || 'http://localhost:8080'
38
+
39
+ export function MinivaultPage() {
40
+ const getToken = () => useAuthStore.getState().token
41
+ return <MinivaultModule baseUrl={apiBase + '/minivault'} getToken={getToken} />
42
+ }
43
+ ```
44
+
45
+ ## Uso standalone (desenvolvimento)
46
+
47
+ ```tsx
48
+ <MinivaultModule baseUrl="http://localhost:8081" token="api-key-do-minivault" />
49
+ ```
50
+
51
+ > Em produção o token do minivault deve ficar apenas no proxy do backend, nunca
52
+ > no bundle do frontend.
53
+
54
+ ## Desenvolvimento
55
+
56
+ ```bash
57
+ npm install
58
+ npm run dev # playground standalone (porta 5176)
59
+ npm run build:lib # gera dist/ (lib ES + types)
60
+ npm test # vitest
61
+ npm run typecheck # tsc --noEmit
62
+ ```
63
+
64
+ ### Playground standalone
65
+
66
+ ```bash
67
+ VITE_MINIVAULT_API_URL=http://localhost:8081 VITE_MINIVAULT_API_TOKEN=chave npm run dev
68
+ ```
69
+
70
+ ## Publicação
71
+
72
+ ```bash
73
+ npm run build:lib && npm test
74
+ npm publish --access public
75
75
  ```
@@ -1624,7 +1624,11 @@ function Z({ storageType: e = "LOCAL", storageConfig: n }) {
1624
1624
  o.href = a, o.download = r, document.body.appendChild(o), o.click(), o.remove(), window.URL.revokeObjectURL(a);
1625
1625
  } catch {}
1626
1626
  }, N = async () => {
1627
- for (let e of v) await M(e);
1627
+ let e = [...v].filter((e) => {
1628
+ let t = w?.find((t) => t.path === e);
1629
+ return t != null && !t.directory;
1630
+ });
1631
+ for (let t of e) await M(t);
1628
1632
  }, P = (e) => e ? z(e) : "-";
1629
1633
  return /* @__PURE__ */ m("div", {
1630
1634
  className: "space-y-3",
package/package.json CHANGED
@@ -1,73 +1,73 @@
1
- {
2
- "name": "@v1ct0rbr/minivault-web",
3
- "version": "0.6.3",
4
- "description": "Módulo independente de gerenciamento de backups (minivault). Consumível como pacote npm em qualquer app React. Cliente do minivault REST API (acesso tipicamente via proxy autenticado).",
5
- "author": "Victor Queiroga (https://www.linkedin.com/in/victor-queiroga)",
6
- "license": "MIT",
7
- "type": "module",
8
- "publishConfig": {
9
- "access": "public",
10
- "registry": "https://registry.npmjs.org/"
11
- },
12
- "files": [
13
- "dist",
14
- "README.md"
15
- ],
16
- "keywords": [
17
- "backup",
18
- "minivault",
19
- "der",
20
- "react",
21
- "bootstrap",
22
- "postgresql"
23
- ],
24
- "repository": {
25
- "type": "git",
26
- "url": "https://github.com/v1ct0rbr/minivault-web.git"
27
- },
28
- "main": "./dist/minivault-web.js",
29
- "module": "./dist/minivault-web.js",
30
- "types": "./dist/index.d.ts",
31
- "exports": {
32
- ".": {
33
- "types": "./dist/index.d.ts",
34
- "import": "./dist/minivault-web.js"
35
- },
36
- "./style.css": "./dist/minivault-web.css"
37
- },
38
- "scripts": {
39
- "dev": "vite --port 5176",
40
- "build": "vite build && tsc --noEmit",
41
- "build:lib": "vite build --config vite.lib.config.ts && tsc --noEmit",
42
- "prepublishOnly": "npm run build:lib && npm test",
43
- "prepack": "npm run build:lib",
44
- "preview": "vite preview",
45
- "test": "vitest run",
46
- "test:watch": "vitest",
47
- "typecheck": "tsc --noEmit",
48
- "lint": "eslint ."
49
- },
50
- "dependencies": {
51
- "bootstrap": "^5.3.3",
52
- "bootstrap-icons": "^1.11.3"
53
- },
54
- "peerDependencies": {
55
- "@tanstack/react-query": "^5.0.0",
56
- "react": "^19.0.0",
57
- "react-dom": "^19.0.0"
58
- },
59
- "devDependencies": {
60
- "@tanstack/react-query": "^5.66.5",
61
- "@types/node": "^22.10.2",
62
- "@types/react": "^19.2.0",
63
- "@types/react-dom": "^19.2.0",
64
- "@vitejs/plugin-react": "^5.0.4",
65
- "postcss-prefix-selector": "^2.1.1",
66
- "react": "^19.2.0",
67
- "react-dom": "^19.2.0",
68
- "typescript": "^5.7.2",
69
- "vite": "^8.0.16",
70
- "vite-plugin-dts": "^4.5.0",
71
- "vitest": "^4.1.8"
72
- }
1
+ {
2
+ "name": "@v1ct0rbr/minivault-web",
3
+ "version": "0.6.4",
4
+ "description": "Módulo independente de gerenciamento de backups (minivault). Consumível como pacote npm em qualquer app React. Cliente do minivault REST API (acesso tipicamente via proxy autenticado).",
5
+ "author": "Victor Queiroga (https://www.linkedin.com/in/victor-queiroga)",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "publishConfig": {
9
+ "access": "public",
10
+ "registry": "https://registry.npmjs.org/"
11
+ },
12
+ "files": [
13
+ "dist",
14
+ "README.md"
15
+ ],
16
+ "keywords": [
17
+ "backup",
18
+ "minivault",
19
+ "der",
20
+ "react",
21
+ "bootstrap",
22
+ "postgresql"
23
+ ],
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/v1ct0rbr/minivault-web.git"
27
+ },
28
+ "main": "./dist/minivault-web.js",
29
+ "module": "./dist/minivault-web.js",
30
+ "types": "./dist/index.d.ts",
31
+ "exports": {
32
+ ".": {
33
+ "types": "./dist/index.d.ts",
34
+ "import": "./dist/minivault-web.js"
35
+ },
36
+ "./style.css": "./dist/minivault-web.css"
37
+ },
38
+ "scripts": {
39
+ "dev": "vite --port 5176",
40
+ "build": "vite build && tsc --noEmit",
41
+ "build:lib": "vite build --config vite.lib.config.ts && tsc --noEmit",
42
+ "prepublishOnly": "npm run build:lib && npm test",
43
+ "prepack": "npm run build:lib",
44
+ "preview": "vite preview",
45
+ "test": "vitest run",
46
+ "test:watch": "vitest",
47
+ "typecheck": "tsc --noEmit",
48
+ "lint": "eslint ."
49
+ },
50
+ "dependencies": {
51
+ "bootstrap": "^5.3.3",
52
+ "bootstrap-icons": "^1.11.3"
53
+ },
54
+ "peerDependencies": {
55
+ "@tanstack/react-query": "^5.0.0",
56
+ "react": "^19.0.0",
57
+ "react-dom": "^19.0.0"
58
+ },
59
+ "devDependencies": {
60
+ "@tanstack/react-query": "^5.66.5",
61
+ "@types/node": "^22.10.2",
62
+ "@types/react": "^19.2.0",
63
+ "@types/react-dom": "^19.2.0",
64
+ "@vitejs/plugin-react": "^5.0.4",
65
+ "postcss-prefix-selector": "^2.1.1",
66
+ "react": "^19.2.0",
67
+ "react-dom": "^19.2.0",
68
+ "typescript": "^5.7.2",
69
+ "vite": "^8.0.16",
70
+ "vite-plugin-dts": "^4.5.0",
71
+ "vitest": "^4.1.8"
72
+ }
73
73
  }