summaryrefslogtreecommitdiffstats
path: root/pkg/runner/testdata/actions/node16/node_modules/@vercel/ncc/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/runner/testdata/actions/node16/node_modules/@vercel/ncc/readme.md')
-rw-r--r--pkg/runner/testdata/actions/node16/node_modules/@vercel/ncc/readme.md143
1 files changed, 143 insertions, 0 deletions
diff --git a/pkg/runner/testdata/actions/node16/node_modules/@vercel/ncc/readme.md b/pkg/runner/testdata/actions/node16/node_modules/@vercel/ncc/readme.md
new file mode 100644
index 0000000..ed74695
--- /dev/null
+++ b/pkg/runner/testdata/actions/node16/node_modules/@vercel/ncc/readme.md
@@ -0,0 +1,143 @@
+# ncc
+
+[![CI Status](https://github.com/vercel/ncc/workflows/CI/badge.svg)](https://github.com/vercel/ncc/actions?workflow=CI)
+[![codecov](https://codecov.io/gh/vercel/ncc/branch/master/graph/badge.svg)](https://codecov.io/gh/vercel/ncc)
+
+Simple CLI for compiling a Node.js module into a single file,
+together with all its dependencies, gcc-style.
+
+## Motivation
+
+- Publish minimal packages to npm
+- Only ship relevant app code to serverless environments
+- Don't waste time configuring bundlers
+- Generally faster bootup time and less I/O overhead
+- Compiled language-like experience (e.g.: `go`)
+
+## Design goals
+
+- Zero configuration
+- TypeScript built-in
+- Only supports Node.js programs as input / output
+- Support all Node.js patterns and npm modules
+
+## Usage
+
+### Installation
+```bash
+npm i -g @vercel/ncc
+```
+
+### Usage
+
+```bash
+$ ncc <cmd> <opts>
+```
+Eg:
+```bash
+$ ncc build input.js -o dist
+```
+
+Outputs the Node.js compact build of `input.js` into `dist/index.js`.
+
+> Note: If the input file is using a `.cjs` extension, then so will the corresponding output file.
+> This is useful for packages that want to use `.js` files as modules in native Node.js using
+> a `"type": "module"` in the package.json file.
+
+#### Commands:
+```
+ build <input-file> [opts]
+ run <input-file> [opts]
+ cache clean|dir|size
+ help
+ version
+```
+
+#### Options:
+```
+ -o, --out [file] Output directory for build (defaults to dist)
+ -m, --minify Minify output
+ -C, --no-cache Skip build cache population
+ -s, --source-map Generate source map
+ --no-source-map-register Skip source-map-register source map support
+ -e, --external [mod] Skip bundling 'mod'. Can be used many times
+ -q, --quiet Disable build summaries / non-error outputs
+ -w, --watch Start a watched build
+ --v8-cache Emit a build using the v8 compile cache
+ --license [file] Adds a file containing licensing information to the output
+ --stats-out [file] Emit webpack stats as json to the specified output file
+```
+
+### Execution Testing
+
+For testing and debugging, a file can be built into a temporary directory and executed with full source maps support with the command:
+
+```bash
+$ ncc run input.js
+```
+
+### With TypeScript
+
+The only requirement is to point `ncc` to `.ts` or `.tsx` files. A `tsconfig.json`
+file is necessary. Most likely you want to indicate `es2015` support:
+
+```json
+{
+ "compilerOptions": {
+ "target": "es2015",
+ "moduleResolution": "node"
+ }
+}
+```
+
+### Package Support
+
+Some packages may need some extra options for ncc support in order to better work with the static analysis.
+
+See [package-support.md](package-support.md) for some common packages and their usage with ncc.
+
+### Programmatically From Node.js
+
+```js
+require('@vercel/ncc')('/path/to/input', {
+ // provide a custom cache path or disable caching
+ cache: "./custom/cache/path" | false,
+ // externals to leave as requires of the build
+ externals: ["externalpackage"],
+ // directory outside of which never to emit assets
+ filterAssetBase: process.cwd(), // default
+ minify: false, // default
+ sourceMap: false, // default
+ sourceMapBasePrefix: '../', // default treats sources as output-relative
+ // when outputting a sourcemap, automatically include
+ // source-map-support in the output file (increases output by 32kB).
+ sourceMapRegister: true, // default
+ watch: false, // default
+ license: '', // default does not generate a license file
+ v8cache: false, // default
+ quiet: false, // default
+ debugLog: false // default
+}).then(({ code, map, assets }) => {
+ console.log(code);
+ // Assets is an object of asset file names to { source, permissions, symlinks }
+ // expected relative to the output code (if any)
+})
+```
+
+When `watch: true` is set, the build object is not a promise, but has the following signature:
+
+```js
+{
+ // handler re-run on each build completion
+ // watch errors are reported on "err"
+ handler (({ err, code, map, assets }) => { ... })
+ // handler re-run on each rebuild start
+ rebuild (() => {})
+ // close the watcher
+ void close ();
+}
+```
+
+## Caveats
+
+- Files / assets are relocated based on a [static evaluator](https://github.com/zeit/webpack-asset-relocator-loader#how-it-works). Dynamic non-statically analyzable asset loads may not work out correctly