GithubHelp home page GithubHelp logo

ama's Introduction

If my code has helped you, please consider sponsoring me. I'd like to thank these awesome companies for sponsoring me:

Crafting fun, engineering play Storyblok: Build projects faster with the most flexible headless CMS out there
Crafting fun, engineering play The most flexible headless CMS out there
Ship UIs faster with automated workflows for Storybook
Ship UIs faster with automated workflows for Storybook Become a sponsor

And these beautiful individuals for their support:

profile picture of chromaui profile picture of Infra-Workleap profile picture of stacksjs profile picture of varna profile picture of t3dotgg profile picture of DIYgod profile picture of cometkim profile picture of FarazPatankar profile picture of CaliCastle profile picture of aulneau profile picture of rauchg profile picture of KATT

...and 35 more


now playing

coding stats

ama's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ama's Issues

Why so many bundling tools instead of focusing one?

Hi! it's not a bad criticism, just wondering. There are many many different bundling tools you have created but why not just focusing on all-in-one? Is it easier to start and focus on different areas with different projects? Isn't it hard to maintain all?

How does vite ssr work?

Will you please make a sample demo vite plugin which uses preact for ssr along with HMR support. It will be really helpful to understand what is going on down in there

How do you learn new Concepts

You have been in this industry for many years, and I have also seen many of the tools you built. How do you learn new concepts because for example when I hear a new concept like SSR but I can't find enough resources to implement it myself. How do you keep improving your skills?

Your future goals

Besides trying to work open source full time (which is fantastic)

what specific goals are you actively trying to achieve?

Should I use building tools to build my js/ts library?

There are so many building tools for lib(eg. bili, tsup, tsdx, ncc, bunchee, rollup), what's the differences between them, when i wanna make a lib, which tool should i choose?

BTW, Should I really need a "building tool" to bundle all js files into one js file for pure js/ts library? Using transpile tool (such as tsc, babel) ONLY works in most use cases(no banner, no global var replacement, no umd output). What do you think about transpile + bundle VS transpile only

devDependencies in monorepo

I'm really confused about the dependencies in monorepo.

if there is a monorepo project like this

package/A

{
  "main": "dist/index.cjs",
  "module": "dist/index.mjs",
  "script": {
     "build": "rimraf && tsup src/index.ts --format esm,cjs"
  },
  // tsup,rimraf should be placed here?
   "devDependencies": {
     "tsup": "xxx",
     "rimraf": "xxx"
  }
}

root package.json

{
 // or tsup,rimraf should be placed here?
  "devDependencies": {
     "tsup": "xxx",
     "rimraf": "xxx"
  }
}

In common case, we will use yarn , lerna, pnpm in a monorepo project, yarn / lerna will hosit all dependencies in root node_modules, so you can use the package(rimraf, tsup) in sub package although the devDependencies is not specified in a sub package.json , as long as they are specified in root package.json.

In yarn's website

Be careful when publishing packages in a workspace. If you are preparing your next release and you decided to use a new dependency but forgot to declare it in the package.json file, your tests might still pass locally if another package already downloaded that dependency into the workspace root. However, it will be broken for consumers that pull it from a registry, since the dependency list is now incomplete so they have no way to download the new dependency. Currently there is no way to throw a warning in this scenario.

It seems that it's ok if you specified the devDenpencies in root in a library , because no one will run the script defined in package.json, main or module field was used only?

So, how to handle the devDependencies in monorepo?

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.