chore: update node-cli patches for 10-10.9
This commit is contained in:
+1
-1
@@ -5,4 +5,4 @@ export NVS_HOME="$HOME/.nvs"
|
||||
|
||||
set -e -x
|
||||
|
||||
yarn run asset-compile
|
||||
npm run asset-compile
|
||||
|
||||
+3
-4
@@ -1,11 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
echo "setting up node to use latest lts"
|
||||
|
||||
export NVS_HOME="$HOME/.nvs"
|
||||
git clone --depth=1 https://github.com/jasongin/nvs "$NVS_HOME"
|
||||
. "$NVS_HOME/nvs.sh" install
|
||||
nvs add lts && nvs link lts nvs use default
|
||||
npm install -g yarn
|
||||
yarn
|
||||
node -v
|
||||
npm -v
|
||||
npm ci
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<a href="https://www.npmjs.com/package/nexe"><img src="https://img.shields.io/npm/dt/nexe.svg" alt="Downloads"></a>
|
||||
<a href="https://www.npmjs.com/package/nexe"><img src="https://img.shields.io/npm/v/nexe.svg" alt="Version"></a>
|
||||
<a href="https://www.npmjs.com/package/nexe"><img src="https://img.shields.io/npm/l/nexe.svg" alt="License"></a>
|
||||
<a href="https://gitter.im/nexe/nexe?utm_source=badge&utm_medium=badge"><img src="https://badges.gitter.im/nexe/nexe.svg"></a>
|
||||
</p>
|
||||
|
||||
<p align="center"><code>npm i nexe -g</code></p>
|
||||
@@ -43,7 +42,6 @@ For more CLI options see: `nexe --help`
|
||||
### Examples
|
||||
|
||||
- `nexe server.js -r "public/**/*.html"`
|
||||
- `nexe my-bundle.js --no-bundle -o app.exe`
|
||||
- `nexe --build`
|
||||
- `nexe -t x86-8.0.0`
|
||||
|
||||
@@ -90,14 +88,14 @@ compile({
|
||||
- Output executable file path
|
||||
- default: same as `name` with an OS specific extension.
|
||||
- #### `target: string | object`
|
||||
- An object or string describing platform-arch-version. e.g. `'windows-ia32-6.10.3'`
|
||||
- An object or string describing platform-arch-version. e.g. `'windows-ia32-10.13.0'`
|
||||
- each segment is optional, and will be merged with the current environment
|
||||
- Examples: ([full list](https://github.com/nexe/nexe/releases))
|
||||
- `'win32-x86-8.6.0`
|
||||
- `'win32-x86-10.13.0`
|
||||
- `{ platform: 'alpine' }`
|
||||
- `darwin-8.6.0`
|
||||
- `darwin-10.13.0`
|
||||
- `linux-x64`
|
||||
- `macos-8.4.0`
|
||||
- `macos-10.13.0`
|
||||
|
||||
See [test/target.spec.ts](test/target.spec.ts)
|
||||
- If the [`build`](#build-boolean) flag is set, the platform portion of the target is ignored.
|
||||
@@ -145,12 +143,12 @@ compile({
|
||||
- #### `temp: string`
|
||||
- Path to use for storing nexe's build files
|
||||
- Override in the env with `NEXE_TEMP`
|
||||
- default: `./.nexe` in the cwd
|
||||
- default: `~/.nexe`
|
||||
- #### `ico: string`
|
||||
- Path to a user provided icon to be used (Windows only). Requires `--build` to be set.
|
||||
- #### `rc: object`
|
||||
- Settings for patching the [node.rc](https://github.com/nodejs/node/blob/master/src/res/node.rc) configuration file (Windows only).
|
||||
- Example:
|
||||
- Example (keys may vary depending ont the version. Reference the file linked above):
|
||||
```javascript
|
||||
{
|
||||
CompanyName: "ACME Corp",
|
||||
|
||||
+4
-2
@@ -26,6 +26,8 @@ const isBsd = Boolean(~process.platform.indexOf('bsd'))
|
||||
const make = isWindows ? 'vcbuild.bat' : isBsd ? 'gmake' : 'make'
|
||||
const configure = isWindows ? 'configure' : './configure'
|
||||
|
||||
type StringReplacer = (match: string) => string
|
||||
|
||||
export interface NexeFile {
|
||||
filename: string
|
||||
absPath: string
|
||||
@@ -155,9 +157,9 @@ export class NexeCompiler {
|
||||
}
|
||||
|
||||
@bound
|
||||
async replaceInFileAsync(file: string, replace: string | RegExp, value: string) {
|
||||
async replaceInFileAsync(file: string, replace: string | RegExp, value: string | StringReplacer) {
|
||||
const entry = await this.readFileAsync(file)
|
||||
entry.contents = entry.contents.replace(replace, value)
|
||||
entry.contents = entry.contents.replace(replace, value as any)
|
||||
}
|
||||
|
||||
@bound
|
||||
|
||||
@@ -6,8 +6,21 @@ export default async function disableNodeCli(compiler: NexeCompiler, next: () =>
|
||||
return next()
|
||||
}
|
||||
|
||||
if (semverGt(compiler.target.version, '9.99')) {
|
||||
if (semverGt(compiler.target.version, '10.9')) {
|
||||
await compiler.replaceInFileAsync('src/node.cc', /(?<!void )ProcessArgv\(/g, '//ProcessArgv(')
|
||||
} else if (semverGt(compiler.target.version, '9.999')) {
|
||||
await compiler.replaceInFileAsync(
|
||||
'src/node.cc',
|
||||
'int i = 1; i < v8_argc; i++',
|
||||
'int i = v8_argc; i < v8_argc; i++'
|
||||
)
|
||||
let matches = 0
|
||||
await compiler.replaceInFileAsync('src/node.cc', /v8_argc > 1/g, match => {
|
||||
if (matches++) {
|
||||
return 'false'
|
||||
}
|
||||
return match
|
||||
})
|
||||
} else {
|
||||
const nodeccMarker = 'argv[index][0] =='
|
||||
|
||||
|
||||
Reference in New Issue
Block a user