@oktis-works/validation 0.1.10 → 0.1.13

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.
@@ -11,7 +11,7 @@ export interface CompatibilityIssue {
11
11
  message: string;
12
12
  }
13
13
  /** Versão do CMS contra a qual a compatibilidade é avaliada. */
14
- export declare const CMS_VERSION = "0.1.10";
14
+ export declare const CMS_VERSION = "0.1.13";
15
15
  /**
16
16
  * Valida o manifesto de uma extensão (plugin|theme) contra a versão do CMS.
17
17
  * BUSI-022: manifest deve conter name, version, type e compatibility.okcms;
@@ -1,7 +1,7 @@
1
1
  // @oktis-works/validation - Extension Compatibility (BUSI-022 / RULE-semver-compatibility)
2
2
  import { satisfies, validRange } from 'semver';
3
3
  /** Versão do CMS contra a qual a compatibilidade é avaliada. */
4
- export const CMS_VERSION = '0.1.10';
4
+ export const CMS_VERSION = '0.1.13';
5
5
  /**
6
6
  * Valida o manifesto de uma extensão (plugin|theme) contra a versão do CMS.
7
7
  * BUSI-022: manifest deve conter name, version, type e compatibility.okcms;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oktis-works/validation",
3
- "version": "0.1.10",
3
+ "version": "0.1.13",
4
4
  "description": "Pure field validation library (ACF parity) — UI-safe, sem dependência de banco",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=compatibility.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compatibility.test.d.ts","sourceRoot":"","sources":["../src/compatibility.test.ts"],"names":[],"mappings":""}
@@ -1,50 +0,0 @@
1
- // @oktis-works/validation - Extension Compatibility Tests (BUSI-022, RULE-semver-compatibility, REQU-023)
2
- import { describe, it, expect } from 'vitest';
3
- import { checkExtensionCompatibility, assertCompatible, CMS_VERSION } from './compatibility.js';
4
- const valid = {
5
- name: 'meu-plugin',
6
- version: '1.2.3',
7
- type: 'plugin',
8
- compatibility: { okcms: '>=0.1.0 <1.0.0' },
9
- };
10
- describe('checkExtensionCompatibility (BUSI-022)', () => {
11
- it('aceita manifest completo e compatível', () => {
12
- expect(checkExtensionCompatibility('plugin', valid)).toEqual([]);
13
- });
14
- it('exige name, version, type e compatibility.okcms', () => {
15
- const issues = checkExtensionCompatibility('theme', {});
16
- expect(issues.map((i) => i.code).filter((c) => c === 'MANIFEST_INCOMPLETE').length).toBe(4);
17
- });
18
- it('bloqueia range semver inválido', () => {
19
- const issues = checkExtensionCompatibility('plugin', {
20
- ...valid,
21
- compatibility: { okcms: 'latest || *-oops' },
22
- });
23
- expect(issues[0].code).toBe('INVALID_RANGE');
24
- });
25
- it('bloqueia versão do CMS fora do range declarado', () => {
26
- const issues = checkExtensionCompatibility('plugin', {
27
- ...valid,
28
- compatibility: { okcms: '^9.9.0' },
29
- });
30
- expect(issues[0].code).toBe('INCOMPATIBLE_VERSION');
31
- expect(issues[0].message).toContain(CMS_VERSION);
32
- });
33
- it('respeita ranges parciais (^, ~, >=)', () => {
34
- for (const range of ['^0.1.0', '~0.1.0', '>=0.1.0']) {
35
- const issues = checkExtensionCompatibility('plugin', {
36
- ...valid,
37
- compatibility: { okcms: range },
38
- });
39
- expect(issues).toEqual([]);
40
- }
41
- });
42
- it('assertCompatible lança com mensagem agregada', () => {
43
- expect(() => assertCompatible('plugin', {
44
- ...valid,
45
- compatibility: { okcms: '^99.0.0' },
46
- })).toThrow(new RegExp(`incompatível \\(plugin\\): .*${CMS_VERSION.replace(/\./g, '\\.')}`));
47
- expect(() => assertCompatible('theme', valid)).not.toThrow();
48
- });
49
- });
50
- //# sourceMappingURL=compatibility.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compatibility.test.js","sourceRoot":"","sources":["../src/compatibility.test.ts"],"names":[],"mappings":"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"}