ember-codemod-remove-ember-css-modules 4.0.5 → 4.1.1

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.
@@ -3,9 +3,8 @@ import { join } from 'node:path';
3
3
  import { AST } from '@codemod-utils/ast-javascript';
4
4
  import { createFiles, parseFilePath } from '@codemod-utils/files';
5
5
  function canSkip(file, data) {
6
- const traverse = AST.traverse(data.isTypeScript);
7
6
  let canSkip = false;
8
- traverse(file, {
7
+ AST.traverse(file, {
9
8
  visitImportDeclaration(path) {
10
9
  if (path.node.source.value === `./${data.fileName}.css`) {
11
10
  canSkip = true;
@@ -16,8 +15,7 @@ function canSkip(file, data) {
16
15
  return canSkip;
17
16
  }
18
17
  function removeTemplateOnlyComponentMethod(file, data) {
19
- const traverse = AST.traverse(data.isTypeScript);
20
- const ast = traverse(file, {
18
+ const ast = AST.traverse(file, {
21
19
  visitCallExpression(path) {
22
20
  // @ts-expect-error: Incorrect type
23
21
  if (path.node.callee.name !== 'templateOnlyComponent') {
@@ -49,10 +47,9 @@ function removeTemplateOnlyComponentMethod(file, data) {
49
47
  return AST.print(ast);
50
48
  }
51
49
  function importStylesInClass(file, data) {
52
- const traverse = AST.traverse(data.isTypeScript);
53
50
  // Find the last import statement
54
51
  let lastImportDeclarationPath;
55
- const ast = traverse(file, {
52
+ const ast = AST.traverse(file, {
56
53
  visitImportDeclaration(path) {
57
54
  if (!lastImportDeclarationPath) {
58
55
  lastImportDeclarationPath = path;
@@ -76,9 +73,8 @@ function importStylesInClass(file, data) {
76
73
  nodes.splice(index + 1, 0, AST.builders.importDeclaration([AST.builders.importDefaultSpecifier(AST.builders.identifier('styles'))], AST.builders.literal(`./${data.fileName}.css`)));
77
74
  return AST.print(ast);
78
75
  }
79
- function addStylesAsClassProperty(file, data) {
80
- const traverse = AST.traverse(data.isTypeScript);
81
- const ast = traverse(file, {
76
+ function addStylesAsClassProperty(file) {
77
+ const ast = AST.traverse(file, {
82
78
  visitClassDeclaration(path) {
83
79
  const { body } = path.node.body;
84
80
  const nodesToAdd = [
@@ -110,7 +106,7 @@ export function updateClass(entityName, { customizations, options }) {
110
106
  }
111
107
  file = removeTemplateOnlyComponentMethod(file, data);
112
108
  file = importStylesInClass(file, data);
113
- file = addStylesAsClassProperty(file, data);
109
+ file = addStylesAsClassProperty(file);
114
110
  const fileMap = new Map([[filePath, file]]);
115
111
  createFiles(fileMap, options);
116
112
  }
@@ -20,8 +20,7 @@ function sanitizeClassAndLocalClassAttributes(file) {
20
20
  return;
21
21
  }
22
22
  }
23
- const traverse = AST.traverse();
24
- const ast = traverse(file, {
23
+ const ast = AST.traverse(file, {
25
24
  ElementNode(node) {
26
25
  const { attributes } = node;
27
26
  removeAttributeWithoutValue('class', attributes);
@@ -31,8 +30,7 @@ function sanitizeClassAndLocalClassAttributes(file) {
31
30
  return AST.print(ast);
32
31
  }
33
32
  function mergeClassAndLocalClassAttributes(file) {
34
- const traverse = AST.traverse();
35
- const ast = traverse(file, {
33
+ const ast = AST.traverse(file, {
36
34
  ElementNode(node) {
37
35
  // Check that both class and local-class attributes exist
38
36
  const { attributes } = node;
@@ -106,8 +104,7 @@ function removeLocalClassHelpers(file) {
106
104
  const value = param.value.trim();
107
105
  return value === '';
108
106
  }
109
- const traverse = AST.traverse();
110
- const ast = traverse(file, {
107
+ const ast = AST.traverse(file, {
111
108
  // @ts-expect-error: Incorrect type
112
109
  AttrNode(node) {
113
110
  if (node.name !== 'class') {
@@ -287,8 +284,7 @@ function removeLocalClassAttributes(file) {
287
284
  return accumulator;
288
285
  }, []);
289
286
  }
290
- const traverse = AST.traverse();
291
- const ast = traverse(file, {
287
+ const ast = AST.traverse(file, {
292
288
  ElementNode(node) {
293
289
  // Check if the local-class attribute (still) exists
294
290
  const { attributes } = node;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-codemod-remove-ember-css-modules",
3
- "version": "4.0.5",
3
+ "version": "4.1.1",
4
4
  "description": "Codemod to replace ember-css-modules with embroider-css-modules",
5
5
  "keywords": [
6
6
  "codemod",
@@ -24,25 +24,25 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@codemod-utils/ast-javascript": "^3.0.2",
28
- "@codemod-utils/ast-template": "^3.1.0",
27
+ "@codemod-utils/ast-javascript": "^4.0.2",
28
+ "@codemod-utils/ast-template": "^4.0.0",
29
29
  "@codemod-utils/blueprints": "^3.1.0",
30
30
  "@codemod-utils/ember": "^4.1.1",
31
31
  "@codemod-utils/files": "^4.0.1",
32
- "@codemod-utils/package-json": "^4.0.2",
32
+ "@codemod-utils/package-json": "^4.0.3",
33
33
  "yargs": "^18.0.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@codemod-utils/tests": "^3.0.2",
37
37
  "@sondr3/minitest": "^0.1.2",
38
- "@types/node": "^22.19.17",
38
+ "@types/node": "^22.20.0",
39
39
  "@types/yargs": "^17.0.35",
40
- "concurrently": "^9.2.1",
40
+ "concurrently": "^10.0.3",
41
41
  "eslint": "^9.39.4",
42
- "prettier": "^3.8.3",
42
+ "prettier": "^3.8.4",
43
43
  "typescript": "^5.9.3",
44
- "@shared-configs/eslint-config-node": "0.0.0",
45
44
  "@shared-configs/prettier": "0.0.0",
45
+ "@shared-configs/eslint-config-node": "0.0.0",
46
46
  "@shared-configs/typescript": "0.0.0"
47
47
  },
48
48
  "engines": {