Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrading to node 16.x LTS (and pkgs.nix upgrade to 21.11 or later) #37

Merged
merged 4 commits into from
Apr 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
],
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2020
"ecmaVersion": 2021
},
"rules": {
"linebreak-style": ["error", "unix"],
Expand Down
23 changes: 11 additions & 12 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,18 +126,17 @@ windows run:
only:
- master

# macos is disabled until this repo has access
# macos run:
# stage: quality
# image: macos-11-xcode-12
# dependencies:
# - nix
# script:
# - for f in ./builds/*-macos-*; do "$f"; done
# only:
# - master
# tags:
# - shared-macos-amd64
macos run:
stage: quality
image: macos-11-xcode-12
dependencies:
- nix
script:
- for f in ./builds/*-macos-*; do "$f"; done
only:
- master
tags:
- shared-macos-amd64

packages:
stage: release
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Note that JavaScript libraries are not packaged in Nix. Only JavaScript applicat
Building the package:

```sh
nix-build -E '(import ./pkgs.nix).callPackage ./default.nix {}'
nix-build -E '(import ./pkgs.nix {}).callPackage ./default.nix {}'
```

Building the releases:
Expand Down
39 changes: 30 additions & 9 deletions default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{ runCommandNoCC
, callPackage
, jq
}:

let
Expand All @@ -11,20 +12,40 @@ let
packageName = utils.node2nixDev.packageName;
}
''
mkdir -p $out/lib/node_modules/${utils.node2nixDev.packageName}
mkdir -p "$out/lib/node_modules/${utils.node2nixDev.packageName}"
# copy the package.json
cp ${utils.node2nixDev}/lib/node_modules/${utils.node2nixDev.packageName}/package.json $out/lib/node_modules/${utils.node2nixDev.packageName}/
cp \
"${utils.node2nixDev}/lib/node_modules/${utils.node2nixDev.packageName}/package.json" \
"$out/lib/node_modules/${utils.node2nixDev.packageName}/"
# copy the dist
cp -r ${utils.node2nixDev}/lib/node_modules/${utils.node2nixDev.packageName}/dist $out/lib/node_modules/${utils.node2nixDev.packageName}/
cp -r \
"${utils.node2nixDev}/lib/node_modules/${utils.node2nixDev.packageName}/dist" \
"$out/lib/node_modules/${utils.node2nixDev.packageName}/"
# copy over the production dependencies
if [ -d "${utils.node2nixProd}/lib/node_modules" ]; then
cp -r ${utils.node2nixProd}/lib/node_modules $out/lib/node_modules/${utils.node2nixDev.packageName}/
cp -r \
"${utils.node2nixProd}/lib/node_modules" \
"$out/lib/node_modules/${utils.node2nixDev.packageName}/"
fi
# create symlink to the deployed executable folder, if applicable
if [ -d "${utils.node2nixDev}/lib/node_modules/.bin" ]; then
cp -r ${utils.node2nixDev}/lib/node_modules/.bin $out/lib/node_modules/
ln -s $out/lib/node_modules/.bin $out/bin
# symlink bin executables
if [ \
"$(${jq}/bin/jq 'has("bin")' "$out/lib/node_modules/${utils.node2nixDev.packageName}/package.json")" \
== \
"true" \
]; then
mkdir -p "$out/bin"
while IFS= read -r bin_name && IFS= read -r bin_path; do
# make files executable
chmod a+x "$out/lib/node_modules/${utils.node2nixDev.packageName}/$bin_path"
# create the symlink
ln -s \
"../lib/node_modules/${utils.node2nixDev.packageName}/$bin_path" \
"$out/bin/$bin_name"
done < <(
${jq}/bin/jq -r 'select(.bin != null) | .bin | to_entries[] | (.key, .value)' \
"$out/lib/node_modules/${utils.node2nixDev.packageName}/package.json"
)
fi
'';
'';
in
drv
1 change: 1 addition & 0 deletions docs/.nojekyll
Original file line number Diff line number Diff line change
@@ -0,0 +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.
Loading