xgboost-node
tsup
xgboost-node | tsup | |
---|---|---|
1 | 21 | |
37 | 8,085 | |
- | - | |
10.0 | 7.2 | |
over 6 years ago | 28 days ago | |
Cuda | TypeScript | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
xgboost-node
-
Big Changes Ahead for Deno
This chips away at one of the showstoppers for Deno for me, which is good.
But while "the vast majority" of npm packages don't require a gyp build step for native addons, some of those modules are pretty important, and I see no indication in the announcement that they're also going to be implementing the Node C API or the gyp build process.
Right now I'm working with a machine learning project, and XGBoost [0] is a direct Node.js extension [1] through the binary interface.
So this does bring things a step closer to being generally usable, but there are still significant roadblocks.
A WebAssembly build of XGBoost could work with Deno, but aside from some guy's unsupported side project/proof-of-concept for use in a browser, I'm not seeing an XGBoost WebAssembly build. And generally when deploying something like a machine learning model I'd rather use well-supported tools than to need to dive into the rabbit hole of maintaining my own.
And yes, XGBoost will likely eventually have that kind of support for Deno, but then the next bleeding-edge project will come along and only support Node.
Even assuming Deno eventually hits a tipping point in popularity where everyone wants to release Node _and_ Deno support in their bleeding-edge projects, there are still things that I miss from package.json that don't seem to exist in the Deno ecosystem.
Things like the "scripts" block: A nice centralized place to find all of the things that need to be done to a project, plus auto-run script entries that can trigger when a project is installed. And inheritable, overridable dependency maps (see the yarn "resolutions" block).
I'd love to jump into Deno, but I think there has been far too much "baby thrown out with the bathwater" to its design. It's the classic development problem of looking at a system and seeing a ton of complexity, but not really understanding that all of that complexity was there for a reason. Maybe when it re-evolves 80% of Node's and npm's features I'll be convinced to make the jump. I'm a huge TypeScript fan after all. But it still strikes me as a violation of "As simple as possible, but no simpler."
[0] XGBoost is a _very_ promising approach to machine learning, training models much faster and with much more accuracy than traditional approaches.
[1] https://github.com/nuanio/xgboost-node
tsup
-
Server-side Rendering (SSR) From Scratch with React
Now, we can run all this server reaching the port 4000. If you want to test, build it with tsup or any other way that you want, like ts-node.
-
Creating a package/library using nextjs and typescript
If you're building hooks, providers & components you can go with only React + TypeScript, and use something ESBuild or tsup to build it.
-
Is there an automated way to create a file with the Node interpreter specified?
I am using `tsup` to transpile my application - https://github.com/egoist/tsup
- Create an npm package template with TypeScript and tsup
-
Ease your module bundling woes with tsup
I spent way to much time over the last couple days trying to line up vite/rollup to bundle my component library with types, type maps and the correct formats. Until I ran across this blog post which introduced me to https://github.com/egoist/tsup and it all just worked in a single readable command. I figured I'd share with you beautiful people so you could get your code bundled faster and carry on with the fun part of programming.
-
Building a modern gRPC-powered microservice using Node.js, Typescript, and Connect
As we iterate on the definition, we are going to want a better developer experience for rebuilding the package on changes. Typically, for a “library” or “utility” style package, I’d reach for either unbuild’s stub concept or use esbuild/tsup/rollup to implement a more traditional watch/rebuild, but in this case, I’m watching a proto file that lives outsides of the source, which breaks assumptions of those tools.
-
ESM vs Dual Package?
My most recent project uses tsup to package a CJS and a ESM version separately, and I just publish both. It's too early to go full ESM, but I also don't want to stay on CJS, granted that we've been slowly moving away from it. To me as a dev it makes no difference, but if you want to use one or the other as a library consumer, you have a choice in my package
-
TypeScript tooling and ecosystem
If you want to stay in that ecosystem, try tsup. But you should still try to wire up a canonical tsc-based project first to understand the fundamentals.
-
Best builder for typescript library ?
Have a look at tsup (https://tsup.egoist.dev) and microbundle (https://www.npmjs.com/package/microbundle)...
-
Creating Modern npm Packages
I actually recommend using tsup to build instead of tsc. It can bundle if you want, makes it easier to output multiple formats if you want, etc. It's also dead simple and lightning fast (like, MUCH faster than tasc). It's zero config so the build script is as simple as this.
What are some alternatives?
esbuild - An extremely fast bundler for the web
Rollup - Next-generation ES module bundler
deno - A modern runtime for JavaScript and TypeScript.
node-gyp - Node.js native addon build tool
vite - Next generation frontend tooling. It's fast!
deno-lambda - A deno runtime for AWS Lambda. Deploy deno via docker, SAM, serverless, or bundle it yourself.
swc - Rust-based platform for the Web
license-checker - Check NPM package licenses
webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
bun - Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
tsdx - Zero-config CLI for TypeScript package development