@nitra/cursor 1.9.3 → 1.9.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/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
Формат — [Keep a Changelog](https://keepachangelog.com/uk/1.1.0/), нумерація — [SemVer](https://semver.org/lang/uk/).
|
|
6
6
|
|
|
7
|
+
## [1.9.4] - 2026-05-11
|
|
8
|
+
|
|
9
|
+
### Removed
|
|
10
|
+
|
|
11
|
+
- **graphql — вимога `scripts.dump-schema` у `package.json` прибрана:** правило `graphql.mdc` більше не вимагає канонічний скрипт `dump-schema` (раніше — `bunx graphqurl http://localhost:4040/v1/graphql -H 'X-Hasura-Admin-Secret: secret' --introspect > schema.graphql`) у корені проєкту за наявності gql tagged template literals. У `.mdc` відповідну буліт-точку та JSON-фрагмент видалено; фраза про «стандартний спосіб оновлення локальної `schema.graphql`» теж прибрана з підсумкового речення. Каталог `npm/policy/graphql/` (єдиний файл `package_json/package_json.rego` з deny-правилами на відсутність/неканонічний `scripts.dump-schema`) видалено повністю. Запис реєстру `graphql.package_json` (policyDir `graphql`, rule `graphql`, single `package.json`) прибрано з `npm/scripts/lint-conftest.mjs` (заголовок секції перейменовано — `graphql` вилучено). JSDoc-преамбулу `npm/scripts/check-graphql.mjs` оновлено: видалено абзац про rego-порт перевірки `dump-schema` і згадку `scripts.dump-schema` з докстрингу `check()`. Сам JS-чек і так не торкався `package.json` — після видалення rego-полісі ніяких runtime-перевірок `dump-schema` не лишається. У кореневому `package.json` репо cursor скрипт `dump-schema` теж видалено, оскільки тримати його як shim без правила немає сенсу.
|
|
12
|
+
|
|
7
13
|
## [1.9.3] - 2026-05-11
|
|
8
14
|
|
|
9
15
|
### Fixed
|
package/mdc/graphql.mdc
CHANGED
|
@@ -8,18 +8,9 @@ alwaysApply: false
|
|
|
8
8
|
Якщо в **`.vue`** або в **JavaScript / TypeScript** джерелах (`.js`, `.mjs`, `.cjs`, `.ts`, `.tsx`, `.jsx` тощо) зустрічається **tagged template literal** з тегом **`gql`** (типово `gql\`query …\`` для GraphQL-запиту), у **корені репозиторію** мають бути:
|
|
9
9
|
|
|
10
10
|
- файл **`.graphqlrc.yml`** ([GraphQL Config](https://the-guild.dev/graphql/config/docs));
|
|
11
|
-
- у **`.vscode/extensions.json`** в масиві **`recommendations`** — запис **`graphql.vscode-graphql
|
|
12
|
-
- у кореневому **`package.json`** скрипт:
|
|
11
|
+
- у **`.vscode/extensions.json`** в масиві **`recommendations`** — запис **`graphql.vscode-graphql`**.
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
{
|
|
16
|
-
"scripts": {
|
|
17
|
-
"dump-schema": "bunx graphqurl http://localhost:4040/v1/graphql -H 'X-Hasura-Admin-Secret: secret' --introspect > schema.graphql"
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Це забезпечує підсвітку та діагностику GraphQL в редакторі, а також стандартний спосіб оновлення локальної `schema.graphql`.
|
|
13
|
+
Це забезпечує підсвітку та діагностику GraphQL в редакторі.
|
|
23
14
|
|
|
24
15
|
Деталі виявлення `gql` у скриптах (у т.ч. лише `<script>` у SFC) — **`npm/scripts/check-graphql.mjs`** / **`npm/scripts/utils/graphql-gql-scan.mjs`**.
|
|
25
16
|
|
|
@@ -28,7 +19,7 @@ alwaysApply: false
|
|
|
28
19
|
Підстав свої шляхи до схеми та до файлів з операціями; приклад орієнтиру:
|
|
29
20
|
|
|
30
21
|
```yaml title=".graphqlrc.yml"
|
|
31
|
-
schema: schema.graphql
|
|
22
|
+
schema: node_modules/@nitra/efes-docs/schema/maya.graphql
|
|
32
23
|
documents:
|
|
33
24
|
- '**/*.{vue,js,ts,tsx}'
|
|
34
25
|
```
|
package/package.json
CHANGED
|
@@ -5,10 +5,6 @@
|
|
|
5
5
|
* Обхід репозиторію — **`walkDir`** від **`process.cwd()`** (пропуски як у інших check). Кандидати — **`.vue`** та **`.js`/`.ts`/`.jsx`/`.tsx`** тощо; пропуск **`.d.ts`**, **auto-imports.d.ts** тощо — **`shouldSkipFileForGqlScan`**.
|
|
6
6
|
*
|
|
7
7
|
* Виявлення **`gql`** — **oxc-parser** після витягування `<script>` з SFC (**`graphql-gql-scan.mjs`**). Якщо збігів немає — перевірка завершується успішно без вимог до конфігів.
|
|
8
|
-
*
|
|
9
|
-
* Перевірку `scripts.dump-schema == REQUIRED_DUMP_SCHEMA_SCRIPT` у `package.json`
|
|
10
|
-
* перенесено в Rego (`npm/policy/graphql/package_json/`); `bun run lint-conftest`
|
|
11
|
-
* запускає її окремо.
|
|
12
8
|
*/
|
|
13
9
|
import { existsSync } from 'node:fs'
|
|
14
10
|
import { readFile } from 'node:fs/promises'
|
|
@@ -107,8 +103,8 @@ async function checkExtensionsRecommendation(pass, fail) {
|
|
|
107
103
|
}
|
|
108
104
|
|
|
109
105
|
/**
|
|
110
|
-
* Перевіряє graphql.mdc: умовна вимога .graphqlrc.yml
|
|
111
|
-
*
|
|
106
|
+
* Перевіряє graphql.mdc: умовна вимога .graphqlrc.yml і graphql.vscode-graphql
|
|
107
|
+
* за наявності gql tagged templates.
|
|
112
108
|
* @returns {Promise<number>} 0 — OK, 1 — порушення
|
|
113
109
|
*/
|
|
114
110
|
export async function check() {
|
|
@@ -157,8 +157,7 @@ const TARGETS = [
|
|
|
157
157
|
single: '.github/workflows/lint-js.yml'
|
|
158
158
|
},
|
|
159
159
|
|
|
160
|
-
// ──
|
|
161
|
-
{ namespace: 'graphql.package_json', policyDir: 'graphql', rule: 'graphql', single: 'package.json' },
|
|
160
|
+
// ── image-compress / capacitor ──────────────────────────────────────────
|
|
162
161
|
{
|
|
163
162
|
namespace: 'image_compress.package_json',
|
|
164
163
|
policyDir: 'image_compress',
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# Порт перевірки `package.json` з `npm/scripts/check-graphql.mjs` (graphql.mdc).
|
|
2
|
-
#
|
|
3
|
-
# Запуск (локально, ЯКЩО проект містить `gql\`…\`` теги — gating робить JS-частина
|
|
4
|
-
# через oxc-parser-скан):
|
|
5
|
-
# conftest test package.json -p npm/policy/graphql --namespace graphql.package_json
|
|
6
|
-
#
|
|
7
|
-
# Перевіряє: `scripts.dump-schema` точно відповідає канону graphql.mdc.
|
|
8
|
-
#
|
|
9
|
-
# AST-скан коду на `gql\`…\`` template literals і FS-перевірки (наявність
|
|
10
|
-
# `.graphqlrc.yml`, `.vscode/extensions.json` з `graphql.vscode-graphql`) — у JS.
|
|
11
|
-
#
|
|
12
|
-
# Структура каталогу збігається зі шляхом пакету (regal: directory-package-mismatch).
|
|
13
|
-
# Конвенція проєкту — `import rego.v1` + multi-value `deny contains msg if { … }`
|
|
14
|
-
# (.cursor/rules/conftest.mdc). Лінт — `bun run lint-rego` (regal).
|
|
15
|
-
package graphql.package_json
|
|
16
|
-
|
|
17
|
-
import rego.v1
|
|
18
|
-
|
|
19
|
-
required_dump_schema := concat("", [
|
|
20
|
-
"bunx graphqurl http://localhost:4040/v1/graphql ",
|
|
21
|
-
"-H 'X-Hasura-Admin-Secret: secret' --introspect > schema.graphql",
|
|
22
|
-
])
|
|
23
|
-
|
|
24
|
-
deny contains msg if {
|
|
25
|
-
scripts := object.get(input, "scripts", {})
|
|
26
|
-
not "dump-schema" in object.keys(scripts)
|
|
27
|
-
msg := "package.json: відсутній scripts.dump-schema (graphql.mdc)"
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
deny contains msg if {
|
|
31
|
-
dump := object.get(object.get(input, "scripts", {}), "dump-schema", "")
|
|
32
|
-
dump != ""
|
|
33
|
-
dump != required_dump_schema
|
|
34
|
-
msg := sprintf("package.json: scripts.dump-schema має бути канонічним з graphql.mdc (зараз %q)", [dump])
|
|
35
|
-
}
|