296 Commits
Author SHA1 Message Date
Andrei LandGitHub b5452ab89f chore(eslint): migrate .eslintrc + .eslintignore to .eslintrc.cjs (#26216)
* chore(eslint): migrate .eslintrc + .eslintignore to .eslintrc.cjs

Consolidates the per-package ESLint setup into a single typed
`.eslintrc.cjs` file across the monorepo (177 files touched).

Why
- `.eslintignore` is removed in ESLint v9/v10. Folding ignore patterns
  into `ignorePatterns` inside the rc file is the supported migration
  path and unblocks future ESLint upgrades (which will likely be needed
  alongside the in-flight TypeScript 6 migration).
- `.cjs` extension is explicit about module format, so the configs keep
  working if any package later adopts `"type": "module"` (no CJS/ESM
  surprises).
- Wrapping each config in `// @ts-check` + a `Linter.Config`-typed
  `const config` block gives editor autocomplete and catches typos.
  Surfaced two real duplicates in
  `eslint-config-custom/back/typescript.js`
  (`node/no-unsupported-features/es-syntax`,
  `node/no-missing-import`), now deduplicated.
- `extends` references switched from the `custom/*` shorthand to the
  explicit `eslint-config-custom/*` package name. ESLint resolves both,
  but the explicit form makes the source unambiguous.
- Added `coverage/` to `ignorePatterns` so coverage output produced
  inside a workspace is not linted.

Misc
- `examples/kitchensink` had ESLint configured but no `lint` script;
  added one so the config actually runs.
- `nx.json` hash inputs updated:
  - removed `.eslintignore` (no longer exists)
  - replaced `{projectRoot}/.eslintrc.js` with
    `{projectRoot}/**/.eslintrc.cjs` so nested package configs are also
    part of the cache key (the previous glob missed them).
- `packages/utils/upgrade/tsconfig.eslint.json` include path updated
  from `.eslintrc.js` to `.eslintrc.cjs`.

Verification
- `eslint --print-config` resolves cleanly on sampled back/front
  packages (admin, users-permissions, upload).
- Full `pnpm -r lint` is clean.

* chore(eslint): set tsconfigRootDir for vscode-eslint typed linting

CLI lint resolved tsconfig paths via cwd, but vscode-eslint runs from
the workspace root and could not locate per-package tsconfigs. Set
parserOptions.tsconfigRootDir to __dirname in each package's
.eslintrc.cjs so the editor resolves typed-lint configs correctly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(eslint): self-ignore configs, scope coverage to jest packages

- Replace `env: { es6: true }` workaround with `.eslintrc.cjs` in
  ignorePatterns so eslint never lints the config file itself
  (root cause of the "const is not a keyword" parse error in es5)
- Add `.eslintrc.cjs` to ignorePatterns across all configs that
  were missing it
- Restrict `coverage/` ignorePatterns to workspace roots that
  actually run jest; drop from non-test packages and admin/server
  subdir configs (tests run from the workspace root)
2026-05-12 07:32:12 +00:00
DMehaffyandGitHub e875c4427b fix: remove await from several telemetry calls to prevent blocking (#24743) 2026-05-11 15:24:09 +00:00
Bassel KansoandGitHub e66251a30c fix(i18n): preserve non-localized media when creating a locale (#26031) 2026-04-21 14:00:24 +03:00
Nico AndréandGitHub bc0b0e9449 feat(core/*): introduce strapi.ai namespace (#25886) 2026-04-17 08:46:33 +02:00
Adrien LandGitHub 1799b42980 fix: preserve relations in fill from another locale (#25703) 2026-04-10 16:30:34 +02:00
ZiyiandGitHub b624d87882 fix(i18n): ai translation losing unsupported fields (#25247) 2026-01-27 15:56:14 +01:00
a41f1123bf chore: add Bosnian and Mongolian Cyrillic language support (#23928)
Co-authored-by: Adrien Lepoutre <thewebsdoor@gmail.com>
2025-12-17 15:06:44 +01:00
23a5d7b32e fix: update iso-locales.json with en-mm (#24261)
Co-authored-by: Adrien Lepoutre <thewebsdoor@gmail.com>
2025-12-17 13:27:54 +00:00
3ddf378a65 chore: add i18 languages (#23845)
Co-authored-by: Adrien Lepoutre <thewebsdoor@gmail.com>
2025-12-16 16:43:24 +01:00
d23cf03468 feat(plugins/i18n): add missing locale for Luxembourgish (lb-LU) (#22551)
Co-authored-by: Adrien L <thewebsdoor@gmail.com>
2025-12-15 10:45:12 +01:00
kajgiesbersflavourandGitHub ff88838bb3 feat: update iso-locales.json with pap & regional variants (#25000) 2025-12-11 09:12:01 +01:00
959dc8ff3b fix: don't translate enums with ai (#24965)
Co-authored-by: Rémi de Juvigny <remidej@users.noreply.github.com>
2025-12-03 15:34:10 +01:00
markkaylorandGitHub 4310e958c5 chore(admin): isolate ai apis to ee folder (#24834) 2025-11-20 11:01:48 +01:00
mathildelegandGitHub 4cab8990ac fix: modifying&publishing locale should only update that locale (#24648)
* fix: modifying&publishing locale should only update that locale

* chore: add e2e tests

* fix: api test transaction rollback error

* fix: check correct text to fix e2e test

* chore: refactor code, fix api test

* fix: fix dischard change action; add publish back; remove bulk actions msg

* chore: correct import
2025-11-12 17:34:06 +01:00
markkaylorandGitHub cababa5cb1 chore: update ai tracking events (#24758) 2025-11-03 15:13:11 +01:00
markkaylorandGitHub 394f7bcc9e fix(i18n): revert query engine to use document service (#24726) 2025-10-29 16:08:22 +01:00
Rémi de JuvignyandGitHub d189c56f1c fix: don't trigger translations with no translateable content (#24718)
* fix: don't trigger translations with no translateable content

* fix: ignore booleans
2025-10-28 13:34:41 -04:00
markkaylorandGitHub da850ac603 fix(i18n): use query engine to avoid marking published as modified (#24716) 2025-10-28 18:19:17 +01:00
markkaylorandGitHub 1fe31c95ec chore(i18n): dispatch tracking event for ai feature (#24707) 2025-10-28 09:30:03 +01:00
Rémi de JuvignyandGitHub 47fec47d39 chore: remove unstableAILocalizations future flag (#24704) 2025-10-27 12:18:19 -04:00
Araksya GevorgyanandGitHub 28228c4d26 chore(i18n): populate media fields (#24705) 2025-10-27 17:10:11 +01:00
Araksya GevorgyanandGitHub 00380841fe feat(i18n): update all translatable content (#24658)
feat(i18n): update all translatable content
2025-10-27 11:58:25 +01:00
Rémi de JuvignyandGitHub 0f18876860 future(i18n): trigger localization for complex fields (#24672)
* chore: restore complex attributes

(cherry picked from commit b278fe35b6)

* chore: add dynamic zone to about schema

(cherry picked from commit 09f2d1f056)
2025-10-24 09:33:41 -04:00
Rémi de Juvigny 5d41a947cc Revert "chore: restore complex attributes"
This reverts commit b278fe35b6.
2025-10-24 11:17:16 +02:00
Rémi de Juvigny b278fe35b6 chore: restore complex attributes 2025-10-24 10:45:52 +02:00
Rémi de JuvignyandGitHub 4e3b7c0d7f future(i18n): filter out complex attributes passed to ai server (#24661)
* chore: send minimal schema to ai server

* chore: ignore unsupported fields

* fix: invalidate doc when job is done
2025-10-23 10:54:24 -04:00
markkaylorandGitHub 7861fc41cb future(i18n): add background job notification system (#24637) 2025-10-22 14:39:07 +02:00
Rémi de JuvignyandGitHub dd0a18d252 future(i18n): trigger ai localizations (#24612)
future(i18n): trigger ai localizations
2025-10-20 15:45:22 +02:00
qburst-pranavtvandGitHub f99f374549 enhancement: add en language for Japan (#24534) 2025-10-17 14:18:56 +02:00
markkaylorandGitHub 3677ec8938 future(i18n): add ai settings (#24570) 2025-10-15 11:30:45 +02:00
Rémi de JuvignyandGitHub 5423cd50b0 chore: set up ai i18n future flag (#24553) 2025-10-13 04:28:59 -04:00
e5d4b412da Fix plugin content-api route extensions (#24147)
* fix: content-api route extension for i18n and users-permissions

* refactor: simplify tests to catch breaking change

* test: cli for openapi plugin routes

* refactor: implement createcontentapiroutesfactory for content-api routes across multiple packages

* fix: more accurate message

* chore: formatting

* chore: cleanup backward compatibility tests

---------

Co-authored-by: Ziyi Yuan <daydreamnation@live.com>
2025-08-18 12:28:39 +01:00
7af2e99241 Add new @strapi/openapi package (#24024)
* chore(openapi): add new @strapi/openapi package with initial setup (#23173)

* enhancement(openapi): add routes collection (#23182)

* chore(openapi): add new @strapi/openapi package with initial setup and configuration

* fix: lint the test folder

* chore(openapi): add coverage/ to .eslintignore for better linting exclusion

* test(openapi): update Jest config with refined test paths and coverage

* chore: remove unused test and update openapi dependencies

* feat(openapi): add route providers, collector, and matcher

* test(openapi): add unit tests for route matching and providers

* fix: make the AbstractRoutesProvider constructor public

* chore: update test paths and imports to simplify structure

* test: update route provider tests to use dynamic fixture lengths

* feat: add basic openapi document generation (#23365)

* chore: update openapi dependencies

* feat(openapi): advanced schema generation (#23467)

* chore: rename openapi:generate CLI command to openapi generate (#23610)

* chore(openapi): add experimental warning message for OpenAPI generation feature (#23608)

Co-authored-by: Jamie Howard <jhoward1994@gmail.com>

* chore: update OpenAPI types to OpenAPIV3_1 across the codebase (#23609)

* chore: merge origin/develop

* chore: update zod dependency from beta version to 3.25.67 across the codebase using zod/v4 where needed

* fix(strapi): add output option for openapi generation command (#23849)

* feat(core): add uid transformation utility for openapi compliant names (#23833)

* feat(core): add uid transformation utility for openapi compliant names

* chore: version openapi to 5.16.1

* chore(core): update uid parameter to use internal types

* fix(core): simplify global registry check

* fix(core): remove unnecessary type assertion

* fix(core): add type assertions in validation attributes

* fix(core): remove unused import

* chore: update @strapi/openapi to 5.18.1

* Add zod schema validation to content api routes (#23886)

* feat(i18n): zod validation for locale content api routes

* feat(email): integrate zod for email content api routes

* feat(upload): wip partial zod route validation

* feat: add validation for upload and ctb content api routes (#23924)

* feat: add validation for content API routes and upload

* fix: fix linting errors and prettier error

* fix: add missing schemas

* chore(content-type-builder): more accurate zod descriptions

* Centralise AbstractRouteValidator to strapi utils (#23962)

* chore(utils): centralise abstractroutevalidator in utils for package use and schema aware extension in strapi core

* chore(core): update query parameter transformer usage in convert-query-params tests

* feat(core): enhance schema validation error handling and logging

* fix: revert incorrect changes

---------

Co-authored-by: Jamie Howard <jhoward1994@gmail.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* feat(users-permissions): zod schemas for content-api routes (#23997)

* feat(users-permissions): zod schemas for content-api routes

* fix(users-permissions): formatting

* chore: include content type for API route request body

---------

Co-authored-by: Ziyi <ziyi.yuan@strapi.io>

* chore: minor clean up

---------

Co-authored-by: Jean-Sébastien Herbaux <jean-sebastien.herbaux@epitech.eu>
Co-authored-by: Ziyi <ziyi.yuan@strapi.io>
2025-07-28 12:02:09 +01:00
Alexandre Bodin 92055a7fb1 chore: use rollup
chore: fetch template only if name matches name convention

chore: linting

chore: fix tests

chore: fix npm scripts

test: try to fix test
2025-01-23 16:28:23 +01:00
Ben IrvinandGitHub 820adfc37c test(unit): fix locales snapshot (#22347)
* test(unit): fix locales snapshot

* chore: add script for updating
2024-12-05 12:36:14 +01:00
837384c065 enhancement: add Wolof and Xhosa languages (#21881)
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com>
2024-12-04 12:03:22 -05:00
Jean-Sébastien HerbauxandGitHub 7f39880265 Make locale/localizations private for non-localized cts (#21495) 2024-10-14 14:07:09 +02:00
Fernando Chavez bfa0a33629 fix(i18n): call d&p & i18n migrations in the same file 2024-09-16 17:07:31 +02:00
Ben IrvinandGitHub e823059ba8 fix: do not generate localizations links table (#21230) 2024-09-12 16:43:24 +02:00
Alexandre Bodin 0c56eedb8f enhancement: poc localization field 2024-09-06 15:44:46 +02:00
Marc RoigandGitHub ab23a35785 fix: remove entity service decorator (#21152)
* fix: remove entity service decorator

* fix: unused dependency
2024-09-05 12:07:25 +02:00
Ben IrvinandGitHub fbbccd06ea feat!: document service query param validation (#21034) 2024-09-02 14:03:26 +02:00
Jean-Sébastien HerbauxandGitHub 3ad6bddd75 RBAC Action Aliases - v5 (#20878) 2024-08-06 15:16:25 +02:00
Alexandre Bodin 792129f7b4 chore: make document service api more consistent 2024-04-24 18:15:02 +02:00
Alexandre BODINandGitHub 8dc428d4d4 Merge pull request #20017 from strapi/v5/document-service-api
Improvement to the doc service API
2024-04-08 15:02:54 +02:00
Marc RoigandGitHub bad7fc83ed fix: prevent empty body when cloning (#20047) 2024-04-05 16:32:40 +02:00
Alexandre Bodin 544d55dc42 chore: simplify components api in doc service and fix some typings 2024-04-05 11:34:10 +02:00
Alexandre BODINandGitHub c9159be3ec Merge pull request #19943 from strapi/v5/core
chore: internal core refactorings
2024-04-03 17:37:12 +02:00
Alexandre Bodin c224439564 fix: middleware type 2024-04-03 14:24:40 +02:00
Alexandre Bodin eb61511884 chore: use strapi.service instead of strapi.admin.services 2024-04-03 14:24:15 +02:00