ember-codemod-v1-to-v2 0.4.1 → 0.5.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-codemod-v1-to-v2",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "Codemod to convert Ember addons to v2 addon format",
5
5
  "keywords": [
6
6
  "codemod",
@@ -31,7 +31,6 @@
31
31
  "changelog": "lerna-changelog",
32
32
  "lint": "eslint . --cache",
33
33
  "lint:fix": "eslint . --fix",
34
- "start": "node ./src/index.js",
35
34
  "test": "mt tests --quiet"
36
35
  },
37
36
  "changelog": {
@@ -45,24 +44,24 @@
45
44
  }
46
45
  },
47
46
  "dependencies": {
48
- "@babel/core": "^7.21.0",
49
- "@babel/eslint-parser": "^7.19.1",
50
- "glob": "^9.2.1",
47
+ "glob": "^10.2.2",
51
48
  "lodash.template": "^4.5.0",
52
49
  "strip-json-comments": "^5.0.0",
53
50
  "yargs": "^17.7.1"
54
51
  },
55
52
  "devDependencies": {
53
+ "@babel/core": "^7.21.4",
54
+ "@babel/eslint-parser": "^7.21.3",
56
55
  "@sondr3/minitest": "^0.1.1",
57
- "eslint": "^8.35.0",
58
- "eslint-config-prettier": "^8.6.0",
56
+ "eslint": "^8.39.0",
57
+ "eslint-config-prettier": "^8.8.0",
59
58
  "eslint-plugin-import": "^2.27.5",
60
- "eslint-plugin-n": "^15.6.1",
59
+ "eslint-plugin-n": "^15.7.0",
61
60
  "eslint-plugin-prettier": "^4.2.1",
62
61
  "eslint-plugin-simple-import-sort": "^10.0.0",
63
62
  "fixturify": "^3.0.0",
64
63
  "lerna-changelog": "^2.2.0",
65
- "prettier": "^2.8.4"
64
+ "prettier": "^2.8.8"
66
65
  },
67
66
  "engines": {
68
67
  "node": ">= 16"
@@ -1,25 +1,24 @@
1
- # See https://help.github.com/ignore-files/ for more about ignoring files.
2
-
3
1
  # compiled output
4
- dist/
2
+ /dist/
5
3
 
6
4
  # dependencies
7
- node_modules/
5
+ /node_modules/
8
6
 
9
7
  # misc
10
8
  /.env*
11
9
  /.pnp*
12
- /.pnpm-debug.log
13
- /.sass-cache
14
- .eslintcache
15
- /connect.lock
10
+ /.eslintcache
16
11
  /coverage/
17
- /libpeerconnection.log
18
12
  /npm-debug.log*
19
13
  /testem.log
20
14
  /yarn-error.log
21
15
 
22
16
  # ember-try
23
17
  /.node_modules.ember-try/
18
+ /npm-shrinkwrap.json.ember-try
24
19
  /package.json.ember-try
20
+ /package-lock.json.ember-try
25
21
  /yarn.lock.ember-try
22
+
23
+ # broccoli-debug
24
+ /DEBUG/
@@ -20,8 +20,7 @@
20
20
  "test": "npm run test --workspaces --if-present"
21
21
  },
22
22
  "devDependencies": {
23
- "concurrently": "<%= context.projectRoot.devDependencies['concurrently'] %>",
24
- "prettier": "<%= context.projectRoot.devDependencies['prettier'] %>"
23
+ "concurrently": "<%= context.projectRoot.devDependencies['concurrently'] %>"
25
24
  }
26
25
  }<% } else if (options.packageManager.isPnpm) { %>{
27
26
  "name": "<%= options.packages.addon.name %>",
@@ -41,8 +40,7 @@
41
40
  "test": "pnpm --filter '*' test"
42
41
  },
43
42
  "devDependencies": {
44
- "concurrently": "<%= context.projectRoot.devDependencies['concurrently'] %>",
45
- "prettier": "<%= context.projectRoot.devDependencies['prettier'] %>"
43
+ "concurrently": "<%= context.projectRoot.devDependencies['concurrently'] %>"
46
44
  }
47
45
  }<% } else if (options.packageManager.isYarn) { %>{
48
46
  "name": "<%= options.packages.addon.name %>",
@@ -66,7 +64,6 @@
66
64
  "test": "yarn workspaces run test"
67
65
  },
68
66
  "devDependencies": {
69
- "concurrently": "<%= context.projectRoot.devDependencies['concurrently'] %>",
70
- "prettier": "<%= context.projectRoot.devDependencies['prettier'] %>"
67
+ "concurrently": "<%= context.projectRoot.devDependencies['concurrently'] %>"
71
68
  }
72
69
  }<% } %>
