@ceupay/template-cli 0.0.0-stage → 0.1.0-alpha.2
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/CHANGELOG.md +22 -0
- package/LICENSE +79 -0
- package/README.md +123 -3
- package/dist/main.cjs +22311 -0
- package/dist/third-party-notices.txt +348 -0
- package/package.json +43 -3
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.1.0-alpha.2
|
|
4
|
+
|
|
5
|
+
Add an explicit proprietary use license allowing npm/npx installation and
|
|
6
|
+
AI-assisted customization of authorized CeuPay stores, including commercial
|
|
7
|
+
client work. Preserve ownership of original merchant content and third-party
|
|
8
|
+
license permissions. Include and verify the exact license in the packed artifact.
|
|
9
|
+
|
|
10
|
+
Prepare the first public npm distribution under `@ceupay`, with explicit public
|
|
11
|
+
access and the `alpha` distribution tag. The standalone CLI includes third-party
|
|
12
|
+
license notices. Local editing and guarded remote publication remain unchanged.
|
|
13
|
+
|
|
14
|
+
Prévias opcionais de catálogo, produto e post por `--page`, com contexto fictício e validação das páginas permitidas. O formato JSON existente preserva esses arquivos. Apresentação pública depende de piloto separado, ainda desativado.
|
|
15
|
+
|
|
16
|
+
Fluxo remoto do piloto: baixar template e histórico, preparar operação persistente, publicar/restaurar com confirmação explícita e recuperar resposta perdida. Vínculo com loja/origem e revisão protege o projeto; credenciais ficam no ambiente. Piloto desativado, alpha ainda não publicada.
|
|
17
|
+
|
|
18
|
+
## 0.1.0-alpha.1
|
|
19
|
+
|
|
20
|
+
Primeira alpha local: projetos dos modelos existentes, importação/exportação JSON, validação sem truncamento silencioso e prévia com catálogo fictício. Reutiliza os validadores e sanitizadores canônicos.
|
|
21
|
+
|
|
22
|
+
Não publicada. Download da loja, publicação remota e histórico/restauração seguem pendentes.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
CeuPay Editor Proprietary Use License
|
|
2
|
+
Version 1.0 — 2026-10-29
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2026 the CeuPay Editor rights holders. All rights reserved except
|
|
5
|
+
for the permissions expressly granted below.
|
|
6
|
+
|
|
7
|
+
1. Scope
|
|
8
|
+
|
|
9
|
+
This license applies to the CeuPay-owned code in @ceupay/template-cli, including
|
|
10
|
+
its editor, validators and bundled CeuPay rendering code (the "Editor"). It does
|
|
11
|
+
not license the CeuPay platform, backend, website, API service, trademarks or any
|
|
12
|
+
other repository code. Third-party components are addressed in section 5.
|
|
13
|
+
|
|
14
|
+
2. Permitted use
|
|
15
|
+
|
|
16
|
+
You may download, install, run and make reasonable working or backup copies of
|
|
17
|
+
the Editor, including through npm or npx, to create, inspect, edit, validate,
|
|
18
|
+
preview, import, export and publish templates for CeuPay stores you own or are
|
|
19
|
+
authorized to manage. This permission includes commercial stores and paid design
|
|
20
|
+
or development work for authorized CeuPay customers. No separate Editor license
|
|
21
|
+
fee is required under this license; use of CeuPay services may require a plan.
|
|
22
|
+
|
|
23
|
+
You may use coding assistants, including Claude, Codex and other AI tools, to
|
|
24
|
+
perform that permitted work. You may provide them the documentation, template
|
|
25
|
+
files and Editor material reasonably needed for that work, subject to your own
|
|
26
|
+
authorization to share those materials. This permission does not authorize
|
|
27
|
+
disclosing store credentials, customer data or other confidential information.
|
|
28
|
+
|
|
29
|
+
You may inspect the Editor and make local adaptations needed for this permitted
|
|
30
|
+
use. You may not distribute those adaptations as a modified Editor without
|
|
31
|
+
separate written permission from its rights holders.
|
|
32
|
+
|
|
33
|
+
3. Your templates and other content
|
|
34
|
+
|
|
35
|
+
This license does not transfer ownership of the templates, HTML, CSS, JavaScript,
|
|
36
|
+
text or other original content you create. You may use, modify, sell and share
|
|
37
|
+
your own template work, including work created with AI assistance, subject to
|
|
38
|
+
rights in any pre-existing material it contains. Bundled CeuPay template examples
|
|
39
|
+
may be used and adapted as part of templates for CeuPay stores under section 2.
|
|
40
|
+
Generating or exporting a template does not transfer ownership of the Editor.
|
|
41
|
+
|
|
42
|
+
4. Reserved rights
|
|
43
|
+
|
|
44
|
+
Except as expressly permitted above or required by applicable law, you may not
|
|
45
|
+
redistribute, relicense, sublicense, sell or publish copies of the Editor or
|
|
46
|
+
modified versions of it; remove its copyright or license notices; or use its
|
|
47
|
+
code to build or operate a separate editor, competing platform or general-purpose
|
|
48
|
+
template service. You may link others to the official package distribution.
|
|
49
|
+
Public availability on npm does not make this Editor open-source software or
|
|
50
|
+
grant a license to other CeuPay systems. No trademark rights are granted.
|
|
51
|
+
|
|
52
|
+
5. Third-party software
|
|
53
|
+
|
|
54
|
+
Third-party components retain their own licenses, notices and permissions.
|
|
55
|
+
See dist/third-party-notices.txt and the licenses supplied with any separately
|
|
56
|
+
installed dependencies. Nothing in this license restricts rights granted by
|
|
57
|
+
those third-party licenses. Its restrictions apply only to CeuPay-owned code.
|
|
58
|
+
|
|
59
|
+
6. Service authorization
|
|
60
|
+
|
|
61
|
+
This license does not grant access to a store, account or API. Remote operations
|
|
62
|
+
require the relevant owner's authorization and valid CeuPay access permissions.
|
|
63
|
+
It does not waive service terms or authorize bypassing authentication, store
|
|
64
|
+
isolation, payment validation, plan limits or publication controls.
|
|
65
|
+
|
|
66
|
+
7. Warranty and liability
|
|
67
|
+
|
|
68
|
+
To the extent permitted by applicable law, the Editor is provided "AS IS",
|
|
69
|
+
without warranties of merchantability, fitness for a particular purpose or
|
|
70
|
+
non-infringement. Its rights holders are not liable for indirect or consequential
|
|
71
|
+
loss arising from its use. Nothing here excludes rights or liabilities that
|
|
72
|
+
cannot lawfully be excluded.
|
|
73
|
+
|
|
74
|
+
8. Compliance
|
|
75
|
+
|
|
76
|
+
The permissions in this license are conditional on compliance with it. If you
|
|
77
|
+
use or distribute the Editor outside these permissions, stop that unauthorized
|
|
78
|
+
use and distribution. Other permissions require separate written authorization
|
|
79
|
+
from the CeuPay Editor rights holders through the official CeuPay support channel.
|
package/README.md
CHANGED
|
@@ -1,3 +1,123 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# CLI de templates CeuPay
|
|
2
|
+
|
|
3
|
+
Alpha da etapa 7. Cria projetos editáveis, importa/exporta o JSON existente, valida arquivos e gera prévia local. O fluxo remoto exige habilitação explícita da loja e acesso à API. Novas publicações de código e restaurações exigem o recurso templates.
|
|
4
|
+
|
|
5
|
+
Distribuição pública alpha:
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install --global @ceupay/template-cli@alpha
|
|
9
|
+
ceupay-template --help
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Pacote instalável disponível na [release privada tools-v0.1.0-alpha.1](https://github.com/ceu-studio/store/releases/tag/tools-v0.1.0-alpha.1).
|
|
13
|
+
Baixe `ceupay-template-cli-0.1.0-alpha.1.tgz` e `SHA256SUMS`, confira o SHA-256 e instale:
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
npm install ./ceupay-template-cli-0.1.0-alpha.1.tgz
|
|
17
|
+
npx ceupay-template --help
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
O download exige acesso ao repositório privado. Comandos locais não exigem credenciais de provedores.
|
|
21
|
+
A alpha.2 usa distribuição pública no npm; a alpha.1 privada é preservada.
|
|
22
|
+
|
|
23
|
+
## Licença
|
|
24
|
+
|
|
25
|
+
O editor é proprietário. A [licença de uso](LICENSE) permite instalar e executar
|
|
26
|
+
o pacote por npm/npx e usar Claude, Codex ou outras ferramentas para personalizar
|
|
27
|
+
lojas CeuPay próprias ou de clientes que autorizaram o trabalho, inclusive comercialmente.
|
|
28
|
+
Você mantém os direitos sobre seu conteúdo original. A licença não permite
|
|
29
|
+
redistribuir o editor ou criar outra plataforma com o código dele. Componentes
|
|
30
|
+
de terceiros mantêm suas respectivas licenças em `dist/third-party-notices.txt`.
|
|
31
|
+
|
|
32
|
+
## Preparar
|
|
33
|
+
|
|
34
|
+
Requer Node 22.12 ou superior e pnpm 8.15.9. No repositório:
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
pnpm install --frozen-lockfile --ignore-scripts
|
|
38
|
+
pnpm build
|
|
39
|
+
pnpm test:types
|
|
40
|
+
pnpm test
|
|
41
|
+
pnpm pack --pack-destination .runtime/dist
|
|
42
|
+
pnpm check:package
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
O build reutiliza os validadores do site/backend e o renderizador Liquid/HTML/CSS existente. O arquivo `dist/main.cjs` já inclui as dependências necessárias, com seus avisos em `dist/third-party-notices.txt`. A CLI não altera as dependências do site/backend.
|
|
46
|
+
|
|
47
|
+
Os testes HTTPS exigem OpenSSL. No Windows, `CEUPAY_TEST_OPENSSL` pode indicar o executável instalado.
|
|
48
|
+
|
|
49
|
+
## Criar e editar
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
node dist/main.cjs bases
|
|
53
|
+
node dist/main.cjs init fogueira ./meu-template
|
|
54
|
+
node dist/main.cjs validate ./meu-template
|
|
55
|
+
node dist/main.cjs preview ./meu-template ./preview.html
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`init` exige uma pasta que ainda não exista. A pasta pai precisa existir. O projeto contém `ceupay-template.json` com nome, versão, schema e valores; o código fica em `pages/`, `layouts/`, `components/`, `styles/` e `scripts/`. Edite os arquivos com seu editor habitual. A prévia usa catálogo fictício, sem autenticação ou pagamento.
|
|
59
|
+
|
|
60
|
+
Abra o HTML gerado no seu navegador. A CLI não inicia servidor nem abre portas. A prévia usa os sanitizadores existentes e bloqueia scripts por CSP; os arquivos JavaScript do projeto ficam preservados para exportação, mas não são executados nessa prévia. Imagens HTTPS externas podem ser carregadas pelo navegador.
|
|
61
|
+
|
|
62
|
+
Arquivos opcionais `pages/catalog.liquid`, `pages/product.liquid` e `pages/post.liquid` podem ser visualizados com `--page catalog`, `--page product` ou `--page post`. A prévia usa dados fictícios e preserva os arquivos na importação/exportação. Na loja, a apresentação dessas páginas depende de um piloto separado, inicialmente desligado. Variantes, campos obrigatórios, carrinho, autenticação e pagamento continuam controlados pela plataforma.
|
|
63
|
+
|
|
64
|
+
## Importar e exportar o formato existente
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
node dist/main.cjs import ./ceupay-template-exportado.json ./projeto-importado
|
|
68
|
+
node dist/main.cjs export ./projeto-importado ./ceupay-template-editado.json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
O JSON exportado mantém o contrato do painel. Os comandos locais não publicam na loja.
|
|
72
|
+
|
|
73
|
+
Código, exportações e arquivos de operação existentes não são sobrescritos. Validação recusa links simbólicos, caminhos fora do formato permitido, arquivos grandes, Liquid inválido e dados que seriam silenciosamente truncados pelos validadores. Erros não imprimem o conteúdo do template. Não apague seus arquivos para contornar uma falha; corrija o conteúdo ou escolha outro destino.
|
|
74
|
+
|
|
75
|
+
## Baixar da loja
|
|
76
|
+
|
|
77
|
+
Configure `CEUPAY_API_KEY` no ambiente protegido. A CLI não aceita a chave como argumento, não grava credenciais e não desativa a verificação TLS. O proprietário deve delegar `templates:read` e, para publicar/restaurar, `templates:write` em uma chave `cc_prod_`. Chaves de teste só consultam.
|
|
78
|
+
|
|
79
|
+
```sh
|
|
80
|
+
node dist/main.cjs pull ./template-da-loja
|
|
81
|
+
node dist/main.cjs history --limit 20
|
|
82
|
+
node dist/main.cjs history --before 5 --limit 20
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Uma loja sem template customizado exige escolha de modelo: `pull ./novo-template --base horizonte`. `--revision 3` baixa uma versão anterior para inspeção. A CLI salva origem, loja, revisão e checksum em `.ceupay-remote.json`, sem a chave. Para outro servidor, configure `--api-origin https://sua-api.example` ou `CEUPAY_API_ORIGIN`; um arquivo local nunca escolhe sozinho o destino que receberá a credencial. `--store UUID` confere explicitamente a loja associada à chave.
|
|
86
|
+
|
|
87
|
+
## Preparar e publicar
|
|
88
|
+
|
|
89
|
+
```sh
|
|
90
|
+
node dist/main.cjs validate ./template-da-loja
|
|
91
|
+
node dist/main.cjs preview ./template-da-loja ./preview.html
|
|
92
|
+
node dist/main.cjs prepare-publish ./template-da-loja ./publicacao.json
|
|
93
|
+
# Revise publicacao.json: loja, origem, revisão e conteúdo.
|
|
94
|
+
node dist/main.cjs publish ./template-da-loja ./publicacao.json --yes
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Preparar salva uma operação nova antes de qualquer escrita remota. Publicar exige `--yes`, confere o conteúdo preparado e usa o SDK público. Em um projeto criado por `init` ou `import`, a primeira preparação também exige `--store UUID`. Publicação confirmada atualiza somente o vínculo remoto; seus arquivos de código permanecem editáveis. A versão interna do template é atribuída pelo servidor, e a revisão/checksum remotos controlam concorrência.
|
|
98
|
+
|
|
99
|
+
Se a loja mudou desde o download, a preparação é recusada. Baixe a revisão atual em outra pasta e revise suas alterações. Uma mudança após a preparação retorna `409 template/revision_conflict`. A CLI não avança silenciosamente a base para sobrescrever outra edição.
|
|
100
|
+
|
|
101
|
+
Após resposta perdida, preserve o arquivo e use a mesma operação:
|
|
102
|
+
|
|
103
|
+
```sh
|
|
104
|
+
node dist/main.cjs publish ./template-da-loja ./publicacao.json --yes
|
|
105
|
+
# Se o projeto mudou ou ficou bloqueado após uma interrupção:
|
|
106
|
+
node dist/main.cjs replay ./publicacao.json --yes
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Não prepare outro UUID para compensar uma resposta incerta. `replay` reenvia a operação original: recupera a confirmação se ela já foi aplicada, ou permite sua primeira execução autorizada se não foi. Informa `replayed`, `revision` e `currentRevision`, sem alterar a pasta local. Se o vínculo não pôde ser atualizado, baixe o tema em nova pasta e revise os arquivos. Perder o recurso templates preserva consultas e recibos existentes, mas bloqueia novas instalações/restaurações. A operação recusada fica no disco para revisão ou retomada após upgrade. Perder o acesso à API, a chave ser revogada ou o piloto ficar indisponível continua bloqueando as chamadas; use o painel autenticado para consultar/remover quando a API não estiver disponível.
|
|
110
|
+
|
|
111
|
+
## Restaurar uma versão
|
|
112
|
+
|
|
113
|
+
```sh
|
|
114
|
+
node dist/main.cjs prepare-restore 3 ./restauracao.json --store UUID-DA-LOJA
|
|
115
|
+
# Revise restauracao.json antes de confirmar.
|
|
116
|
+
node dist/main.cjs restore ./restauracao.json --yes
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
A restauração preserva o histórico e usa revisão/checksum atuais, UUID persistente e snapshot histórico conferido. Depois, baixe o tema atual em nova pasta antes de continuar a edição. Saídas de confirmação mostram metadados, sem despejar o código do template.
|
|
120
|
+
|
|
121
|
+
## Verificação
|
|
122
|
+
|
|
123
|
+
Testes usam processos CLI reais, incluindo HTTPS com certificado isolado, confirmação explícita, resposta perdida, vínculo/loja/origem, revisão desatualizada e arquivos preservados. O teste do pacote instala o arquivo em consumidor separado; `SHA256SUMS` acompanha a alpha local. O CI também executa o pacote instalado em Node compatível contra Nest/PostgreSQL reais, junto das verificações de comércio. A publicação da alpha e a liberação do piloto continuam pendentes.
|