@lozlow/bs-atdgen-generator
Version:
Atdgen prebuilt binaries for 3 major OS platforms.
119 lines (95 loc) • 2.45 kB
Markdown
# Project is under migration
The installation instructions still point to the old binaries, the project has changed owners but I haven't had a chance to publish binaries under my name yet. Apologies.
# bs-atdgen-generator
[Atdgen](https://github.com/ahrefs/atd) prebuilt binaries for 3 major OS platforms.
Mainly for BuckleScript users, to avoid the step of installing esy.
## Getting started
(Prefer example? Check the [test](./test) folder)
With yarn:
```
yarn add -D /bs-atdgen-generator
yarn --check-files
```
Tell bsb which files need to be processed:
```json
"generators": [
{
"name": "atd_t",
"command": "yarn run atdgen -t $in"
},
{
"name": "atd_bs",
"command": "yarn run atdgen -bs $in"
}
],
```
Or with node:
```
npm install /bs-atdgen-generator --save-dev
```
And then:
```json
"generators": [
{
"name": "atd_t",
"command": "npx atdgen -t $in"
},
{
"name": "atd_bs",
"command": "npx atdgen -bs $in"
}
],
```
Now that the generator is defined, add the files that need to be processed to `sources` (still in `bsconfig`):
```json
"sources": {
"dir" : "src",
"subdirs" : true,
"generators": [
{
"name": "atd_t",
"edge": ["meetup_t.ml", "meetup_t.mli", ":", "meetup.atd"]
},
{
"name": "atd_bs",
"edge": ["meetup_bs.ml", "meetup_bs.mli", ":", "meetup.atd"]
}
]
},
```
## For Windows users
Unfortunately, it's not possible for `npx` or `yarn run` to work directly in Windows environments, due to
the way [ninja calls CreateProcess](https://github.com/jchavarri/bs-atdgen-generator/pull/3#issue-415706268).
In order to use atdgen for this platform, there are two options:
#### 1. Use relative path
In `bsconfig.json`:
```diff
"generators": [
{
"name": "atd_t",
- "command": "npx atdgen -t $in"
+ "command": "../../node_modules/\@jchavarri/bs-atdgen-generator/atdgen.exe -t $in"
},
{
"name": "atd_bs",
- "command": "npx atdgen -bs $in"
+ "command": "../../node_modules/\@jchavarri/bs-atdgen-generator/atdgen.exe -bs $in"
}
],
```
#### 2. Use `cmd /c`:
```diff
"generators": [
{
"name": "atd_t",
- "command": "npx atdgen -t $in"
+ "command": "cmd /c npx atdgen -t $in"
},
{
"name": "atd_bs",
- "command": "npx atdgen -bs $in"
+ "command": "cmd /c npx atdgen -bs $in"
}
],
```
Both solutions are shell independent, and work with both Powershell and Windows bash.