@remotex-labs/xbuild 2.5.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,11 +4,23 @@
4
4
  [![npm version](https://img.shields.io/npm/v/@remotex-labs/xbuild.svg)](https://www.npmjs.com/package/@remotex-labs/xbuild)
5
5
  [![downloads](https://img.shields.io/npm/dm/@remotex-labs/xbuild?label=npm%20downloads)](https://www.npmjs.com/package/@remotex-labs/xbuild)
6
6
  [![License: MPL 2.0](https://img.shields.io/badge/License-MPL_2.0-brightgreen.svg)](https://opensource.org/licenses/MPL-2.0)
7
- [![Test CI](https://github.com/remotex-labs/xbuild/actions/workflows/test.yml/badge.svg)](https://github.com/remotex-labs/xBuild/actions/workflows/test.yml)
7
+ [![Test CI](https://github.com/remotex-labs/xBuild/actions/workflows/ci.yml/badge.svg)](https://github.com/remotex-labs/xBuild/actions/workflows/ci.yml)
8
8
  [![Discord](https://img.shields.io/discord/1364348850696884234?logo=Discord&label=Discord)](https://discord.gg/psV9grS9th)
9
9
  [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/remotex-labs/xBuild)
10
10
 
11
- `@remotex-labs/xbuild` is a versatile TypeScript toolchain build system
11
+ `@remotex-labs/xbuild` is a versatile TypeScript toolchain build system. It wraps [esbuild](https://esbuild.github.io/)
12
+ with a declarative configuration file, a watch-mode dev server, type checking, and a set of compile-time macros, so
13
+ you can bundle, type-check, and serve TypeScript projects from a single CLI.
14
+
15
+ ## Key Features
16
+
17
+ - **Declarative config**: describe builds in `config.xbuild.ts` with shared `common` settings and named `variants`.
18
+ - **esbuild-powered**: bundle and minify to `cjs`, `esm`, or `iife` for `browser`, `node`, or `neutral` targets.
19
+ - **Type checking**: type-check without emitting, or fail the build on TypeScript errors.
20
+ - **Declarations**: generate `.d.ts` declaration files alongside the build output.
21
+ - **Watch & serve**: rebuild on file changes and serve a folder during development.
22
+ - **Compile-time macros**: `$$ifdef`, `$$ifndef`, and `$$inline` to conditionally include code or inline results at build time.
23
+ - **Lifecycle hooks**: tap into `onStart`, `onEnd`, `onLoad`, `onResolve`, and `onSuccess`.
12
24
 
13
25
  ## Installation
14
26
 
@@ -104,7 +116,7 @@ By default, xbuild uses `config.xbuild.ts` (`--config` change it). Here's how yo
104
116
 
105
117
  ```ts
106
118
  /**
107
- * Import will remove at compile time
119
+ * Type-only imports erased during TypeScript compilation.
108
120
  */
109
121
 
110
122
  import type { xBuildConfig } from '@remotex-labs/xbuild';
@@ -198,7 +210,7 @@ To enable these blocks during the build, define your conditions in the `xBuild`
198
210
 
199
211
  ```ts
200
212
  /**
201
- * Import will remove at compile time
213
+ * Type-only imports erased during TypeScript compilation.
202
214
  */
203
215
 
204
216
  import type { xBuildConfig } from '@remotex-labs/xbuild';
@@ -276,9 +288,23 @@ export interface LifecycleHooksInterface {
276
288
  }
277
289
  ```
278
290
 
291
+ ## Documentation
292
+
293
+ Full guides and the complete configuration reference live at
294
+ **[remotex-labs.github.io/xBuild](https://remotex-labs.github.io/xBuild/)**.
295
+
296
+ ## Contributing
297
+
298
+ Contributions are welcome!\
299
+ Please see our [Contributing Guide](CONTRIBUTING.md) for details.
300
+
279
301
  ## Links
280
302
 
281
303
  - [Documentation](https://remotex-labs.github.io/xBuild/)
282
304
  - [GitHub Repository](https://github.com/remotex-labs/xBuild)
283
305
  - [Issue Tracker](https://github.com/remotex-labs/xBuild/issues)
284
306
  - [npm Package](https://www.npmjs.com/package/@remotex-labs/xbuild)
307
+
308
+ ## License
309
+
310
+ This project is licensed under the Mozilla Public License 2.0 - see the [LICENSE](LICENSE) file for details.