@elliemae/ds-codemods 2.3.1-rc.2 → 3.0.0-alpha.2

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 (31) hide show
  1. package/package.json +23 -19
  2. package/.eslintrc-backup.js +0 -70
  3. package/CHANGELOG.md +0 -2075
  4. package/src/cli/code-mods/cli.js +0 -32
  5. package/src/cli/code-mods/command-arguments/promptCheckEmPackagesInconsistencies.js +0 -22
  6. package/src/cli/code-mods/command-arguments/promptFixLegacyImports.js +0 -21
  7. package/src/cli/code-mods/command-arguments/promptMissingPackages.js +0 -29
  8. package/src/cli/code-mods/command-logics/check-missing-packages/index.js +0 -82
  9. package/src/cli/code-mods/command-logics/check-packages-inconsistencies/getPackageJsonEmDsVersions.js +0 -43
  10. package/src/cli/code-mods/command-logics/check-packages-inconsistencies/index.js +0 -59
  11. package/src/cli/code-mods/command-logics/execute-commands-map.js +0 -23
  12. package/src/cli/code-mods/command-logics/fix-legacy-imports/index.js +0 -29
  13. package/src/cli/code-mods/command-logics/fix-legacy-imports/legacyImportMap.js +0 -109
  14. package/src/cli/code-mods/commands.js +0 -9
  15. package/src/cli/code-mods/inquirer-questions-prompter.js +0 -52
  16. package/src/cli/utils/generatePathFromCurrentFolder.js +0 -5
  17. package/src/cli/utils/getLatestDimsumVersion.js +0 -15
  18. package/src/cli/utils/globArray.js +0 -11
  19. package/src/cli/utils/index.js +0 -5
  20. package/src/cli/utils/matchHelpers.js +0 -38
  21. package/src/cli/utils/replaceFromMap.js +0 -15
  22. package/test-ables/check-packages-inconsistencies/package.json.test +0 -54
  23. package/test-ables/fix-legacy-imports/legacy-react-ts.tsx.mock +0 -62
  24. package/test-ables/fix-legacy-imports/legacy-react-ts2.tsx.mock +0 -62
  25. package/test-ables/fix-legacy-imports/legacy-react.jsx.mock +0 -62
  26. package/test-ables/fix-legacy-imports/legacy-react2.jsx.mock +0 -62
  27. package/test-ables/fix-legacy-imports/legacy-ts.ts.mock +0 -62
  28. package/test-ables/fix-legacy-imports/legacy-ts2.ts.mock +0 -62
  29. package/test-ables/fix-legacy-imports/legacy1.js.mock +0 -61
  30. package/test-ables/fix-legacy-imports/legacy2.js.mock +0 -61
  31. package/tsconfig.json +0 -10
@@ -1,32 +0,0 @@
1
- import arg from 'arg';
2
- import { promptForMissingOptions } from './inquirer-questions-prompter';
3
- import { executeCommandsMap } from './command-logics/execute-commands-map';
4
-
5
- function parseArgumentsIntoOptions(rawArgs) {
6
- const args = arg(
7
- {
8
- '--globPattern': String,
9
- '--globPatternIgnore': String,
10
- '--projectFolderPath': String,
11
- '--ignorePackagesGlobPattern': String,
12
- '--ignoreFilesGlobPattern': String,
13
- },
14
- {
15
- argv: rawArgs.slice(2),
16
- },
17
- );
18
- return {
19
- globPattern: args['--globPattern'],
20
- globPatternIgnore: args['--globPatternIgnore'],
21
- projectFolderPath: args['--projectFolderPath'],
22
- ignorePackagesGlobPattern: args['--ignorePackagesGlobPattern'],
23
- ignoreFilesGlobPattern: args['--ignoreFilesGlobPattern'],
24
- script: args._[0],
25
- };
26
- }
27
-
28
- export async function cli(args) {
29
- let options = parseArgumentsIntoOptions(args);
30
- options = await promptForMissingOptions(options);
31
- executeCommandsMap(args, options);
32
- }
@@ -1,22 +0,0 @@
1
- export const getPackagesInconsistenciesQuestions = (originalOptions) => {
2
- const extraOptions = [];
3
- const { globPattern, globPatternIgnore } = originalOptions;
4
- if (!globPattern && globPattern !== '') {
5
- extraOptions.push({
6
- type: 'input',
7
- name: 'globPattern',
8
- message:
9
- 'Please provide a comma separated list of globPatterns catching the file in which to check for inconsistencies',
10
- default: './package.json', // './packages/ds-codemods/test-ables/check-packages-inconsistencies/package.json.test',
11
- });
12
- }
13
- if (!globPatternIgnore && globPatternIgnore !== '') {
14
- extraOptions.push({
15
- type: 'input',
16
- name: 'globPatternIgnore',
17
- message: 'Please provide a comma separated list of ignored files for your globPattern',
18
- default: '**/node_modules/**/*',
19
- });
20
- }
21
- return extraOptions;
22
- };
@@ -1,21 +0,0 @@
1
- export const getLegacyImportsQuestions = (originalOptions) => {
2
- const extraOptions = [];
3
- const { globPattern, globPatternIgnore } = originalOptions;
4
- if (!globPattern && globPattern !== '') {
5
- extraOptions.push({
6
- type: 'input',
7
- name: 'globPattern',
8
- message: 'Please provide a comma separated list of globPatterns catching the file in which to fix the imports',
9
- default: './**/*.js,./**/*.jsx,./**/*.ts,./**/*.tsx',
10
- });
11
- }
12
- if (!globPatternIgnore && globPatternIgnore !== '') {
13
- extraOptions.push({
14
- type: 'input',
15
- name: 'globPatternIgnore',
16
- message: 'Please provide a comma separated list of ignored files for your globPattern',
17
- default: '**/node_modules/**/*',
18
- });
19
- }
20
- return extraOptions;
21
- };
@@ -1,29 +0,0 @@
1
- export const getMissingPackagesQuestions = (originalOptions) => {
2
- const extraOptions = [];
3
- const { projectFolderPath, ignorePackagesGlobPattern, ignoreFilesGlobPattern } = originalOptions;
4
- if (!projectFolderPath && projectFolderPath !== '') {
5
- extraOptions.push({
6
- type: 'input',
7
- name: 'projectFolderPath',
8
- message: 'path to the project folder containing package.json file',
9
- default: './',
10
- });
11
- }
12
- if (!ignorePackagesGlobPattern && ignorePackagesGlobPattern !== '') {
13
- extraOptions.push({
14
- type: 'input',
15
- name: 'ignorePackagesGlobPattern',
16
- message: 'Please provide a comma separated list of globPatterns for ignored packages, if any.',
17
- default: '',
18
- });
19
- }
20
- if (!ignoreFilesGlobPattern && ignoreFilesGlobPattern !== '') {
21
- extraOptions.push({
22
- type: 'input',
23
- name: 'ignoreFilesGlobPattern',
24
- message: 'Please provide a comma separated list of globPatterns for ignored files, if any.',
25
- default: '**/*.eslintrc.js',
26
- });
27
- }
28
- return extraOptions;
29
- };
@@ -1,82 +0,0 @@
1
- /* eslint-disable no-console */
2
- import depcheck from 'depcheck';
3
- import chalk from 'chalk';
4
- import { generatePathFromCurrentFolder } from '../../../utils';
5
-
6
- const logUnusedDep = (unused) => {
7
- console.log(chalk.yellowBright('### Found unused dependencies :>>'));
8
- console.log('```');
9
- console.log(unused.dependencies);
10
- console.log('```');
11
- };
12
- const logUnusedDevDep = (unused) => {
13
- console.log(chalk.magentaBright('### Found unused dev dependencies :>>'));
14
- console.log('```');
15
- console.log(unused.devDependencies);
16
- console.log('```');
17
- };
18
- const logMissing = (unused) => {
19
- const missingString = [...Object.keys(unused.missing)].map((pack) => `\t${pack}`).join(',\n');
20
- console.log(chalk.redBright('### Found missing dependencies :>>'));
21
- console.log('```');
22
- console.log('{');
23
- console.log(missingString);
24
- console.log('}');
25
- console.log('```');
26
- };
27
-
28
- export const checkMissingPackages = async (options) => {
29
- const { projectFolderPath, ignorePackagesGlobPattern, ignoreFilesGlobPattern } = options;
30
- const ignorePatterns = ignorePackagesGlobPattern
31
- .split(',')
32
- .map((pattern) => (pattern && pattern !== '' ? generatePathFromCurrentFolder(pattern) : ''));
33
- const ignoreMatches = ignoreFilesGlobPattern
34
- .split(',')
35
- .map((pattern) => (pattern && pattern !== '' ? generatePathFromCurrentFolder(pattern) : ''));
36
- const depCheckOptions = {
37
- ignoreBinPackage: false, // ignore the packages with bin entry
38
- skipMissing: false, // skip calculation of missing dependencies
39
- parsers: {
40
- // the target parsers
41
- '**/*.js': depcheck.parser.jsx,
42
- '**/*.jsx': depcheck.parser.jsx,
43
- '**/*.ts': depcheck.parser.typescript,
44
- '**/*.tsx': depcheck.parser.typescript,
45
- },
46
- detectors: [
47
- depcheck.detector.requireCallExpression,
48
- depcheck.detector.requireResolveCallExpression,
49
- depcheck.detector.importDeclaration,
50
- depcheck.detector.typescriptImportType,
51
- depcheck.detector.exportDeclaration,
52
- ],
53
- specials: [
54
- // the target special parsers
55
- depcheck.special.babel,
56
- depcheck.special.bin,
57
- depcheck.special.eslint,
58
- depcheck.special.husky,
59
- depcheck.special.jest,
60
- depcheck.special.mocha,
61
- depcheck.special.prettier,
62
- depcheck.special.tslint,
63
- depcheck.special.webpack,
64
- ],
65
- ignorePatterns,
66
- ignoreMatches,
67
- };
68
- const pathToRoot = generatePathFromCurrentFolder(projectFolderPath);
69
-
70
- depcheck(pathToRoot, depCheckOptions).then((unused) => {
71
- const unusedDep = Array.isArray(unused.dependencies) && unused.dependencies.length > 0;
72
- const unusedDevDep = Array.isArray(unused.devDependencies) && unused.devDependencies.length > 0;
73
- const missing = Object.keys(unused.missing).length > 0;
74
- const hasErrors = unusedDep || unusedDevDep || missing;
75
- console.log(chalk.bold.cyanBright(`# Dependencies results for ${pathToRoot}`));
76
- console.log(chalk.bold.cyanBright(`[${pathToRoot}](${pathToRoot}package.json)`));
77
- if (unusedDep) logUnusedDep(unused);
78
- if (unusedDevDep) logUnusedDevDep(unused);
79
- if (missing) logMissing(unused);
80
- if (!hasErrors) console.log(chalk.bold.green(`no problems found!`));
81
- });
82
- };
@@ -1,43 +0,0 @@
1
- /* eslint-disable max-statements */
2
- export function getPackageJsonEmDsVersions(packageJsonAsString = '') {
3
- const dependenciesRegExp = /"dependencies": {(.*?)},?/gs;
4
- const devDependenciesRegExp = /"devDependencies": {(.*?)},?/gs;
5
- const peerDependenciesRegExp = /"peerDependencies": {(.*?)},?/gs;
6
- const dsPackageRegExp = /"@elliemae\/ds-.*?": "(.*?)",?/gm;
7
-
8
- const [dependenciesString] = packageJsonAsString.match(dependenciesRegExp) || [];
9
- const [devDependenciesString] = packageJsonAsString.match(devDependenciesRegExp) || [];
10
- const [peerDependenciesString] = packageJsonAsString.match(peerDependenciesRegExp) || [];
11
-
12
- const matches = [];
13
- const dependenciesMatches = [];
14
- const devDependenciesMatches = [];
15
- const peerDependenciesMatches = [];
16
-
17
- if (dependenciesString) {
18
- const depMatches = [...dependenciesString.matchAll(dsPackageRegExp)];
19
- depMatches.forEach(([fullMatch, version]) => {
20
- const matchObj = { fullMatch, version, dependencyType: 'dependency' };
21
- matches.push(matchObj);
22
- dependenciesMatches.push(matchObj);
23
- });
24
- }
25
- if (devDependenciesString) {
26
- const devDepMatches = [...devDependenciesString.matchAll(dsPackageRegExp)];
27
- devDepMatches.forEach(([fullMatch, version]) => {
28
- const matchObj = { fullMatch, version, dependencyType: 'devDependency' };
29
- matches.push(matchObj);
30
- devDependenciesMatches.push(matchObj);
31
- });
32
- }
33
- if (peerDependenciesString) {
34
- const peerDepMatches = [...peerDependenciesString.matchAll(dsPackageRegExp)];
35
- peerDepMatches.forEach(([fullMatch, version]) => {
36
- const matchObj = { fullMatch, version, dependencyType: 'peerDependency' };
37
- matches.push(matchObj);
38
- peerDependenciesMatches.push(matchObj);
39
- });
40
- }
41
-
42
- return { matches, dependenciesMatches, devDependenciesMatches, peerDependenciesMatches };
43
- }
@@ -1,59 +0,0 @@
1
- import fs from 'fs';
2
- import chalk from 'chalk';
3
- import { getPackageJsonEmDsVersions } from './getPackageJsonEmDsVersions';
4
- import {
5
- generatePathFromCurrentFolder,
6
- globArray,
7
- getHighestMatchVersion,
8
- getLatestDimsumVersion,
9
- } from '../../../utils';
10
-
11
- const getErrors = (highestVersion, matches = []) => {
12
- const errors = [];
13
- let hasErrors = false;
14
- matches.forEach((match) => {
15
- const { version } = match;
16
- if (version !== highestVersion.fullVersion) {
17
- hasErrors = true;
18
- errors.push({ ...match, suggestedVersion: highestVersion.fullVersion });
19
- }
20
- });
21
- return { errors, hasErrors };
22
- };
23
- export const checkPackagesInconsistencies = async (options) => {
24
- const csvGlobs = options.globPattern.split(',').map((pattern) => generatePathFromCurrentFolder(pattern));
25
-
26
- const ignoredPatterns = options.globPatternIgnore.split(',');
27
- const globOptions = { ignore: ignoredPatterns };
28
-
29
- const pathToFileToProcess = globArray(csvGlobs, globOptions);
30
- const { latestVersionParsed } = await getLatestDimsumVersion();
31
-
32
- pathToFileToProcess.forEach((path) => {
33
- const fileContent = fs.readFileSync(path, {
34
- encoding: 'utf8',
35
- flag: 'r',
36
- });
37
- if (fileContent && typeof fileContent === 'string') {
38
- const { matches } = getPackageJsonEmDsVersions(fileContent);
39
- const highestVersion = getHighestMatchVersion(matches);
40
- const { errors, hasErrors } = getErrors(highestVersion, matches);
41
- if (hasErrors) {
42
- console.log(chalk.yellow('Your Package json has some Elliemae dimsum inconsistencies'));
43
- console.log(errors);
44
- console.log(chalk.yellow('Please solve them as soon as possible to avoid unexpected errors'));
45
- }
46
- const shouldUpdateToNewest =
47
- highestVersion.major < latestVersionParsed.major ||
48
- (highestVersion.major === latestVersionParsed.major && highestVersion.minor < latestVersionParsed.minor - 6);
49
- if (shouldUpdateToNewest) {
50
- console.log(chalk.bold.yellowBright.bgRed('We detected that you are using a version that is too outdated'));
51
- console.log(chalk.yellowBright(`Detected (highest) version:`, chalk.bold.red(highestVersion.fullVersion)));
52
- console.log(chalk.yellowBright(`Latest version:`, chalk.bold.cyanBright(latestVersionParsed.fullVersion)));
53
- console.log(chalk.bold.yellowBright.bgRed('Please update to the newest version release as soon as possible!'));
54
- }
55
- }
56
- });
57
- };
58
-
59
- export default checkPackagesInconsistencies;
@@ -1,23 +0,0 @@
1
- import { fixLegacyImports } from './fix-legacy-imports';
2
- import { checkPackagesInconsistencies } from './check-packages-inconsistencies';
3
- import { checkMissingPackages } from './check-missing-packages';
4
- import { COMMANDS } from '../commands';
5
-
6
- export async function executeCommandsMap(args, options) {
7
- switch (options.script) {
8
- case COMMANDS.FIX_LEGACY_IMPORTS:
9
- fixLegacyImports(options);
10
- break;
11
- case COMMANDS.FIX_LEGACY_IMPORTS_REVERT:
12
- fixLegacyImports(options, true);
13
- break;
14
- case COMMANDS.CHECK_PACKAGES_INCONSISTENCIES:
15
- checkPackagesInconsistencies(options);
16
- break;
17
- case COMMANDS.CHECK_MISSING_PACKAGES:
18
- checkMissingPackages(options);
19
- break;
20
- default:
21
- break;
22
- }
23
- }
@@ -1,29 +0,0 @@
1
- import fs from 'fs';
2
- import fse from 'fs-extra';
3
- import { generatePathFromCurrentFolder, replaceFromMap, globArray } from '../../../utils';
4
- import { legacyImportMap, legacyImportMapRevert } from './legacyImportMap';
5
-
6
- export const fixLegacyImports = (options, isRevert = false) => {
7
- const csvGlobs = options.globPattern.split(',').map((pattern) => generatePathFromCurrentFolder(pattern));
8
-
9
- const ignoredPatterns = options.globPatternIgnore.split(',');
10
- const globOptions = { ignore: ignoredPatterns };
11
-
12
- const pathToFileToProcess = globArray(csvGlobs, globOptions);
13
-
14
- const replaceMap = isRevert ? legacyImportMapRevert : legacyImportMap;
15
- console.log('replaceMap :>> ', replaceMap);
16
- pathToFileToProcess.forEach((path) => {
17
- console.log('path :>> ', path);
18
- const fileContent = fs.readFileSync(path, {
19
- encoding: 'utf8',
20
- flag: 'r',
21
- });
22
- if (fileContent && typeof fileContent === 'string') {
23
- const newContent = replaceFromMap(fileContent, replaceMap);
24
- fse.outputFileSync(path, newContent);
25
- }
26
- });
27
- };
28
-
29
- export default fixLegacyImports;
@@ -1,109 +0,0 @@
1
- /* eslint-disable max-lines */
2
- export const legacyImportMap = {
3
- '@elliemae/ds-basic/Accordion': '@elliemae/ds-basic/Accordion',
4
- '@elliemae/ds-basic/GroupBox': '@elliemae/ds-basic/GroupBox',
5
- '@elliemae/ds-basic/TruncatedTooltipText': '@elliemae/ds-basic/TruncatedTooltipText',
6
- '@elliemae/ds-basic/Button': '@elliemae/ds-basic/Button',
7
- '@elliemae/ds-basic/Separator': '@elliemae/ds-basic/Separator',
8
- '@elliemae/ds-basic/Icon': '@elliemae/ds-basic/Icon',
9
- '@elliemae/ds-basic/Tabs': '@elliemae/ds-basic/Tabs',
10
- '@elliemae/ds-basic/Tooltip': '@elliemae/ds-basic/Tooltip',
11
- '@elliemae/ds-basic/Breadcrumb': '@elliemae/ds-basic/Breadcrumb',
12
- '@elliemae/ds-basic/Popper': '@elliemae/ds-basic/Popper',
13
- '@elliemae/ds-basic/Zoom': '@elliemae/ds-basic/Zoom',
14
- '@elliemae/ds-basic/ButtonGroup': '@elliemae/ds-basic/ButtonGroup',
15
- '@elliemae/ds-basic/Card': '@elliemae/ds-basic/Card',
16
- '@elliemae/ds-basic/TimePicker': '@elliemae/ds-basic/TimePicker',
17
- '@elliemae/ds-basic/Hidden': '@elliemae/ds-basic/Hidden',
18
- '@elliemae/ds-basic/IndeterminateProgressIndicator': '@elliemae/ds-basic/IndeterminateProgressIndicator',
19
- '@elliemae/ds-basic/LoadingIndicator': '@elliemae/ds-basic/LoadingIndicator',
20
- '@elliemae/ds-basic/Menu': '@elliemae/ds-basic/Menu',
21
- '@elliemae/ds-basic/Overlay': '@elliemae/ds-basic/Overlay',
22
- '@elliemae/ds-basic/PageHeader': '@elliemae/ds-basic/PageHeader',
23
- '@elliemae/ds-basic/PageNumber': '@elliemae/ds-basic/PageNumber',
24
- '@elliemae/ds-basic/Pills': '@elliemae/ds-basic/Pills',
25
- '@elliemae/ds-basic/Popover': '@elliemae/ds-basic/Popover',
26
- '@elliemae/ds-basic/Portal': '@elliemae/ds-basic/Portal',
27
- '@elliemae/ds-basic/ProgressIndicator': '@elliemae/ds-basic/ProgressIndicator',
28
- '@elliemae/ds-basic/ReadMore': '@elliemae/ds-basic/ReadMore',
29
- '@elliemae/ds-basic/Spinner': '@elliemae/ds-basic/Spinner',
30
- '@elliemae/ds-basic/TextWrapper': '@elliemae/ds-basic/TextWrapper',
31
- '@elliemae/ds-basic/Toast': '@elliemae/ds-basic/Toast',
32
- '@elliemae/ds-basic/Toolbar': '@elliemae/ds-basic/Toolbar',
33
- '@elliemae/ds-basic/ZipCodeSearch': '@elliemae/ds-basic/ZipCodeSearch',
34
- '@elliemae/ds-basic/form/Checkbox': '@elliemae/ds-basic/form/Checkbox',
35
- '@elliemae/ds-basic/form/ComboBox': '@elliemae/ds-basic/form/ComboBox',
36
- '@elliemae/ds-basic/form/FormItem': '@elliemae/ds-basic/form/FormItem',
37
- '@elliemae/ds-basic/form/LargeInputText': '@elliemae/ds-basic/form/LargeInputText',
38
- '@elliemae/ds-basic/form/Radio': '@elliemae/ds-basic/form/Radio',
39
- '@elliemae/ds-basic/form/RadioGroup': '@elliemae/ds-basic/form/RadioGroup',
40
- '@elliemae/ds-basic/form/TextBox': '@elliemae/ds-basic/form/TextBox',
41
- '@elliemae/ds-basic/form/Toggle': '@elliemae/ds-basic/form/Toggle',
42
- '@elliemae/ds-basic/form/InputMask': '@elliemae/ds-basic/form/InputMask',
43
- '@elliemae/ds-basic/form/InputGroup': '@elliemae/ds-basic/form/InputGroup',
44
- '@elliemae/ds-basic/form/CheckboxGroup': '@elliemae/ds-basic/form/CheckboxGroup',
45
- '@elliemae/ds-basic/form/DateInput': '@elliemae/ds-basic/form/DateInput',
46
- '@elliemae/ds-basic/form/ExpandableInput': '@elliemae/ds-basic/form/ExpandableInput',
47
- '@elliemae/ds-basic/form/FloatingLabelInput': '@elliemae/ds-basic/form/FloatingLabelInput',
48
- '@elliemae/ds-basic/form/Input': '@elliemae/ds-basic/form/Input',
49
- '@elliemae/ds-basic/form/RequiredMark': '@elliemae/ds-basic/form/RequiredMark',
50
- '@elliemae/ds-basic/form/SearchBox': '@elliemae/ds-basic/form/SearchBox',
51
- '@elliemae/ds-basic/form/TimeInput': '@elliemae/ds-basic/form/TimeInput',
52
- '@elliemae/ds-basic/ButtonGroup': '@elliemae/ds-basic/ButtonGroup', // this can't be reverted because it's a duplicate key with different capitals
53
- '@elliemae/ds-basic/form/CheckboxGroup': '@elliemae/ds-basic/form/CheckboxGroup', // this can't be reverted because it's a duplicate key with different capitals
54
- '@elliemae/ds-basic/form/RadioGroup': '@elliemae/ds-basic/form/RadioGroup', // this can't be reverted because it's a duplicate key with different capitals
55
- };
56
-
57
- export const legacyImportMapRevert = {
58
- '@elliemae/ds-basic/Accordion': '@elliemae/ds-basic/Accordion',
59
- '@elliemae/ds-basic/GroupBox': '@elliemae/ds-basic/GroupBox',
60
- '@elliemae/ds-basic/TruncatedTooltipText': '@elliemae/ds-basic/TruncatedTooltipText',
61
- '@elliemae/ds-basic/Button': '@elliemae/ds-basic/Button',
62
- '@elliemae/ds-basic/Separator': '@elliemae/ds-basic/Separator',
63
- '@elliemae/ds-basic/Icon': '@elliemae/ds-basic/Icon',
64
- '@elliemae/ds-basic/Tabs': '@elliemae/ds-basic/Tabs',
65
- '@elliemae/ds-basic/Tooltip': '@elliemae/ds-basic/Tooltip',
66
- '@elliemae/ds-basic/Breadcrumb': '@elliemae/ds-basic/Breadcrumb',
67
- '@elliemae/ds-basic/Popper': '@elliemae/ds-basic/Popper',
68
- '@elliemae/ds-basic/Zoom': '@elliemae/ds-basic/Zoom',
69
- '@elliemae/ds-basic/ButtonGroup': '@elliemae/ds-basic/ButtonGroup',
70
- '@elliemae/ds-basic/Card': '@elliemae/ds-basic/Card',
71
- '@elliemae/ds-basic/TimePicker': '@elliemae/ds-basic/TimePicker',
72
- '@elliemae/ds-basic/Hidden': '@elliemae/ds-basic/Hidden',
73
- '@elliemae/ds-basic/IndeterminateProgressIndicator': '@elliemae/ds-basic/IndeterminateProgressIndicator',
74
- '@elliemae/ds-basic/LoadingIndicator': '@elliemae/ds-basic/LoadingIndicator',
75
- '@elliemae/ds-basic/Menu': '@elliemae/ds-basic/Menu',
76
- '@elliemae/ds-basic/Overlay': '@elliemae/ds-basic/Overlay',
77
- '@elliemae/ds-basic/PageHeader': '@elliemae/ds-basic/PageHeader',
78
- '@elliemae/ds-basic/PageNumber': '@elliemae/ds-basic/PageNumber',
79
- '@elliemae/ds-basic/Pills': '@elliemae/ds-basic/Pills',
80
- '@elliemae/ds-basic/Popover': '@elliemae/ds-basic/Popover',
81
- '@elliemae/ds-basic/Portal': '@elliemae/ds-basic/Portal',
82
- '@elliemae/ds-basic/ProgressIndicator': '@elliemae/ds-basic/ProgressIndicator',
83
- '@elliemae/ds-basic/ReadMore': '@elliemae/ds-basic/ReadMore',
84
- '@elliemae/ds-basic/Spinner': '@elliemae/ds-basic/Spinner',
85
- '@elliemae/ds-basic/TextWrapper': '@elliemae/ds-basic/TextWrapper',
86
- '@elliemae/ds-basic/Toast': '@elliemae/ds-basic/Toast',
87
- '@elliemae/ds-basic/Toolbar': '@elliemae/ds-basic/Toolbar',
88
- '@elliemae/ds-basic/ZipCodeSearch': '@elliemae/ds-basic/ZipCodeSearch',
89
- '@elliemae/ds-basic/form/Checkbox': '@elliemae/ds-basic/form/Checkbox',
90
- '@elliemae/ds-basic/form/ComboBox': '@elliemae/ds-basic/form/ComboBox',
91
- '@elliemae/ds-basic/form/FormItem': '@elliemae/ds-basic/form/FormItem',
92
- '@elliemae/ds-basic/form/LargeInputText': '@elliemae/ds-basic/form/LargeInputText',
93
- '@elliemae/ds-basic/form/Radio': '@elliemae/ds-basic/form/Radio',
94
- '@elliemae/ds-basic/form/RadioGroup': '@elliemae/ds-basic/form/RadioGroup',
95
- '@elliemae/ds-basic/form/TextBox': '@elliemae/ds-basic/form/TextBox',
96
- '@elliemae/ds-basic/form/Toggle': '@elliemae/ds-basic/form/Toggle',
97
- '@elliemae/ds-basic/form/InputMask': '@elliemae/ds-basic/form/InputMask',
98
- '@elliemae/ds-basic/form/InputGroup': '@elliemae/ds-basic/form/InputGroup',
99
- '@elliemae/ds-basic/form/CheckboxGroup': '@elliemae/ds-basic/form/CheckboxGroup',
100
- '@elliemae/ds-basic/form/DateInput': '@elliemae/ds-basic/form/DateInput',
101
- '@elliemae/ds-basic/form/ExpandableInput': '@elliemae/ds-basic/form/ExpandableInput',
102
- '@elliemae/ds-basic/form/FloatingLabelInput': '@elliemae/ds-basic/form/FloatingLabelInput',
103
- '@elliemae/ds-basic/form/Input': '@elliemae/ds-basic/form/Input',
104
- '@elliemae/ds-basic/form/RequiredMark': '@elliemae/ds-basic/form/RequiredMark',
105
- '@elliemae/ds-basic/form/SearchBox': '@elliemae/ds-basic/form/SearchBox',
106
- '@elliemae/ds-basic/form/TimeInput': '@elliemae/ds-basic/form/TimeInput',
107
- };
108
-
109
- export default legacyImportMap;
@@ -1,9 +0,0 @@
1
- export const COMMANDS = {
2
- FIX_LEGACY_IMPORTS: 'fix-legacy-imports',
3
- FIX_LEGACY_IMPORTS_REVERT: 'fix-legacy-imports:revert',
4
- CHECK_PACKAGES_INCONSISTENCIES: 'check-packages-inconsistencies',
5
- CHECK_MISSING_PACKAGES: 'check-missing-packages',
6
- EXIT: 'exit',
7
- };
8
-
9
- export const COMMANDS_ARRAY = Object.values(COMMANDS);
@@ -1,52 +0,0 @@
1
- import inquirer from 'inquirer';
2
- import { COMMANDS, COMMANDS_ARRAY } from './commands';
3
- import { getLegacyImportsQuestions } from './command-arguments/promptFixLegacyImports';
4
- import { getPackagesInconsistenciesQuestions } from './command-arguments/promptCheckEmPackagesInconsistencies';
5
- import { getMissingPackagesQuestions } from './command-arguments/promptMissingPackages';
6
-
7
- async function promptForMissingScriptSpecificOptions({ originalOptions, promptOptions }) {
8
- const script = originalOptions.script || promptOptions.script;
9
- const scriptQuestions = [];
10
- switch (script) {
11
- case COMMANDS.FIX_LEGACY_IMPORTS_REVERT:
12
- case COMMANDS.FIX_LEGACY_IMPORTS:
13
- scriptQuestions.push(...getLegacyImportsQuestions(originalOptions));
14
- break;
15
- case COMMANDS.CHECK_PACKAGES_INCONSISTENCIES:
16
- scriptQuestions.push(...getPackagesInconsistenciesQuestions(originalOptions));
17
- break;
18
- case COMMANDS.CHECK_MISSING_PACKAGES:
19
- scriptQuestions.push(...getMissingPackagesQuestions(originalOptions));
20
- break;
21
- default:
22
- break;
23
- }
24
-
25
- const answers = await inquirer.prompt(scriptQuestions);
26
- return {
27
- ...originalOptions,
28
- ...promptOptions,
29
- ...answers,
30
- };
31
- }
32
-
33
- export async function promptForMissingOptions(options) {
34
- const questions = [];
35
- if (!options.script) {
36
- questions.push({
37
- type: 'list',
38
- name: 'script',
39
- message: 'Please choose which command to run',
40
- choices: COMMANDS_ARRAY,
41
- });
42
- }
43
- const answers = await inquirer.prompt(questions);
44
- const scriptSpecificAnswears = await promptForMissingScriptSpecificOptions({
45
- originalOptions: { ...options },
46
- promptOptions: { ...answers },
47
- });
48
-
49
- return {
50
- ...scriptSpecificAnswears,
51
- };
52
- }
@@ -1,5 +0,0 @@
1
- import path from 'path';
2
-
3
- export const generatePathFromCurrentFolder = (...patterns) => path.join(process.cwd(), ...patterns);
4
-
5
- export default generatePathFromCurrentFolder;
@@ -1,15 +0,0 @@
1
- import pacote from 'pacote';
2
- import { getVersions } from './matchHelpers';
3
-
4
- export const getLatestDimsumVersion = async () => {
5
- const packageInfos = await pacote.packument('@elliemae/ds-button');
6
- const distTags = packageInfos['dist-tags'];
7
- const latestVersion = distTags.latest;
8
- const latestVersionParsed = getVersions(latestVersion);
9
- return {
10
- packageInfos,
11
- distTags,
12
- latestVersion,
13
- latestVersionParsed,
14
- };
15
- };
@@ -1,11 +0,0 @@
1
- import glob from 'glob';
2
-
3
- export const globArray = (globPatterns, globOptions = {}) => {
4
- if (!Array.isArray(globPatterns)) {
5
- throw new Error('array of glob patterns required but not received');
6
- }
7
- const patternsResults = globPatterns.map((globPattern) => glob.sync(globPattern, globOptions));
8
- return [].concat(...patternsResults);
9
- };
10
-
11
- export default globArray;
@@ -1,5 +0,0 @@
1
- export * from './generatePathFromCurrentFolder';
2
- export * from './globArray';
3
- export * from './replaceFromMap';
4
- export * from './matchHelpers';
5
- export * from './getLatestDimsumVersion';
@@ -1,38 +0,0 @@
1
- /* eslint-disable complexity */
2
- /* eslint-disable max-statements */
3
- export function getVersions(fullVersion) {
4
- const [majorAsString, minorAsString, buildWithTag = '', tagRevisionAsString] = fullVersion.split('.');
5
- const [buildAsString, tag] = buildWithTag.split('-');
6
- const major = Number.parseInt(majorAsString, 10);
7
- const minor = Number.parseInt(minorAsString, 10);
8
- const build = Number.parseInt(buildAsString, 10);
9
- const tagRevision = tagRevisionAsString ? Number.parseInt(tagRevisionAsString, 10) : undefined;
10
- return { fullVersion, major, minor, build, tag, tagRevision };
11
- }
12
- export function getMatchVersions(match = {}) {
13
- const fullVersion = match.version || '';
14
- return getVersions(fullVersion);
15
- }
16
-
17
- export function getHighestMatchVersion(matches = []) {
18
- const highestVersion = {};
19
- matches.forEach((match) => {
20
- const versions = getMatchVersions(match);
21
- const { fullVersion, major, minor, build, tag, tagRevision } = versions;
22
-
23
- const isCurrentHigher =
24
- !highestVersion.fullVersion ||
25
- major > highestVersion.major ||
26
- (highestVersion.major === major && minor > highestVersion.minor) ||
27
- (highestVersion.major === major && minor === highestVersion.minor && build > highestVersion.build);
28
- if (isCurrentHigher) {
29
- highestVersion.fullVersion = fullVersion;
30
- highestVersion.major = major;
31
- highestVersion.minor = minor;
32
- highestVersion.build = build;
33
- highestVersion.tag = tag;
34
- highestVersion.tagRevision = tagRevision;
35
- }
36
- });
37
- return highestVersion;
38
- }
@@ -1,15 +0,0 @@
1
- export const replaceFromMap = (originString, replacementMap) => {
2
- let finalString = originString;
3
- if (typeof originString !== 'string' || typeof replacementMap !== 'object') {
4
- const error = `expected string, object arguments but received ${typeof originString}, ${typeof replacementMap}`;
5
- console.error(error);
6
- throw new Error(`expected string, object arguments but received ${typeof originString}, ${typeof replacementMap}`);
7
- }
8
-
9
- Object.entries(replacementMap).forEach(([find, replace]) => {
10
- finalString = finalString.split(find).join(replace);
11
- });
12
- return finalString;
13
- };
14
-
15
- export default replaceFromMap;