open-index/open-npm huggingface dataset:
npm package: @gxcloud/fuze
Description: A TypeScript build tool inspired by Jake.
Latest version: 0.0.2

# @gxcloud/fuze
@gxcloud/fuze allows you to write tasks using TypeScript similar to Jake. You just need to put a ```build.config.ts``` file into your project's root.

```typescript
// build.config.ts

task("build", (args) => {
  ...
});

task("lint", (args) => {
  ...
});
```

## Installation
You can install this package with any package manager of your choice.
```sh
npm install -D @gxcloud/fuze
```

Then you have to create a ```build.config.ts```file which is just an ordinary TypeScript file without a custom config object.

## Usage
To describe your task you have two distinct methods ```task``` and ```taskSequence```.
```typescript
import { task, taskSequence } from "@gxcloud/fuze/util";
import esbuild from "esbuild";

task("build", (args) => {
  if(!args.arch) throw new Error("you haven't specified an arch");
});

taskSequence("prepare", [
  (args) => console.log(args),
  (args) => esbuild.buildSync(),
]);
```
npm package: @gxcloud/typescript
Description: Execute TypeScript directly from node
Author: Alexander Gauss
Latest version: 0.4.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @gxcloud/typescript

**Load TypeScript directly from node without any obscure cli tool.**

TypeScript is the new de-facto standard for writing applications for nodejs or the web. Unfortunately node isn't able to run TypeScript natively without any precompilation or some obscure packages that try to implement their own AST instead of using a solid and battle tested solution.

**@gxcloud/typescript** uses the new but still experimental [module hooks](https://nodejs.org/api/module.html#hooks) and a build pipeline using [esbuild](https://esbuild.github.io/) that compiles TypeScript to JavaScript on the fly and in memory.

## How to use it
There are two options to use this package. You can either use the loader directly or with the register helper.
```sh
# loader
node --loader @gxcloud/typescript/loader ./path/to/code.ts

# register
node --import @gxcloud/typescript/register
```

The difference is, that when using the ```--loader```, you will get an error message that this is still experimental. In fact, it is actually just an alias for ```--experimental-loader```.

The exact error message looks like the following:
```txt
(node:4909) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:
--import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("@gxcloud/typescript/loader", pathToFileURL("./"));'
(Use `node --trace-warnings ...` to show where the warning was created)
```

The register helper uses exactly this code suggestion.

## Limitations
- Only ESM is supported at the moment.
- When importing files, you have to specify the file name extension, otherwise the module cannot be resolved.

## Thanks
Thanks to Evan Wallace for creating and maintaining [esbuild](https://esbuild.github.io/). Without this sophisticated and extremly fast bundler, writing TypeScript would be a pain!