Skip to content

Commit 3f889d0

Browse files
authored
Merge pull request #37 from MatrixAI/21.11
Upgrading to node 16.x LTS (and pkgs.nix upgrade to 21.11 or later)
2 parents 5299b37 + 4b8a0e9 commit 3f889d0

39 files changed

+10412
-5540
lines changed

.eslintrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
],
2020
"parserOptions": {
2121
"sourceType": "module",
22-
"ecmaVersion": 2020
22+
"ecmaVersion": 2021
2323
},
2424
"rules": {
2525
"linebreak-style": ["error", "unix"],

.gitlab-ci.yml

+11-12
Original file line numberDiff line numberDiff line change
@@ -126,18 +126,17 @@ windows run:
126126
only:
127127
- master
128128

129-
# macos is disabled until this repo has access
130-
# macos run:
131-
# stage: quality
132-
# image: macos-11-xcode-12
133-
# dependencies:
134-
# - nix
135-
# script:
136-
# - for f in ./builds/*-macos-*; do "$f"; done
137-
# only:
138-
# - master
139-
# tags:
140-
# - shared-macos-amd64
129+
macos run:
130+
stage: quality
131+
image: macos-11-xcode-12
132+
dependencies:
133+
- nix
134+
script:
135+
- for f in ./builds/*-macos-*; do "$f"; done
136+
only:
137+
- master
138+
tags:
139+
- shared-macos-amd64
141140

142141
packages:
143142
stage: release

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Note that JavaScript libraries are not packaged in Nix. Only JavaScript applicat
99
Building the package:
1010

1111
```sh
12-
nix-build -E '(import ./pkgs.nix).callPackage ./default.nix {}'
12+
nix-build -E '(import ./pkgs.nix {}).callPackage ./default.nix {}'
1313
```
1414

1515
Building the releases:

default.nix

+30-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{ runCommandNoCC
22
, callPackage
3+
, jq
34
}:
45

56
let
@@ -11,20 +12,40 @@ let
1112
packageName = utils.node2nixDev.packageName;
1213
}
1314
''
14-
mkdir -p $out/lib/node_modules/${utils.node2nixDev.packageName}
15+
mkdir -p "$out/lib/node_modules/${utils.node2nixDev.packageName}"
1516
# copy the package.json
16-
cp ${utils.node2nixDev}/lib/node_modules/${utils.node2nixDev.packageName}/package.json $out/lib/node_modules/${utils.node2nixDev.packageName}/
17+
cp \
18+
"${utils.node2nixDev}/lib/node_modules/${utils.node2nixDev.packageName}/package.json" \
19+
"$out/lib/node_modules/${utils.node2nixDev.packageName}/"
1720
# copy the dist
18-
cp -r ${utils.node2nixDev}/lib/node_modules/${utils.node2nixDev.packageName}/dist $out/lib/node_modules/${utils.node2nixDev.packageName}/
21+
cp -r \
22+
"${utils.node2nixDev}/lib/node_modules/${utils.node2nixDev.packageName}/dist" \
23+
"$out/lib/node_modules/${utils.node2nixDev.packageName}/"
1924
# copy over the production dependencies
2025
if [ -d "${utils.node2nixProd}/lib/node_modules" ]; then
21-
cp -r ${utils.node2nixProd}/lib/node_modules $out/lib/node_modules/${utils.node2nixDev.packageName}/
26+
cp -r \
27+
"${utils.node2nixProd}/lib/node_modules" \
28+
"$out/lib/node_modules/${utils.node2nixDev.packageName}/"
2229
fi
23-
# create symlink to the deployed executable folder, if applicable
24-
if [ -d "${utils.node2nixDev}/lib/node_modules/.bin" ]; then
25-
cp -r ${utils.node2nixDev}/lib/node_modules/.bin $out/lib/node_modules/
26-
ln -s $out/lib/node_modules/.bin $out/bin
30+
# symlink bin executables
31+
if [ \
32+
"$(${jq}/bin/jq 'has("bin")' "$out/lib/node_modules/${utils.node2nixDev.packageName}/package.json")" \
33+
== \
34+
"true" \
35+
]; then
36+
mkdir -p "$out/bin"
37+
while IFS= read -r bin_name && IFS= read -r bin_path; do
38+
# make files executable
39+
chmod a+x "$out/lib/node_modules/${utils.node2nixDev.packageName}/$bin_path"
40+
# create the symlink
41+
ln -s \
42+
"../lib/node_modules/${utils.node2nixDev.packageName}/$bin_path" \
43+
"$out/bin/$bin_name"
44+
done < <(
45+
${jq}/bin/jq -r 'select(.bin != null) | .bin | to_entries[] | (.key, .value)' \
46+
"$out/lib/node_modules/${utils.node2nixDev.packageName}/package.json"
47+
)
2748
fi
28-
'';
49+
'';
2950
in
3051
drv

docs/.nojekyll

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.

0 commit comments

Comments
 (0)