@@ -21,7 +21,6 @@ function getAppReexports(options) {
21
21
  function getProjectRootDevDependencies(options) {
22
22
  return {
23
23
  concurrently: decideVersion('concurrently', options),
24
- prettier: decideVersion('prettier', options),
25
24
  };
26
25
  }
27
26
 
@@ -1,7 +1,7 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
 
4
- import { blueprintRoot, processTemplate } from '../../../utils/blueprints.js';
4
+ import { blueprintsRoot, processTemplate } from '../../../utils/blueprints.js';
5
5
  import { createFiles, findFiles } from '../../../utils/files.js';
6
6
 
7
7
  function getFilePath(blueprintFilePath, options) {
@@ -32,9 +32,10 @@ function getFilesToSkip(options) {
32
32
 
33
33
  export function createFilesFromBlueprint(context, options) {
34
34
  const filesToSkip = getFilesToSkip(options);
35
+ const emberAddonBlueprintsRoot = join(blueprintsRoot, 'ember-addon');
35
36
 
36
37
  const blueprintFilePaths = findFiles('**/*', {
37
- cwd: blueprintRoot,
38
+ cwd: emberAddonBlueprintsRoot,
38
39
  ignoreList: filesToSkip,
39
40
  });
40
41
 
@@ -43,8 +44,8 @@ export function createFilesFromBlueprint(context, options) {
43
44
  const filePath = getFilePath(blueprintFilePath, options);
44
45
 
45
46
  const blueprintFile = readFileSync(
46
- join(blueprintRoot, blueprintFilePath),
47
- 'utf8'
47
+ join(emberAddonBlueprintsRoot, blueprintFilePath),
48
+ 'utf8',
48
49
  );
49
50
 
50
51
  const file = processTemplate(blueprintFile, {
@@ -53,7 +54,7 @@ export function createFilesFromBlueprint(context, options) {
53
54
  });
54
55
 
55
56
  return [filePath, file];
56
- })
57
+ }),
57
58
  );
58
59
 
59
60
  createFiles(fileMapping, options);
@@ -28,7 +28,7 @@ function analyzePackageJson(codemodOptions) {
28
28
  try {
29
29
  const packageJsonFile = readFileSync(
30
30
  join(projectRoot, 'package.json'),
31
- 'utf8'
31
+ 'utf8',
32
32
  );
33
33
 
34
34
  const {
@@ -56,7 +56,7 @@ function analyzePackageJson(codemodOptions) {
56
56
  };
57
57
  } catch (e) {
58
58
  throw new SyntaxError(
59
- `ERROR: package.json is missing or is not valid. (${e.message})\n`
59
+ `ERROR: package.json is missing or is not valid. (${e.message})\n`,
60
60
  );
61
61
  }
62
62
  }
@@ -96,8 +96,9 @@ function analyzePackageManager(codemodOptions) {
96
96
  }
97
97
 
98
98
  function deriveAddonLocation(addonPackage) {
99
- // Package is not scoped
100
- if (!addonPackage.name.includes('/')) {
99
+ const hasScope = addonPackage.name.includes('/');
100
+
101
+ if (!hasScope) {
101
102
  return addonPackage.name;
102
103
  }
103
104
 
@@ -76,7 +76,7 @@ function renameDummy(options) {
76
76
 
77
77
  const newFile = oldFile.replace(
78
78
  new RegExp('dummy', 'g'),
79
- packages.testApp.name
79
+ packages.testApp.name,
80
80
  );
81
81
 
82
82
  writeFileSync(oldPath, newFile, 'utf8');
@@ -85,7 +85,7 @@ function updateOtherFields(packageJson, context, options) {
85
85
 
86
86
  return accumulator;
87
87
  },
88
- {}
88
+ {},
89
89
  );
90
90
 
91
91
  packageJson['ember-addon'] = {
@@ -147,7 +147,7 @@ function updateScripts(packageJson) {
147
147
  scripts.set('start', 'rollup --config --watch');
148
148
  scripts.set(
149
149
  'test',
150
- "echo 'A v2 addon does not have tests, run tests in test-app'"
150
+ "echo 'A v2 addon does not have tests, run tests in test-app'",
151
151
  );
152
152
 
153
153
  packageJson['scripts'] = convertToObject(scripts);
@@ -63,7 +63,7 @@ function updateOtherFields(packageJson, options) {
63
63
  delete packageJson['ember-addon'];
64
64
 
65
65
  packageJson['keywords'] = (packageJson['keywords'] ?? []).filter(
66
- (keyword) => keyword !== 'ember-addon'
66
+ (keyword) => keyword !== 'ember-addon',
67
67
  );
68
68
 
69
69
  packageJson['name'] = packages.testApp.name;
@@ -4,10 +4,10 @@ import { fileURLToPath } from 'node:url';
4
4
  const __filename = fileURLToPath(import.meta.url);
5
5
  const __dirname = dirname(__filename);
6
6
 
7
- function getBlueprintRoot() {
7
+ function getBlueprintsRoot() {
8
8
  const srcDirectory = join(__dirname, '../..');
9
9
 
10
- return join(srcDirectory, 'blueprints/ember-addon');
10
+ return join(srcDirectory, 'blueprints');
11
11
  }
12
12
 
13
- export const blueprintRoot = getBlueprintRoot();
13
+ export const blueprintsRoot = getBlueprintsRoot();
@@ -1,17 +1,16 @@
1
1
  const latestVersions = new Map([
2
- ['@babel/core', '7.21.0'],
2
+ ['@babel/core', '7.21.4'],
3
3
  ['@babel/plugin-proposal-class-properties', '7.18.6'],
4
4
  ['@babel/plugin-proposal-decorators', '7.21.0'],
5
- ['@babel/preset-typescript', '7.21.0'],
5
+ ['@babel/preset-typescript', '7.21.4'],
6
6
  ['@embroider/addon-dev', '3.0.0'],
7
7
  ['@embroider/addon-shim', '1.8.4'],
8
8
  ['@rollup/plugin-babel', '6.0.3'],
9
- ['concurrently', '7.6.0'],
10
- ['ember-auto-import', '2.6.1'],
9
+ ['concurrently', '8.0.1'],
10
+ ['ember-auto-import', '2.6.3'],
11
11
  ['ember-cli-babel', '7.26.11'],
12
12
  ['ember-cli-htmlbars', '6.2.0'],
13
- ['prettier', '2.8.4'],
14
- ['rollup', '3.18.0'],
13
+ ['rollup', '3.21.0'],
15
14
  ['rollup-plugin-copy', '3.4.0'],
16
15
  ['rollup-plugin-ts', '3.2.0'],
17
16
  ]);
@@ -29,7 +28,7 @@ export function decideVersion(packageName, options) {
29
28
 
30
29
  if (!latestVersion) {
31
30
  throw new RangeError(
32
- `ERROR: The latest version of \`${packageName}\` is unknown.\n`
31
+ `ERROR: The latest version of \`${packageName}\` is unknown.\n`,
33
32
  );
34
33
  }
35
34
 
@@ -1,3 +1,3 @@
1
- export * from './blueprints/blueprint-root.js';
1
+ export * from './blueprints/blueprints-root.js';
2
2
  export * from './blueprints/decide-version.js';
3
3
  export * from './blueprints/process-template.js';
@@ -20,6 +20,6 @@ export function mapFilePaths(filePaths, directory) {
20
20
  const newPath = renameDirectory(filePath, { from, to });
21
21
 
22
22
  return [filePath, newPath];
23
- })
23
+ }),
24
24
  );
25
25
  }
@@ -1,25 +0,0 @@
1
- # unconventional js
2
- /blueprints/*/files/
3
- /vendor/
4
-
5
- # compiled output
6
- /dist/
7
- /tmp/
8
-
9
- # dependencies
10
- /bower_components/
11
- /node_modules/
12
-
13
- # misc
14
- /coverage/
15
- !.*
16
- .eslintcache
17
- .lint-todo/
18
-
19
- # ember-try
20
- /.node_modules.ember-try/
21
- /bower.json.ember-try
22
- /npm-shrinkwrap.json.ember-try
23
- /package.json.ember-try
24
- /package-lock.json.ember-try
25
- /yarn.lock.ember-try
@@ -1,5 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- singleQuote: true,
5
- };