open-index/open-npm huggingface dataset:
npm package: @hulu/roca
Description: A command-line tool for running brightscript tests
Author: Hulu Living Room
Latest version: 0.27.0

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [@hulu/roca](#huluroca)
  - [Documentation](#documentation)
  - [Contributing](#contributing)
    - [Modifying the docs site](#modifying-the-docs-site)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# @hulu/roca

BrightScript unit testing.  No device required.

## Documentation

All of our documentation is at [hulu.github.io/roca](https://hulu.github.io/roca). If you'd prefer to view the raw markdown that powers the doc site, it's all in the [docs/](docs/) folder.

## Contributing

If you spot a bug or want a feature, please feel free to file an issue. If you want to contribute code yourself, simply fork the repo and open a PR.

### Releasing / Publishing a New NPM Package

1. Ensure that you've got a clean working state by pulling a fresh copy of `main`.
2. Bump the package version (following semver best practices) via `yarn version` and merge back into `main`.
3. Run the prepublishing tests and packaging steps: `yarn run prepublishOnly`.
4. Assuming all tests passed and the package was correctly built, you can now publish via `yarn publish`.

_**Note:** You'll need a privileged account to publish package updates. See **"NPM Package Management Access"** below for more information._

### NPM Package Management Access

The package registry for this project is located at npmjs.com: [@hulu/roca](https://www.npmjs.com/package/@hulu/roca). Only privileged members are able to publish new updates. If you need to be granted privileges, reach out to one of the repository owners and [have them add you](https://www.npmjs.com/settings/hulu/members).

### Modifying the docs site

We use [docsify](https://docsify.js.org) to build our site, and [Github pages](https://pages.github.com/) to deploy it. To run the documentation site locally, simply run:
```shell
$ yarn serve-docs
```

Any changes you make to files in the `docs/` directory will cause the server to automatically reload the page.
npm package: @hulu/splitshot
Description: Generates rough TypeScript declarations from CoffeeScript sources
Author: Hulu Living Room
Latest version: 1.2.0

# @hulu/splitshot
A NodeJS module that generates rough TypeScript declarations from CoffeeScript sources

# Installation
To run it from the command line:

```bash
$ npm install -g @hulu/splitshot
```

or to run it from JavaScript:

```
$ npm install --save @hulu/splitshot
```

# Usage
## CLI
The `splitshot` CLI command accepts the path to a `.coffee` file as its only argument and prints (to `stdout`) the TypeScript declaration for the provided `.coffee` file.  You'll likely want to redirect `stdout` to a file like so:

```bash
$ splitshot path/to/SingleOrigin.coffee > path/to/SingleOrigin.d.ts
```

## From JavaScript
```javascript
const splitshot = require("@hulu/splitshot");
const fs = require("fs");

const pathToCoffee = "path/to/SingleOrigin.coffee";

fs.readFile(pathToCoffee, (err, data) => {
  if (err) { throw err };
  const declarations = splitshot.generateDeclarations(data, pathToCoffee);

  // do stuff with those declarations!
});
```

## Optional adjustments to `tsconfig.json`
By default, TypeScript only looks for `.d.ts` files next to the file being required, e.g.

```typescript
import foo = require("./foo");
```

results in a path search for `./foo.d.ts` or `./foo.ts` at compile-time.  This makes integration with CoffeeScript sources initially very simple: just put the `.d.ts` files next to the corresponding `.coffee` file.  This quickly gets very messy -- especially for large CoffeeScript projects.  To keep the generated `.d.ts` files in a separate directory, use the [rootDirs compiler option](https://www.typescriptlang.org/docs/handbook/compiler-options.html) to add an additional types source:

```javascript
{
    "compilerOptions": {
        "module": "commonjs",
        "moduleResolution": "node",
        "target": "es3",
        "outDir": "bin/typescript/",
        // check ./src and ./bin/types/src for type declarations
        "rootDirs": [
            "./src",
            "./bin/types/src/"
        ]
    },
    "include": [
        "core/**/*.ts"
    ]
}
```

Just be sure to mirror the directory structure in `./src` so the lookup paths match!  `@hulu/gulp-splitshot` (coming soon) handles directory structure matching, so consider using it for projects that build with `gulp`.