Giter Site home page Giter Site logo

Comments (7)

rauchg avatar rauchg commented on August 14, 2024 1

Why not dist/main/ dist/main-es/ dist/api/ dist/api-es/ ?

from ncc.

rauchg avatar rauchg commented on August 14, 2024 1

I'd be down to discuss -f / --out-file, but I think the idea that can you can treat a directory or a file the same (because the directory can resolve to /index.js) is quite powerful

For example, I spent some time thinking how ncc could use the CLI instead of the JS API for self-hosting.

  • We'd rename src/index.js to src/main.js
  • We'd make cli.js require (./main). This is important, because main written like that can resolve to both dir and file
  • Then we'd export like this:
ncc build src/main -o dist/main
ncc build src/cli -e './main' -o dist/cli

-e is necessary to avoid the CLI bundling the whole thing. Done!

from ncc.

rauchg avatar rauchg commented on August 14, 2024

You should use dist/api and when you require don't use the .js suffix, so that you can support both situations (file or directory with index.js)

This is by design, because some Node programs need to output more side-effects

from ncc.

rauchg avatar rauchg commented on August 14, 2024

That said, we could support --out dist/api.js --single, which would err if >1 outputs, and give you what you want. But is it really that necessary?

from ncc.

tunnckoCore avatar tunnckoCore commented on August 14, 2024

Why not just support --out-dir and --out-file ?

The -o / --output is usually a flag that allows making output file.

edit: Also, i need to have more than one file in that api directory, or even build multiple things to the dist one.

from ncc.

tunnckoCore avatar tunnckoCore commented on August 14, 2024

Currently, I'm using Rollup and the dist structure is the following

dist/index.js
dist/index-es.js
dist/api/index.js
dist/api/index-es.js

Where, the index.jss should be able to load in the browser and index-es are always using ES modules.

from ncc.

tunnckoCore avatar tunnckoCore commented on August 14, 2024

Hm. Maybe.

from ncc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.