Как транспилировать node_modules с помощью Turborepo и SWC

next-transpile-modulesотлично работает для проектов Next, но как мне транспилировать модули для необработанной сборки SWC ??? Я запутался 😭

Репо: https://github.com/deltaepsilon/script-kitty

Я начал с базы Turborepo и экспортировал два пакета в приложение Turborepo Next с именем web. Все работало отлично, как только я добавил ui и к next.config.js файл так:

      const withTM = require('next-transpile-modules')(['command-k', 'ui']);

module.exports = withTM({
  reactStrictMode: true,
});

Теперь у меня есть новое приложение под названием external это будет отдельная сборка command-kупаковка. Это будет опубликовано в npm.

Я использую для его переноса со следующей конфигурацией:

      const path = require('path');
// See https://github.com/iykekings/react-swc-loader-template

const config = {
  mode: 'development',
  entry: './index.tsx',
  module: {
    rules: [
      {
        test: /\.(ts|tsx)$/,
        loader: 'swc-loader',
        include: [
          path.resolve(__dirname),
          path.resolve(__dirname, '../../packages/command-k'),
          path.resolve(__dirname, '../../packages/ui'),
        ],
        exclude: /node_modules/,
      },
    ],
  },
};

module.exports = config;

Я продолжаю получать следующую ошибку при сборке с yarn dev:

      ERROR in ../../packages/command-k/index.tsx 2:0-50
Module not found: Error: Can't resolve './command-k' in '/kitty/packages/command-k'

resolve './command-k' in '/kitty/packages/command-k'
    using description file: /kitty/packages/command-k/package.json (relative path: .)
      // /packages/command-k/index.tsx
import * as React from 'react';
export { default as CommandK } from './command-k';

Похоже, что-то не удается импортировать из пакета Turborepo. Он отлично работает, если я встраиваю содержимое ./command-k в /packages/command-k/index.tsx, но swc-loader отказывается следовать импорту.

0 ответов

Другие вопросы по тегам