From 9aec7df89d8536a969b98f3e2b6acc168fdb5f72 Mon Sep 17 00:00:00 2001 From: Carlos Cuesta Date: Tue, 27 Sep 2022 19:51:16 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Use=20babel-plugin-module-extens?= =?UTF-8?q?ion-resolver`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- babel.config.json | 3 ++- package.json | 1 + src/cli.js | 6 +++--- src/commands/commit/index.js | 10 +++++----- src/commands/commit/prompts.js | 10 +++++----- src/commands/commit/withClient/index.js | 6 +++--- src/commands/commit/withHook/index.js | 2 +- src/commands/config/index.js | 6 +++--- src/commands/config/prompts.js | 6 +++--- src/commands/hook/create/index.js | 4 ++-- src/commands/hook/index.js | 4 ++-- src/commands/hook/remove/index.js | 4 ++-- src/commands/index.js | 12 ++++++------ src/commands/search/index.js | 6 +++--- src/commands/update/index.js | 4 ++-- src/utils/configurationVault/getConfiguration.js | 2 +- src/utils/configurationVault/index.js | 4 ++-- src/utils/filterGitmojis.js | 2 +- src/utils/findGitmojiCommand.js | 4 ++-- src/utils/getDefaultCommitContent.js | 4 ++-- src/utils/getEmojis.js | 6 +++--- src/utils/isHookCreated.js | 4 ++-- test/commands/commit.spec.js | 6 +++--- test/commands/config.spec.js | 2 +- test/commands/hook.spec.js | 2 +- test/commands/list.spec.js | 4 ++-- test/commands/search.spec.js | 4 ++-- test/commands/update.spec.js | 4 ++-- test/utils/configurationVault/defaults.spec.js | 2 +- test/utils/configurationVault/vault.spec.js | 2 +- yarn.lock | 5 +++++ 31 files changed, 74 insertions(+), 67 deletions(-) diff --git a/babel.config.json b/babel.config.json index 68124b41bd..941cad2582 100644 --- a/babel.config.json +++ b/babel.config.json @@ -13,7 +13,8 @@ } } ], - "@babel/plugin-syntax-import-assertions" + "@babel/plugin-syntax-import-assertions", + "module-extension-resolver" ], "env": { "test": { diff --git a/package.json b/package.json index 09233a1971..ccfb2d5e00 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "@babel/plugin-syntax-import-assertions": "^7.18.6", "@babel/preset-env": "7.19.1", "@babel/preset-flow": "7.18.6", + "babel-plugin-module-extension-resolver": "^1.0.0-rc.2", "babel-plugin-module-resolver": "^4.1.0", "babel-plugin-transform-import-meta": "^2.2.0", "codecov": "3.8.3", diff --git a/src/cli.js b/src/cli.js index 93476107d4..4c3bbc6e58 100755 --- a/src/cli.js +++ b/src/cli.js @@ -4,9 +4,9 @@ import meow from 'meow' import updateNotifier from 'update-notifier' import { readFileSync } from 'fs' -import commands from '@commands/index.js' -import FLAGS from '@constants/flags.js' -import findGitmojiCommand from '@utils/findGitmojiCommand.js' +import FLAGS from '@constants/flags' +import findGitmojiCommand from '@utils/findGitmojiCommand' +import commands from './commands' const packageJson: Object = readFileSync( new URL('../package.json', import.meta.url) diff --git a/src/commands/commit/index.js b/src/commands/commit/index.js index 362228cc3e..ab0acd8929 100644 --- a/src/commands/commit/index.js +++ b/src/commands/commit/index.js @@ -1,14 +1,14 @@ // @flow import inquirer from 'inquirer' -import getEmojis from '@utils/getEmojis.js' -import COMMIT_MODES from '@constants/commit.js' +import getEmojis from '@utils/getEmojis' +import COMMIT_MODES from '@constants/commit' import withHook, { registerHookInterruptionHandler, cancelIfNeeded -} from './withHook/index.js' -import withClient from './withClient/index.js' -import prompts from './prompts.js' +} from './withHook' +import withClient from './withClient' +import prompts from './prompts' export type CommitOptions = { message?: string, diff --git a/src/commands/commit/prompts.js b/src/commands/commit/prompts.js index 4bd6fd0429..342792c89f 100644 --- a/src/commands/commit/prompts.js +++ b/src/commands/commit/prompts.js @@ -2,11 +2,11 @@ import inquirer from 'inquirer' import inquirerAutocompletePrompt from 'inquirer-autocomplete-prompt' -import configurationVault from '@utils/configurationVault/index.js' -import filterGitmojis from '@utils/filterGitmojis.js' -import getDefaultCommitContent from '@utils/getDefaultCommitContent.js' -import { type CommitOptions } from './index.js' -import guard from './guard.js' +import configurationVault from '@utils/configurationVault' +import filterGitmojis from '@utils/filterGitmojis' +import getDefaultCommitContent from '@utils/getDefaultCommitContent' +import { type CommitOptions } from '.' +import guard from './guard' const TITLE_MAX_LENGTH_COUNT: number = 48 diff --git a/src/commands/commit/withClient/index.js b/src/commands/commit/withClient/index.js index 007f76521e..929d2816f0 100644 --- a/src/commands/commit/withClient/index.js +++ b/src/commands/commit/withClient/index.js @@ -3,9 +3,9 @@ import { execa } from 'execa' import fs from 'fs' import chalk from 'chalk' -import isHookCreated from '@utils/isHookCreated.js' -import configurationVault from '@utils/configurationVault/index.js' -import { type Answers } from '../prompts.js' +import isHookCreated from '@utils/isHookCreated' +import configurationVault from '@utils/configurationVault' +import { type Answers } from '../prompts' const withClient = async (answers: Answers): Promise => { try { diff --git a/src/commands/commit/withHook/index.js b/src/commands/commit/withHook/index.js index bd732968d2..097744e855 100644 --- a/src/commands/commit/withHook/index.js +++ b/src/commands/commit/withHook/index.js @@ -2,7 +2,7 @@ import { execa } from 'execa' import fs from 'fs' -import { type Answers } from '../prompts.js' +import { type Answers } from '../prompts' const withHook = (answers: Answers) => { try { diff --git a/src/commands/config/index.js b/src/commands/config/index.js index 1ae592e373..a584e211c0 100644 --- a/src/commands/config/index.js +++ b/src/commands/config/index.js @@ -1,9 +1,9 @@ // @flow import inquirer from 'inquirer' -import configurationPrompts from './prompts.js' -import { CONFIG } from '@constants/configuration.js' -import configurationVault from '@utils/configurationVault/index.js' +import configurationPrompts from './prompts' +import { CONFIG } from '@constants/configuration' +import configurationVault from '@utils/configurationVault' const config = () => { inquirer.prompt(configurationPrompts()).then((answers) => { diff --git a/src/commands/config/prompts.js b/src/commands/config/prompts.js index f7bab3cd25..cbdc340537 100644 --- a/src/commands/config/prompts.js +++ b/src/commands/config/prompts.js @@ -1,7 +1,7 @@ // @flow -import configurationVault from '@utils/configurationVault/index.js' -import { CONFIG, EMOJI_COMMIT_FORMATS } from '@constants/configuration.js' -import guard from './guard.js' +import configurationVault from '@utils/configurationVault' +import { CONFIG, EMOJI_COMMIT_FORMATS } from '@constants/configuration' +import guard from './guard' export default (): Array => [ { diff --git a/src/commands/hook/create/index.js b/src/commands/hook/create/index.js index 578bc6f9d3..9fd1ff2751 100644 --- a/src/commands/hook/create/index.js +++ b/src/commands/hook/create/index.js @@ -2,8 +2,8 @@ import fs from 'fs' import ora from 'ora' -import getAbsoluteHooksPath from '@utils/getAbsoluteHooksPath.js' -import HOOK from '../hook.js' +import getAbsoluteHooksPath from '@utils/getAbsoluteHooksPath' +import HOOK from '../hook' const createHook = async () => { const spinner = ora('Creating the gitmoji commit hook').start() diff --git a/src/commands/hook/index.js b/src/commands/hook/index.js index fa6a95cc05..f57b9707e2 100644 --- a/src/commands/hook/index.js +++ b/src/commands/hook/index.js @@ -1,5 +1,5 @@ -import create from './create/index.js' -import remove from './remove/index.js' +import create from './create' +import remove from './remove' export default { create, diff --git a/src/commands/hook/remove/index.js b/src/commands/hook/remove/index.js index 4eabca5216..5497a4698d 100644 --- a/src/commands/hook/remove/index.js +++ b/src/commands/hook/remove/index.js @@ -2,8 +2,8 @@ import fs from 'fs' import ora from 'ora' -import getAbsoluteHooksPath from '@utils/getAbsoluteHooksPath.js' -import HOOK from '../hook.js' +import getAbsoluteHooksPath from '@utils/getAbsoluteHooksPath' +import HOOK from '../hook' const removeHook = async () => { const spinner = ora('Creating the gitmoji commit hook').start() diff --git a/src/commands/index.js b/src/commands/index.js index b8da76fc68..b9a73b969e 100644 --- a/src/commands/index.js +++ b/src/commands/index.js @@ -1,10 +1,10 @@ // @flow -import commit from './commit/index.js' -import config from './config/index.js' -import hook from './hook/index.js' -import list from './list/index.js' -import search from './search/index.js' -import update from './update/index.js' +import commit from './commit' +import config from './config' +import hook from './hook' +import list from './list' +import search from './search' +import update from './update' export default { commit, diff --git a/src/commands/search/index.js b/src/commands/search/index.js index 043b43310b..796e4dc50c 100644 --- a/src/commands/search/index.js +++ b/src/commands/search/index.js @@ -1,7 +1,7 @@ // @flow -import filterGitmojis from '@utils/filterGitmojis.js' -import getEmojis from '@utils/getEmojis.js' -import printEmojis from '@utils/printEmojis.js' +import filterGitmojis from '@utils/filterGitmojis' +import getEmojis from '@utils/getEmojis' +import printEmojis from '@utils/printEmojis' const search = (query: string): Promise => { return getEmojis() diff --git a/src/commands/update/index.js b/src/commands/update/index.js index d2d0d539f6..ad949a42e1 100644 --- a/src/commands/update/index.js +++ b/src/commands/update/index.js @@ -1,6 +1,6 @@ // @flow -import getEmojis from '@utils/getEmojis.js' -import printEmojis from '@utils/printEmojis.js' +import getEmojis from '@utils/getEmojis' +import printEmojis from '@utils/printEmojis' const update = (): Promise => getEmojis(true).then((gitmojis) => printEmojis(gitmojis)) diff --git a/src/utils/configurationVault/getConfiguration.js b/src/utils/configurationVault/getConfiguration.js index 06e8d8505e..15374ef36c 100644 --- a/src/utils/configurationVault/getConfiguration.js +++ b/src/utils/configurationVault/getConfiguration.js @@ -2,7 +2,7 @@ import Conf from 'conf' import { cwd } from 'process' import { pathExistsSync } from 'path-exists' -import { CONFIG, EMOJI_COMMIT_FORMATS } from '@constants/configuration.js' +import { CONFIG, EMOJI_COMMIT_FORMATS } from '@constants/configuration' const DEFAULT_CONFIGURATION = { [CONFIG.AUTO_ADD]: false, diff --git a/src/utils/configurationVault/index.js b/src/utils/configurationVault/index.js index 9fb22ab493..945c2268e9 100644 --- a/src/utils/configurationVault/index.js +++ b/src/utils/configurationVault/index.js @@ -1,6 +1,6 @@ // @flow -import { CONFIG, EMOJI_COMMIT_FORMATS } from '@constants/configuration.js' -import getConfiguration from './getConfiguration.js' +import { CONFIG, EMOJI_COMMIT_FORMATS } from '@constants/configuration' +import getConfiguration from './getConfiguration' const configuration = getConfiguration() diff --git a/src/utils/filterGitmojis.js b/src/utils/filterGitmojis.js index 2443851c7e..ddd57e34b5 100644 --- a/src/utils/filterGitmojis.js +++ b/src/utils/filterGitmojis.js @@ -1,7 +1,7 @@ // @flow import Fuse from 'fuse.js' -import { type Gitmoji } from '@commands/commit/prompts.js' +import { type Gitmoji } from '@commands/commit/prompts' export const options = { threshold: 0.5, diff --git a/src/utils/findGitmojiCommand.js b/src/utils/findGitmojiCommand.js index e91506265c..31331704c0 100644 --- a/src/utils/findGitmojiCommand.js +++ b/src/utils/findGitmojiCommand.js @@ -1,6 +1,6 @@ // @flow -import COMMIT_MODES from '@constants/commit.js' -import FLAGS from '@constants/flags.js' +import COMMIT_MODES from '@constants/commit' +import FLAGS from '@constants/flags' const getOptionsForCommand = (command: ?string, flags: Object): ?Object => { const commandsWithOptions = [FLAGS.COMMIT, FLAGS.HOOK] diff --git a/src/utils/getDefaultCommitContent.js b/src/utils/getDefaultCommitContent.js index 6a0d6c21c1..e2bf4ca338 100644 --- a/src/utils/getDefaultCommitContent.js +++ b/src/utils/getDefaultCommitContent.js @@ -1,8 +1,8 @@ // @flow import fs from 'fs' -import { type CommitOptions } from '@commands/commit/index.js' -import COMMIT_MODES from '@constants/commit.js' +import { type CommitOptions } from '@commands/commit' +import COMMIT_MODES from '@constants/commit' const COMMIT_FILE_PATH_INDEX = 3 const COMMIT_TITLE_LINE_INDEX = 0 diff --git a/src/utils/getEmojis.js b/src/utils/getEmojis.js index cdb55f835b..d7f9984909 100644 --- a/src/utils/getEmojis.js +++ b/src/utils/getEmojis.js @@ -3,9 +3,9 @@ import chalk from 'chalk' import fetch from 'node-fetch' import ora from 'ora' -import cache from './emojisCache.js' -import buildFetchOptions from './buildFetchOptions.js' -import configurationVault from './configurationVault/index.js' +import cache from './emojisCache' +import buildFetchOptions from './buildFetchOptions' +import configurationVault from './configurationVault' const getEmojis = async ( skipCache: boolean = false diff --git a/src/utils/isHookCreated.js b/src/utils/isHookCreated.js index 03716d6f64..b79e1b2dda 100644 --- a/src/utils/isHookCreated.js +++ b/src/utils/isHookCreated.js @@ -1,8 +1,8 @@ // @flow import fs from 'fs' -import HOOK from '@commands/hook/hook.js' -import getAbsoluteHooksPath from './getAbsoluteHooksPath.js' +import HOOK from '@commands/hook/hook' +import getAbsoluteHooksPath from './getAbsoluteHooksPath' const isHookCreated = async (): Promise => { try { diff --git a/test/commands/commit.spec.js b/test/commands/commit.spec.js index 19c8c44f24..564e0029c1 100644 --- a/test/commands/commit.spec.js +++ b/test/commands/commit.spec.js @@ -4,9 +4,9 @@ import fs from 'fs' import chalk from 'chalk' const mockProcess = require('jest-mock-process') -import configurationVault from '@utils/configurationVault/index.js' -import getDefaultCommitContent from '@utils/getDefaultCommitContent.js' -import getEmojis from '@utils/getEmojis.js' +import configurationVault from '@utils/configurationVault' +import getDefaultCommitContent from '@utils/getDefaultCommitContent' +import getEmojis from '@utils/getEmojis' import isHookCreated from '@utils/isHookCreated' import commit from '@commands/commit' import guard from '@commands/commit/guard' diff --git a/test/commands/config.spec.js b/test/commands/config.spec.js index 21a5b1db2c..9ff9338a15 100644 --- a/test/commands/config.spec.js +++ b/test/commands/config.spec.js @@ -3,7 +3,7 @@ import inquirer from 'inquirer' import config from '@commands/config' import configurationPrompts from '@commands/config/prompts' import guard from '@commands/config/guard' -import configurationVault from '@utils/configurationVault/index.js' +import configurationVault from '@utils/configurationVault' import * as stubs from './stubs' jest.mock('@utils/configurationVault') diff --git a/test/commands/hook.spec.js b/test/commands/hook.spec.js index bafe39f016..30d41785aa 100644 --- a/test/commands/hook.spec.js +++ b/test/commands/hook.spec.js @@ -2,7 +2,7 @@ import fs from 'fs' import hook from '@commands/hook' import hookConfig from '@commands/hook/hook' -import getAbsoluteHooksPath from '@utils/getAbsoluteHooksPath.js' +import getAbsoluteHooksPath from '@utils/getAbsoluteHooksPath' import * as stubs from './stubs' jest.mock('@utils/getAbsoluteHooksPath') diff --git a/test/commands/list.spec.js b/test/commands/list.spec.js index 0f5052c1e4..e6170f5115 100644 --- a/test/commands/list.spec.js +++ b/test/commands/list.spec.js @@ -1,5 +1,5 @@ -import getEmojis from '@utils/getEmojis.js' -import printEmojis from '@utils/printEmojis.js' +import getEmojis from '@utils/getEmojis' +import printEmojis from '@utils/printEmojis' import list from '@commands/list' import * as stubs from './stubs' diff --git a/test/commands/search.spec.js b/test/commands/search.spec.js index fb904a67fe..408a75d760 100644 --- a/test/commands/search.spec.js +++ b/test/commands/search.spec.js @@ -1,5 +1,5 @@ -import getEmojis from '@utils/getEmojis.js' -import printEmojis from '@utils/printEmojis.js' +import getEmojis from '@utils/getEmojis' +import printEmojis from '@utils/printEmojis' import search from '@commands/search' import * as stubs from './stubs' diff --git a/test/commands/update.spec.js b/test/commands/update.spec.js index 82c8c8155c..e4ee47b1a6 100644 --- a/test/commands/update.spec.js +++ b/test/commands/update.spec.js @@ -1,5 +1,5 @@ -import getEmojis from '@utils/getEmojis.js' -import printEmojis from '@utils/printEmojis.js' +import getEmojis from '@utils/getEmojis' +import printEmojis from '@utils/printEmojis' import update from '@commands/update' import * as stubs from './stubs' diff --git a/test/utils/configurationVault/defaults.spec.js b/test/utils/configurationVault/defaults.spec.js index 542c6ee48f..78e1ed7597 100644 --- a/test/utils/configurationVault/defaults.spec.js +++ b/test/utils/configurationVault/defaults.spec.js @@ -1,4 +1,4 @@ -import configurationVault from '@utils/configurationVault/index.js' +import configurationVault from '@utils/configurationVault' describe('index', () => { it('should match the module', () => { diff --git a/test/utils/configurationVault/vault.spec.js b/test/utils/configurationVault/vault.spec.js index 3d39d2ff31..dcf2a8d5f2 100644 --- a/test/utils/configurationVault/vault.spec.js +++ b/test/utils/configurationVault/vault.spec.js @@ -1,4 +1,4 @@ -import configurationVault from '@utils/configurationVault/index.js' +import configurationVault from '@utils/configurationVault' import getConfiguration from '@utils/configurationVault/getConfiguration' import { CONFIG, diff --git a/yarn.lock b/yarn.lock index 2f05e56536..5000af3366 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1626,6 +1626,11 @@ babel-plugin-jest-hoist@^29.0.2: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" +babel-plugin-module-extension-resolver@^1.0.0-rc.2: + version "1.0.0-rc.2" + resolved "https://registry.yarnpkg.com/babel-plugin-module-extension-resolver/-/babel-plugin-module-extension-resolver-1.0.0-rc.2.tgz#c12a5bc29c478cc87cdf9359188bf500db53eae9" + integrity sha512-nSvCi7Eq079snAYgWbq+VM8eci7OER9MAhDchuxpdimuyJr06x/Stsmc2b6zP5CDv4XR54Etkpf7jOo5NfzgVg== + babel-plugin-module-resolver@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz#22a4f32f7441727ec1fbf4967b863e1e3e9f33e2"