@strapi/upgrade 0.0.0-experimental.d23c1d5b0e45dd06ef09977f526c85468be05403 → 0.0.0-experimental.d2a56e52af31fcf0f0c582a5a2e58e310966e96b

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.
Files changed (51) hide show
  1. package/LICENSE +19 -4
  2. package/README.md +1 -1
  3. package/dist/chunks/logger-DGi224NW.js +1649 -0
  4. package/dist/chunks/logger-DGi224NW.js.map +1 -0
  5. package/dist/chunks/logger-np_r7rTc.mjs +1599 -0
  6. package/dist/chunks/logger-np_r7rTc.mjs.map +1 -0
  7. package/dist/cli.js +191 -1432
  8. package/dist/cli.js.map +1 -1
  9. package/dist/cli.mjs +211 -0
  10. package/dist/cli.mjs.map +1 -0
  11. package/dist/index.js +133 -1401
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +130 -1393
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/modules/codemod-repository/constants.d.ts.map +1 -1
  16. package/dist/modules/error/utils.d.ts +8 -0
  17. package/dist/modules/error/utils.d.ts.map +1 -1
  18. package/dist/modules/file-scanner/scanner.d.ts.map +1 -1
  19. package/dist/modules/format/formats.d.ts +2 -1
  20. package/dist/modules/format/formats.d.ts.map +1 -1
  21. package/dist/modules/project/constants.d.ts +6 -5
  22. package/dist/modules/project/constants.d.ts.map +1 -1
  23. package/dist/modules/project/project.d.ts +16 -2
  24. package/dist/modules/project/project.d.ts.map +1 -1
  25. package/dist/modules/project/types.d.ts +3 -0
  26. package/dist/modules/project/types.d.ts.map +1 -1
  27. package/dist/modules/runner/json/transform.d.ts.map +1 -1
  28. package/dist/modules/upgrader/types.d.ts +6 -0
  29. package/dist/modules/upgrader/types.d.ts.map +1 -1
  30. package/dist/modules/upgrader/upgrader.d.ts +4 -0
  31. package/dist/modules/upgrader/upgrader.d.ts.map +1 -1
  32. package/dist/modules/version/range.d.ts.map +1 -1
  33. package/dist/modules/version/types.d.ts +2 -1
  34. package/dist/modules/version/types.d.ts.map +1 -1
  35. package/dist/tasks/codemods/utils.d.ts.map +1 -1
  36. package/dist/tasks/upgrade/prompts/index.d.ts +2 -0
  37. package/dist/tasks/upgrade/prompts/index.d.ts.map +1 -0
  38. package/dist/tasks/upgrade/prompts/latest.d.ts +9 -0
  39. package/dist/tasks/upgrade/prompts/latest.d.ts.map +1 -0
  40. package/dist/tasks/upgrade/requirements/major.d.ts.map +1 -1
  41. package/dist/tasks/upgrade/upgrade.d.ts.map +1 -1
  42. package/package.json +15 -14
  43. package/resources/codemods/5.0.0/comment-out-lifecycle-files.code.ts +63 -0
  44. package/resources/codemods/5.0.0/dependency-upgrade-react-and-react-dom.json.ts +67 -0
  45. package/resources/codemods/5.0.0/dependency-upgrade-styled-components.json.ts +49 -0
  46. package/resources/codemods/5.0.0/deprecate-helper-plugin.code.ts +192 -0
  47. package/resources/codemods/5.0.0/entity-service-document-service.code.ts +68 -5
  48. package/resources/codemods/5.0.0/sqlite3-to-better-sqlite3.json.ts +0 -1
  49. package/resources/codemods/5.1.0/dependency-better-sqlite3.json.ts +48 -0
  50. package/resources/utils/change-import.ts +118 -0
  51. package/resources/utils/replace-jsx.ts +49 -0
@@ -0,0 +1,49 @@
1
+ import type { JSCodeshift, Collection } from 'jscodeshift';
2
+
3
+ export const replaceJSXElement = (
4
+ root: Collection,
5
+ j: JSCodeshift,
6
+ {
7
+ oldElementName,
8
+ newElementName,
9
+ oldDependency,
10
+ }: {
11
+ oldElementName: string;
12
+ newElementName: string;
13
+ oldDependency: string;
14
+ }
15
+ ) => {
16
+ // Find the import declaration for the old dependency
17
+ const importDeclaration = root.find(j.ImportDeclaration, {
18
+ source: { value: oldDependency },
19
+ });
20
+
21
+ if (importDeclaration.size() === 0) {
22
+ return;
23
+ }
24
+
25
+ // Get the local name of the imported element
26
+ const localName = importDeclaration
27
+ .find(j.ImportSpecifier, {
28
+ imported: { name: oldElementName },
29
+ })
30
+ .nodes()[0]?.local?.name;
31
+
32
+ if (!localName) {
33
+ return;
34
+ }
35
+
36
+ // Replace JSX elements
37
+ root.findJSXElements(localName).forEach((path) => {
38
+ const openingElement = path.node.openingElement;
39
+ const closingElement = path.node.closingElement;
40
+
41
+ if (j.JSXIdentifier.check(openingElement.name)) {
42
+ openingElement.name.name = newElementName;
43
+ }
44
+
45
+ if (closingElement && j.JSXIdentifier.check(closingElement.name)) {
46
+ closingElement.name.name = newElementName;
47
+ }
48
+ });
49
+ };