Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

187
Visualizações
Create multiple projects via Rollup.js

I'm building a component library using React, Typescript, Tailwind.

my site structure is setup like so:

src
--components
---- index.ts -> imports all the components
--icons
---- index.ts -> imports all the icons
--index.ts -> imports the components/icons

rollup.config.js
tsconfig.json

rollup.config.js

import url from "@rollup/plugin-url";
import typescript from "rollup-plugin-typescript2";
import pkg from "./package.json";
import postcss from "rollup-plugin-postcss";
import copy from "rollup-plugin-copy";
import commonJs from "@rollup/plugin-commonjs";

const config = {
  plugins: [
    url(),
    commonJs(),
    typescript(),
    postcss({
      config: {
        path: "./postcss.config.js",
      },
      extensions: [".css"],
      extract: true,
      minimize: true,
      plugins: [require("postcss-import")],
    }),
    copy({
      targets: [
        {
          src: ["src/assets/fonts/*.woff", "src/assets/fonts/*.woff2"],
          dest: "dist/fonts",
        },
      ],
    }),
  ],
  external: ["react", "react-dom", "react/jsx-runtime", "classnames"],
};

const es = {
  ...config,
  input: "src/index.ts",
  output: {
    format: "esm",
    preserveModules: true,
    dir: "dist/es",
  },
};

const cjs = {
  ...config,
  input: "src/index.ts",
  output: {
    format: "cjs",
    file: pkg.module,
  },
};

const umd = {
  ...config,
  input: "src/index.ts",
  output: {
    name: "DesignSystem",
    format: "umd",
    file: pkg.browser,
  },
};

export default [cjs, es, umd];

This is all working and building and I'm able to import into my project

import { Button, ArrowLeft } from "@myApp/my-design-system";

But what I'm wanting to do is split the Icons out into a separate import eg

import { Button } from "@myApp/my-design-system";
import { ArrowLeft } from "@myApp/my-design-system/icons";

But have tried multi entry points in rollup which works but the import has to go all the way to the folder which I'm not wanting to happen.

import { ArrowLeft } from "@myApp/my-design-system/dist/es/icons";
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda