Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

It doesn't resolve paths to files #424

Open
alanreidt opened this issue Apr 30, 2021 · 3 comments
Open

It doesn't resolve paths to files #424

alanreidt opened this issue Apr 30, 2021 · 3 comments

Comments

@alanreidt
Copy link

alanreidt commented Apr 30, 2021

I'm trying to use the plugin for css, graphql file mocks in order to run nodejs on tests.

It seems it should work as it specified in the description:

It also allows you to setup a custom alias for directories, specific files, or even other npm modules.

Nevertheless, what I'm getting is that actual file path is preserved.

My configuration:

require('@babel/register')({
    extensions: ['.ts', '.tsx', '.jsx', '.js'],
    plugins: [
        [
            'module-resolver',
            {
                root: ['./src', 'node_modules'],
                alias: {
                    app: './app',
                    common: './common',
                    src: './src',
                    '\\.(jpg|ico|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|graphql)$':
                        './src/__mocks__/fileMock.ts',
                    '\\.(css|scss)$': './src/__mocks__/styleMock.ts'
                },
            },
        ],
    ],
});

@OnkelTem
Copy link

Have you found a solution?

@OnkelTem
Copy link

For me it doesn't work in a simplest use case.

module.exports = {
  presets: [['@babel/preset-env'], ['@babel/preset-react'], ['@babel/preset-typescript']],
  plugins: [
    [
      'module-resolver',
      {
        root: ['./src'],
      },
    ],
    '@babel/plugin-proposal-class-properties',
  ],
};

This doesn't rewrite paths like common/types relative to ./src.
Any ideas?

@OnkelTem
Copy link

Ok, it should be instead:

module.exports = {
  presets: [['@babel/preset-env'], ['@babel/preset-react'], ['@babel/preset-typescript']],
  plugins: [
    [
      'module-resolver',
      {
        root: ['./src'],
        extensions: ['.ts', '.tsx'],
      },
    ],
    '@babel/plugin-proposal-class-properties',
  ],
};

Note the extension key which for some strange reason is mandatory.

Kudos to @jb from SpeakJS discord community for the solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants