Browse Source

Rename to fnm (#2)

remotes/origin/add-simple-redirecting-site
Gal Schlezinger 6 years ago committed by GitHub
parent
commit
159282532e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      .ci/create-static-binary.sh
  2. 2
      .ci/esy-build-steps.yml
  3. 3
      .gitignore
  4. 42
      README.md
  5. 14
      azure-pipelines.yml
  6. 1
      docs/fnm.svg
  7. BIN
      docs/nsw.gif
  8. 19
      docs/record_screen.sh
  9. 33
      docs/recorded_screen_script.sh
  10. 2
      dune-project
  11. 8
      esy.lock/index.json
  12. 2
      executable/Env.re
  13. 22
      executable/FnmApp.re
  14. 2
      executable/Install.re
  15. 2
      executable/ListInstallations.re
  16. 2
      executable/ListLocal.re
  17. 2
      executable/ListRemote.re
  18. 2
      executable/Use.re
  19. 10
      executable/dune
  20. 8
      feature_tests/basic/run.sh
  21. 6
      feature_tests/nvmrc/run.sh
  22. 12
      feature_tests/run.sh
  23. 0
      fnm.opam
  24. 4
      library/Directories.re
  25. 6
      library/dune
  26. 22
      package.json
  27. 0
      test/TestFnm.re
  28. 6
      test/TestFramework.re
  29. 10
      test/dune

6
.ci/create-static-binary.sh

@ -2,8 +2,8 @@
echo "Building binary in docker" echo "Building binary in docker"
docker build . -t schlez/nsw-static-binary docker build . -t schlez/fnm-static-binary
echo "Copying to ./nsw-linux" echo "Copying to ./fnm-linux"
docker run --rm -v $(pwd):$(pwd) --workdir $(pwd) schlez/nsw-static-binary cp /app/_build/default/executable/NswApp.exe ./nsw-linux docker run --rm -v $(pwd):$(pwd) --workdir $(pwd) schlez/fnm-static-binary cp /app/_build/default/executable/FnmApp.exe ./fnm-linux

2
.ci/esy-build-steps.yml

@ -14,7 +14,7 @@ steps:
displayName: 'esy build' displayName: 'esy build'
- script: esy test - script: esy test
displayName: 'esy test' displayName: 'esy test'
- script: esy x nsw.exe - script: esy x fnm.exe
displayName: 'Run the main binary' displayName: 'Run the main binary'
- script: esy ls-libs - script: esy ls-libs
continueOnError: true continueOnError: true

3
.gitignore vendored

@ -6,7 +6,8 @@ node_modules/
_build _build
_release _release
_esy/ _esy/
nsw.install fnm.install
.DS_Store .DS_Store
*.install *.install
.tmp .tmp
docs/screen_recording

42
README.md

@ -1,58 +1,64 @@
<h1 align="center"> <h1 align="center">
Node Switcher (<code>nsw</code>) <a href="https://dev.azure.com/galstar0385/nsw/_build/latest?definitionId=1?branchName=master"><img alt="Build Status" src="https://dev.azure.com/galstar0385/nsw/_apis/build/status/Schniz.nsw?branchName=master" /></a> Fast Node Manager (<code>fnm</code>) <a href="https://dev.azure.com/galstar0385/fnm/_build/latest?definitionId=1?branchName=master"><img alt="Build Status" src="https://dev.azure.com/galstar0385/fnm/_apis/build/status/Schniz.nsw?branchName=master" /></a>
</h1> </h1>
> A blazing fast and simple `nvm` replacement, built in native ReasonML. :rocket: > :rocket: Fast and simple Node.js version manager, built in ReasonML
<div align="center"> <div align="center">
<img src="./docs/nsw.gif" alt="Blazing fast!"> <img src="./docs/fnm.svg" alt="Blazing fast!">
</div> </div>
## Features ## Features
- Single file, easy installation :sparkles: :sparkles: Single file, easy installation
- Fast fast fast fast :rocket:
- Install multiple node versions without a hassle! :clap: :rocket: Built with speed in mind
- [Project-specific `.nvmrc` file support](./features_tests/nvmrc)
:thinking: Works with `.nvmrc` files
## Installation ## Installation
* Download the [latest release binary](https://github.com/Schniz/nsw/releases) for your system * Download the [latest release binary](https://github.com/Schniz/fnm/releases) for your system
* Make it available globally on `$PATH` * Make it available globally on `$PATH`
* Add the following line to your `.bashrc`/`.zshrc` file: * Add the following line to your `.bashrc`/`.zshrc` file:
```bash ```bash
eval `nsw env` eval `fnm env`
``` ```
## TODO ## Future Plans
- [ ] Add a simpler way of installing it (`curl | bash`?)
- [ ] Feature: make versions complete the latest: `10` would infer the latest minor and patch versions of node 10. `10.1` would infer the latest patch version of node 10.1 - [ ] Feature: make versions complete the latest: `10` would infer the latest minor and patch versions of node 10. `10.1` would infer the latest patch version of node 10.1
- [ ] Feature: `nsw use --install`, `nsw use --quiet` - [ ] Feature: `fnm use --install`, `fnm use --quiet`
- [ ] Feature: `nsw install lts`? - [ ] Feature: `fnm install lts`?
- [ ] Feature: `nsw alias`? - [ ] Feature: `fnm alias`?
- [ ] Feature: Consider nvm-like per-shell usage with symlinks on `/tmp` directory - [ ] Feature: Consider nvm-like per-shell usage with symlinks on `/tmp` directory
- [ ] OSX: Add to homebrew? - [ ] OSX: Add to homebrew?
- [ ] Windows Support? - [ ] Windows Support?
- [ ] Linux: Replace `curl` usage with `cohttp`/`ocurl` or something else which is statically-linkable - [ ] Linux: Replace `curl` usage with `cohttp`/`ocurl` or something else which is statically-linkable
- [ ] Linux: Replace `tar` with a statically linked library too (for ungzip + untar) - [ ] Linux: Replace `tar` with a statically linked library too (for ungzip + untar)
## Developing: ## Contributing
PRs welcome :tada:
### Developing:
``` ```
npm install -g esy npm install -g esy
git clone https://github.com/Schniz/nsw.git git clone https://github.com/Schniz/fnm.git
esy install esy install
esy build esy build
``` ```
## Running Binary: ### Running Binary:
After building the project, you can run the main binary that is produced. After building the project, you can run the main binary that is produced.
``` ```
esy x nsw.exe esy x fnm.exe
``` ```
## Running Tests: ### Running Tests:
``` ```
# Runs some smoke-unity test # Runs some smoke-unity test

14
azure-pipelines.yml

@ -18,15 +18,15 @@ jobs:
# TODO: Uncomment both this and 'publish-build-cache' below to enable build caching for Linux. # TODO: Uncomment both this and 'publish-build-cache' below to enable build caching for Linux.
# - template: .ci/restore-build-cache.yml # - template: .ci/restore-build-cache.yml
- script: .ci/create-static-binary.sh - script: .ci/create-static-binary.sh
- script: ./feature_tests/run.sh $(pwd)/nsw-linux - script: ./feature_tests/run.sh $(pwd)/fnm-linux
# - script: bash .ci/prepare-static-build.sh # - script: bash .ci/prepare-static-build.sh
# - template: .ci/esy-build-steps.yml # - template: .ci/esy-build-steps.yml
# - template: .ci/publish-build-cache.yml # - template: .ci/publish-build-cache.yml
- task: PublishBuildArtifacts@1 - task: PublishBuildArtifacts@1
displayName: 'Save artifact' displayName: 'Save artifact'
inputs: inputs:
PathtoPublish: 'nsw-linux' PathtoPublish: 'fnm-linux'
ArtifactName: nsw-linux ArtifactName: fnm-linux
- job: MacOS - job: MacOS
timeoutInMinutes: 0 timeoutInMinutes: 0
@ -41,14 +41,14 @@ jobs:
# TODO: Uncomment both this and 'publish-build-cache' below to enable build caching for Mac. # TODO: Uncomment both this and 'publish-build-cache' below to enable build caching for Mac.
# - template: .ci/restore-build-cache.yml # - template: .ci/restore-build-cache.yml
- template: .ci/esy-build-steps.yml - template: .ci/esy-build-steps.yml
- script: cp _build/default/executable/NswApp.exe _build/nsw - script: cp _build/default/executable/FnmApp.exe _build/fnm
- script: ./feature_tests/run.sh $(pwd)/_build/nsw - script: ./feature_tests/run.sh $(pwd)/_build/fnm
# - template: .ci/publish-build-cache.yml # - template: .ci/publish-build-cache.yml
- task: PublishBuildArtifacts@1 - task: PublishBuildArtifacts@1
displayName: 'Save artifact' displayName: 'Save artifact'
inputs: inputs:
PathtoPublish: '_build/nsw' PathtoPublish: '_build/fnm'
ArtifactName: nsw-macos ArtifactName: fnm-macos
# - job: Windows # - job: Windows
# timeoutInMinutes: 0 # timeoutInMinutes: 0

1
docs/fnm.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 32 KiB

BIN
docs/nsw.gif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

19
docs/record_screen.sh

@ -0,0 +1,19 @@
#!/bin/bash
DIRECTORY=`dirname $0`
function setup_binary() {
export TEMP_DIR=$(mktemp -d -t fnm)
cp _build/default/executable/FnmApp.exe $TEMP_DIR/fnm
export PATH=$TEMP_DIR:$PATH
export FNM_DIR=$TEMP_DIR/.fnm
}
setup_binary
RECORDING_PATH=$DIRECTORY/screen_recording
(rm -rf $RECORDING_PATH &> /dev/null || true)
asciinema rec -c $DIRECTORY/recorded_screen_script.sh $RECORDING_PATH
cat $RECORDING_PATH | sed "s@$TEMP_DIR@~@g" | svg-term --window --out $DIRECTORY/fnm.svg --height=17 --width=70

33
docs/recorded_screen_script.sh

@ -0,0 +1,33 @@
#!/bin/zsh
set -e
GAL_PROMPT_PREFIX='\e[34m✡ \e[0m'
function type() {
printf $GAL_PROMPT_PREFIX
echo $* | pv -qL $[10+(-2 + RANDOM%5)]
}
cd ./feature_tests/nvmrc
type 'eval `fnm env`'
eval `fnm env`
type 'fnm --version'
fnm --version
type 'cat .nvmrc'
cat .nvmrc
type 'fnm install'
fnm install
type 'fnm use'
fnm use
type 'node -v'
node -v
sleep 2
echo ""

2
dune-project

@ -1,2 +1,2 @@
(lang dune 1.6) (lang dune 1.6)
(name nsw) (name fnm)

8
esy.lock/index.json

@ -1,6 +1,6 @@
{ {
"checksum": "bc7707f147bdaf3b3f87430bb4b3f0cd", "checksum": "bc7707f147bdaf3b3f87430bb4b3f0cd",
"root": "nsw@link:./package.json", "root": "fnm@link:./package.json",
"node": { "node": {
"refmterr@3.1.10@d41d8cd9": { "refmterr@3.1.10@d41d8cd9": {
"id": "refmterr@3.1.10@d41d8cd9", "id": "refmterr@3.1.10@d41d8cd9",
@ -47,9 +47,9 @@
"dependencies": [], "dependencies": [],
"devDependencies": [] "devDependencies": []
}, },
"nsw@link:./package.json": { "fnm@link:./package.json": {
"id": "nsw@link:./package.json", "id": "fnm@link:./package.json",
"name": "nsw", "name": "fnm",
"version": "link:./package.json", "version": "link:./package.json",
"source": { "type": "link", "path": ".", "manifest": "package.json" }, "source": { "type": "link", "path": ".", "manifest": "package.json" },
"overrides": [], "overrides": [],

2
executable/Env.re

@ -1,4 +1,4 @@
open Nsw; open Fnm;
let run = () => { let run = () => {
Console.log( Console.log(

22
executable/NswApp.re → executable/FnmApp.re

@ -12,12 +12,22 @@ open Cmdliner;
let help_secs = [ let help_secs = [
`S(Manpage.s_common_options), `S(Manpage.s_common_options),
`S(Manpage.s_environment),
`P("These options are common to all commands."), `P("These options are common to all commands."),
`S("MORE HELP"), `S("MORE HELP"),
`P("Use `$(mname) $(i,COMMAND) --help' for help on a single command."), `P("Use `$(mname) $(i,COMMAND) --help' for help on a single command."),
`Noblank, `Noblank,
`S(Manpage.s_bugs), `S(Manpage.s_bugs),
`P("File bug reports at https://github.com/Schniz/nsw"), `P("File bug reports at https://github.com/Schniz/fnm"),
];
let envs = [
Term.env_info(
~doc=
"The root directory of fnm installations. Defaults to: "
++ Fnm.Directories.sfwRoot,
"FNM_DIR",
),
]; ];
let install = { let install = {
@ -90,7 +100,15 @@ let defaultCmd = {
let man = help_secs; let man = help_secs;
( (
Term.(ret(const(_ => `Help((`Pager, None))) $ const())), Term.(ret(const(_ => `Help((`Pager, None))) $ const())),
Term.info("nsw", ~version, ~doc, ~exits=Term.default_exits, ~man, ~sdocs), Term.info(
"fnm",
~envs,
~version,
~doc,
~exits=Term.default_exits,
~man,
~sdocs,
),
); );
}; };

2
executable/Install.re

@ -1,4 +1,4 @@
open Nsw; open Fnm;
let mkDownloadsDir = () => { let mkDownloadsDir = () => {
let exists = Lwt_unix.file_exists(Directories.downloads); let exists = Lwt_unix.file_exists(Directories.downloads);

2
executable/ListInstallations.re

@ -1,4 +1,4 @@
open Nsw; open Fnm;
let colorizeVersions = (~current, ~versions) => { let colorizeVersions = (~current, ~versions) => {
let strings = let strings =

2
executable/ListLocal.re

@ -1,4 +1,4 @@
open Nsw; open Fnm;
let run = () => let run = () =>
Versions.Local.( Versions.Local.(

2
executable/ListRemote.re

@ -1,4 +1,4 @@
open Nsw; open Fnm;
let run = () => { let run = () => {
Console.log("Looking for some node versions upstream..."); Console.log("Looking for some node versions upstream...");

2
executable/Use.re

@ -1,4 +1,4 @@
open Nsw; open Fnm;
let lwtIgnore = lwt => Lwt.catch(() => lwt, _ => Lwt.return()); let lwtIgnore = lwt => Lwt.catch(() => lwt, _ => Lwt.return());

10
executable/dune

@ -1,12 +1,12 @@
; !!!! This dune file is generated from the package.json file by pesy. If you modify it by hand ; !!!! This dune file is generated from the package.json file by pesy. If you modify it by hand
; !!!! your changes will be undone! Instead, edit the package.json and then rerun 'esy pesy' at the project root. ; !!!! your changes will be undone! Instead, edit the package.json and then rerun 'esy pesy' at the project root.
; !!!! If you want to stop using pesy and manage this file by hand, change pacakge.json's 'esy.build' command to: refmterr dune build -p nsw ; !!!! If you want to stop using pesy and manage this file by hand, change pacakge.json's 'esy.build' command to: refmterr dune build -p fnm
(executable (executable
; The entrypoint module ; The entrypoint module
(name NswApp) ; From package.json main field (name FnmApp) ; From package.json main field
; The name of the executable (runnable via esy x nsw.exe) ; The name of the executable (runnable via esy x fnm.exe)
(public_name nsw.exe) ; From package.json name field (public_name fnm.exe) ; From package.json name field
(libraries core cmdliner lwt lwt.unix lambdasoup console.lib pastel.lib nsw.lib ) ; From package.json require field (array of strings) (libraries core cmdliner lwt lwt.unix lambdasoup console.lib pastel.lib fnm.lib ) ; From package.json require field (array of strings)
(preprocess ( pps lwt_ppx ppx_let )) ; From package.json preprocess field (preprocess ( pps lwt_ppx ppx_let )) ; From package.json preprocess field
) )

8
feature_tests/basic/run.sh

@ -1,6 +1,8 @@
eval $(nsw env) #!/bin/bash
nsw install v8.11.3
nsw use v8.11.3 eval $(fnm env)
fnm install v8.11.3
fnm use v8.11.3
if [ "$(node --version)" != "v8.11.3" ]; then if [ "$(node --version)" != "v8.11.3" ]; then
echo "Node version is not v8.11.3!" echo "Node version is not v8.11.3!"

6
feature_tests/nvmrc/run.sh

@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
eval $(nsw env) eval $(fnm env)
nsw install fnm install
nsw use fnm use
if [ "$(node --version)" != "v10.9.0" ]; then if [ "$(node --version)" != "v10.9.0" ]; then
echo "Node version is not v10.9.0!" echo "Node version is not v10.9.0!"

12
feature_tests/run.sh

@ -6,27 +6,27 @@ DIRECTORY=`dirname $0`
BINARY=$1 BINARY=$1
TEMP_DIR_BASE=$(pwd)/$DIRECTORY/.tmp TEMP_DIR_BASE=$(pwd)/$DIRECTORY/.tmp
TEMP_BINARY_PATH=$TEMP_DIR_BASE/bin TEMP_BINARY_PATH=$TEMP_DIR_BASE/bin
TEMP_NSW_DIR=$TEMP_DIR_BASE/.nsw TEMP_FNM_DIR=$TEMP_DIR_BASE/.fnm
if [ "$BINARY" == "" ]; then if [ "$BINARY" == "" ]; then
echo "No binary supplied!" echo "No binary supplied!"
exit 1 exit 1
fi fi
echo "using nvm=$BINARY" echo "using fnm=$BINARY"
rm -rf $TEMP_DIR_BASE rm -rf $TEMP_DIR_BASE
mkdir $TEMP_DIR_BASE $TEMP_BINARY_PATH mkdir $TEMP_DIR_BASE $TEMP_BINARY_PATH
cp $BINARY $TEMP_BINARY_PATH/nsw cp $BINARY $TEMP_BINARY_PATH/fnm
for test_file in $DIRECTORY/*/run.sh; do for test_file in $DIRECTORY/*/run.sh; do
rm -rf $TEMP_NSW_DIR rm -rf $TEMP_FNM_DIR
echo "Running test in $test_file" echo "Running test in $test_file"
echo "Running test in $test_file" | sed "s/./-/g" echo "Running test in $test_file" | sed "s/./-/g"
(cd $(dirname $test_file) && NSW_DIR=$TEMP_NSW_DIR PATH=$TEMP_BINARY_PATH:$PATH bash $(basename $test_file)) (cd $(dirname $test_file) && FNM_DIR=$TEMP_FNM_DIR PATH=$TEMP_BINARY_PATH:$PATH bash $(basename $test_file))
echo "" echo ""
echo " -> Finished!" echo " -> Finished!"
rm -rf $TEMP_NSW_DIR rm -rf $TEMP_FNM_DIR
done done

0
nsw.opam → fnm.opam

4
library/Directories.re

@ -1,11 +1,11 @@
let sfwRoot = let sfwRoot =
Opt.( Opt.(
Sys.getenv_opt("NSW_DIR") Sys.getenv_opt("FNM_DIR")
or { or {
let home = let home =
Sys.getenv_opt("HOME") Sys.getenv_opt("HOME")
|> Opt.orThrow("There isn't $HOME environment variable set."); |> Opt.orThrow("There isn't $HOME environment variable set.");
Filename.concat(home, ".nsw"); Filename.concat(home, ".fnm");
} }
); );
let nodeVersions = Filename.concat(sfwRoot, "node-versions"); let nodeVersions = Filename.concat(sfwRoot, "node-versions");

6
library/dune

@ -1,12 +1,12 @@
; !!!! This dune file is generated from the package.json file by pesy. If you modify it by hand ; !!!! This dune file is generated from the package.json file by pesy. If you modify it by hand
; !!!! your changes will be undone! Instead, edit the package.json and then rerun 'esy pesy' at the project root. ; !!!! your changes will be undone! Instead, edit the package.json and then rerun 'esy pesy' at the project root.
; !!!! If you want to stop using pesy and manage this file by hand, change pacakge.json's 'esy.build' command to: refmterr dune build -p nsw ; !!!! If you want to stop using pesy and manage this file by hand, change pacakge.json's 'esy.build' command to: refmterr dune build -p fnm
(library (library
; The namespace that other packages/libraries will access this library through ; The namespace that other packages/libraries will access this library through
(name Nsw) (name Fnm)
; Other libraries list this name in their package.json 'require' field to use this library. ; Other libraries list this name in their package.json 'require' field to use this library.
(public_name nsw.lib) (public_name fnm.lib)
(libraries str core lwt lwt.unix lambdasoup semver ) (libraries str core lwt lwt.unix lambdasoup semver )
(preprocess ( pps lwt_ppx ppx_let )) ; From package.json preprocess field (preprocess ( pps lwt_ppx ppx_let )) ; From package.json preprocess field
) )

22
package.json

@ -1,5 +1,5 @@
{ {
"name": "nsw", "name": "fnm",
"version": "0.0.0", "version": "0.0.0",
"description": "My Project", "description": "My Project",
"esy": { "esy": {
@ -7,33 +7,33 @@
"buildsInSource": "_build", "buildsInSource": "_build",
"release": { "release": {
"releasedBinaries": [ "releasedBinaries": [
"nsw.exe" "fnm.exe"
] ]
} }
}, },
"buildDirs": { "buildDirs": {
"test": { "test": {
"require": ["nsw.lib", "rely.lib"], "require": ["fnm.lib", "rely.lib"],
"main": "TestNsw", "main": "TestFnm",
"name": "TestNsw.exe", "name": "TestFnm.exe",
"ocamloptFlags": ["-linkall", "-g"] "ocamloptFlags": ["-linkall", "-g"]
}, },
"library": { "library": {
"preprocess": ["pps", "lwt_ppx", "ppx_let"], "preprocess": ["pps", "lwt_ppx", "ppx_let"],
"require": ["str", "core", "lwt", "lwt.unix", "lambdasoup", "semver"], "require": ["str", "core", "lwt", "lwt.unix", "lambdasoup", "semver"],
"name": "nsw.lib", "name": "fnm.lib",
"namespace": "Nsw" "namespace": "Fnm"
}, },
"executable": { "executable": {
"preprocess": ["pps", "lwt_ppx", "ppx_let"], "preprocess": ["pps", "lwt_ppx", "ppx_let"],
"require": ["core", "cmdliner", "lwt", "lwt.unix", "lambdasoup", "console.lib", "pastel.lib", "nsw.lib"], "require": ["core", "cmdliner", "lwt", "lwt.unix", "lambdasoup", "console.lib", "pastel.lib", "fnm.lib"],
"main": "NswApp", "main": "FnmApp",
"name": "nsw.exe" "name": "fnm.exe"
} }
}, },
"scripts": { "scripts": {
"pesy": "bash -c 'env PESY_MODE=update pesy'", "pesy": "bash -c 'env PESY_MODE=update pesy'",
"test": "esy x TestNsw.exe", "test": "esy x TestFnm.exe",
"fmt": "bash -c 'refmt --in-place {library,executable,test}/*.re'" "fmt": "bash -c 'refmt --in-place {library,executable,test}/*.re'"
}, },
"dependencies": { "dependencies": {

0
test/TestNsw.re → test/TestFnm.re

6
test/TestFramework.re

@ -1,5 +1,5 @@
let projectDir = Sys.getcwd(); let projectDir = Sys.getcwd();
let tmpDir = Filename.concat(projectDir, ".nswTmp"); let tmpDir = Filename.concat(projectDir, ".fnmTmp");
include Rely.Make({ include Rely.Make({
let config = let config =
@ -15,8 +15,8 @@ include Rely.Make({
let run = args => { let run = args => {
let arguments = let arguments =
args |> Array.append([|"./_build/default/executable/NswApp.exe"|]); args |> Array.append([|"./_build/default/executable/FnmApp.exe"|]);
let env = Unix.environment() |> Array.append([|"NSW_DIR=" ++ tmpDir|]); let env = Unix.environment() |> Array.append([|"FNM_DIR=" ++ tmpDir|]);
let result = let result =
Lwt_process.pread_chars(~env, ("", arguments)) |> Lwt_stream.to_string; Lwt_process.pread_chars(~env, ("", arguments)) |> Lwt_stream.to_string;
Lwt_main.run(result); Lwt_main.run(result);

10
test/dune

@ -1,12 +1,12 @@
; !!!! This dune file is generated from the package.json file by pesy. If you modify it by hand ; !!!! This dune file is generated from the package.json file by pesy. If you modify it by hand
; !!!! your changes will be undone! Instead, edit the package.json and then rerun 'esy pesy' at the project root. ; !!!! your changes will be undone! Instead, edit the package.json and then rerun 'esy pesy' at the project root.
; !!!! If you want to stop using pesy and manage this file by hand, change pacakge.json's 'esy.build' command to: refmterr dune build -p nsw ; !!!! If you want to stop using pesy and manage this file by hand, change pacakge.json's 'esy.build' command to: refmterr dune build -p fnm
(executable (executable
; The entrypoint module ; The entrypoint module
(name TestNsw) ; From package.json main field (name TestFnm) ; From package.json main field
; The name of the executable (runnable via esy x TestNsw.exe) ; The name of the executable (runnable via esy x TestFnm.exe)
(public_name TestNsw.exe) ; From package.json name field (public_name TestFnm.exe) ; From package.json name field
(libraries nsw.lib rely.lib ) ; From package.json require field (array of strings) (libraries fnm.lib rely.lib ) ; From package.json require field (array of strings)
(ocamlopt_flags ( -linkall -g )) ; From package.json ocamloptFlags field (ocamlopt_flags ( -linkall -g )) ; From package.json ocamloptFlags field
) )
Loading…
Cancel
Save