Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: tidev/node-ios-device
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.9.3
Choose a base ref
...
head repository: tidev/node-ios-device
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1_X
Choose a head ref
  • 12 commits
  • 11 files changed
  • 2 contributors

Commits on Mar 4, 2022

  1. Copy the full SHA
    8edb17a View commit details

Commits on Mar 20, 2022

  1. build: Added GitHub action to publish to npm

    chore: Cleaned up readme and updated deps
    cb1kenobi authored and ewanharris committed Mar 20, 2022
    Copy the full SHA
    fa1c39e View commit details
  2. v1.9.4

    cb1kenobi committed Mar 20, 2022
    Copy the full SHA
    b411bcc View commit details
  3. v1.9.4 (#79)

    cb1kenobi authored Mar 20, 2022
    Copy the full SHA
    60a2ae3 View commit details
  4. Copy the full SHA
    c56e465 View commit details
  5. Copy the full SHA
    ab6029f View commit details

Commits on Jan 12, 2023

  1. Support Node.js 18 and 19 (#82)

    * Pass openssl_fips as a variable to support building older node versions on newer node versions
    
    See nodejs/node-gyp#2534 and nodejs/node-gyp#2673
    for more context on this issue
    
    * Update dependencies
    
    * Add support for Node.js 18 and 19
    
    As node-pre-gyp is no longer maintained this is the path of least resistance to adding new versions,
    we include a patch within this project that updates the abi_crosswalk file within node-pre-gyp that
    is used to map the versions of node to their module/v8 versions. Then in run.js we call patch-package
    before spawning anything to ensure that our patches are applied correctly.
    
    This isn't by any means perfect but it's the quickest way to update the supported versions of node
    without having to go and make any major refactors to the setup here, or the code in ioslib/the SDK
    ewanharris authored Jan 12, 2023
    Copy the full SHA
    3a704cc View commit details
  2. v1.10.0

    cb1kenobi authored Jan 12, 2023
    Copy the full SHA
    adaaab7 View commit details

Commits on Apr 19, 2023

  1. feat: support node 20 (#84)

    * feat: support node 20
    
    * chore(release): v1.11.0
    ewanharris authored Apr 19, 2023
    Copy the full SHA
    84d8fc7 View commit details

Commits on Jun 18, 2024

  1. feat: add support for node 22 (#88)

    * feat: add support for node 22
    
    * chore(release): v1.12.0
    
    * ci: bump to node 18
    ewanharris authored Jun 18, 2024
    Copy the full SHA
    7d76a93 View commit details

Commits on Jul 12, 2024

  1. ci: use macos-13 to run ci

    ewanharris committed Jul 12, 2024
    Copy the full SHA
    e36bb8d View commit details
  2. chore(release): v1.12.1

    ewanharris committed Jul 12, 2024
    Copy the full SHA
    415a9b5 View commit details
Showing with 483 additions and 362 deletions.
  1. +16 −9 .github/workflows/build.yml
  2. +36 −0 .github/workflows/publish.yml
  3. +1 −4 .npmignore
  4. +0 −12 Jenkinsfile
  5. +3 −13 README.md
  6. +3 −5 bin/publish.js
  7. +3 −0 bin/run.js
  8. +2 −1 binding.gyp
  9. +25 −29 package.json
  10. +27 −0 patches/@mapbox+node-pre-gyp+1.0.10.patch
  11. +367 −289 yarn.lock
25 changes: 16 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,29 @@
name: Build
on: [push, pull_request]
on:
- push
- pull_request

jobs:
build:
runs-on: macos-latest
# Specify macos-13 because we need to build on an x64 machine and all macos 14 machines are arm based.
# There seems to be an issue building x64 variants on arm64 machines.
runs-on: macos-13
name: Build

steps:
- uses: actions/checkout@v2

- name: Checkout repository
uses: actions/checkout@v3

- name: Setup node
uses: actions/setup-node@v2
with:
node-version: '12'
- run: yarn install --frozen-lockfile
name: Build
node-version: '18'

- name: Build
run: yarn install --frozen-lockfile

- name: Archive pre-built bindings
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: binding
path: binding/**
36 changes: 36 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Publish
on:
release:
types: [ created ]

jobs:
publish:
# Specify macos-13 because we need to build on an x64 machine and all macos 14 machines are arm based.
# There seems to be an issue building x64 variants on arm64 machines.
runs-on: macos-13
name: Publish

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup node
uses: actions/setup-node@v2
with:
node-version: '18'
registry-url: 'https://registry.npmjs.org'

- name: Build
run: yarn install --frozen-lockfile

- name: Archive pre-built bindings
uses: actions/upload-artifact@v3
with:
name: binding
path: binding/**

- name: Publish to npm
env:
GH_TOKEN: ${{ github.token }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npm publish
5 changes: 1 addition & 4 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
._*
.DS_Store
.git
.git*
.gitignore
.travis.yml
*.tgz
binding
/build
/node_modules
/out
npm-debug.log*
env.properties
/Jenkinsfile
yarn.lock
/bin/publish.js
12 changes: 0 additions & 12 deletions Jenkinsfile

This file was deleted.

16 changes: 3 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# node-ios-device [![Build Status](https://travis-ci.org/appcelerator/node-ios-device.svg?branch=master)](https://travis-ci.org/appcelerator/node-ios-device) [![Greenkeeper badge](https://badges.greenkeeper.io/appcelerator/node-ios-device.svg)](https://greenkeeper.io/)
# node-ios-device

Queries connected iOS devices, installs apps, and relays log output.

@@ -16,8 +16,8 @@ node-ios-device is currently compatible with the following versions:
* 16.x (module API v93)
* 17.x (module API v102)

Only Mac OS X (darwin) is supported. You should make this module an optional
dependency of your application and it will only be downloaded on OS X.
Only macOS (darwin) is supported. You should make this module an optional
dependency of your application and it will only be downloaded on macOS.

> Note: node-ios-device@2.0.0 will only support Node.js 4 and newer.
@@ -280,14 +280,6 @@ To debug `node-ios-device`,
- Add the environment variable `DEBUG=*`
- Close out the schemes and click "Run"

### Publishing

This section is intended for Appcelerator release managers.

To publish a new release to NPM, run `npm publish`. This will build
`node-ios-device` for all Node.js module API versions and then upload each
binary to the associated release on the GitHub repository.

## License

This project is open source and provided under the Apache Public License
@@ -298,5 +290,3 @@ privacy notice at the end of the file.
This project contains `mobiledevice.h` from
[https://bitbucket.org/tristero/mobiledeviceaccess](https://bitbucket.org/tristero/mobiledeviceaccess)
and is available under public domain.

#### (C) Copyright 2012-2018, [Appcelerator](http://www.appcelerator.com/) Inc. All Rights Reserved.
8 changes: 3 additions & 5 deletions bin/publish.js
Original file line number Diff line number Diff line change
@@ -7,15 +7,13 @@ async function main() {
const githubToken = process.env.GH_TOKEN;
if (!githubToken) {
throw new Error('Publishing requires the environment variable GH_TOKEN to be set!');
}
}

const github = new Octokit({
auth: `token ${githubToken}`
});
const packageJSON = require('../package.json');
// TODO: Parse the owner/repo from packageJSON.repository.url
const owner = 'appcelerator';
const repo = 'node-ios-device';
const [ gitUrl, owner, repo ] = packageJSON.repository.url.match(/github\.com\/([^\/]+)\/(.+(?=.git)+)/);

const release = {
owner,
@@ -75,7 +73,7 @@ async function main() {
} = await github.repos.uploadReleaseAsset(upload);
console.log('Published file', downloadUrl);
updated.push(filePath);
} catch (err) {
} catch (err) {
if (err.errors && err.errors[0].code === 'already_exists') {
console.warn(`Did not publish ${filePath} as it already exists`);
} else {
3 changes: 3 additions & 0 deletions bin/run.js
Original file line number Diff line number Diff line change
@@ -7,6 +7,9 @@ if (process.platform !== 'darwin') {
}

const spawnSync = require('child_process').spawnSync;

spawnSync('patch-package', { stdio: 'inherit' });

const args = process.argv.slice(2);
const cmd = args.shift();

3 changes: 2 additions & 1 deletion binding.gyp
Original file line number Diff line number Diff line change
@@ -4,7 +4,8 @@
'v8_enable_pointer_compression': 'false',
'v8_enable_31bit_smis_on_64bit_arch': 'false',
'mobiledevice_framework_location': '/System/Library/PrivateFrameworks/MobileDevice.framework',
'new_mobiledevice_framework_location': '/Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework'
'new_mobiledevice_framework_location': '/Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework',
'openssl_fips' : ''
},
'conditions': [
['OS=="mac"', {
54 changes: 25 additions & 29 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,16 @@
{
"name": "node-ios-device",
"description": "Simple library for listing and installing apps on iOS devices",
"version": "1.9.3",
"author": {
"name": "Appcelerator, Inc.",
"email": "info@appcelerator.com"
},
"version": "1.12.1",
"author": "TiDev, Inc. <tisdk@cb1inc.com>",
"maintainers": [
{
"name": "Chris Barber",
"email": "cbarber@appcelerator.com"
}
"Chris Barber <chris@cb1inc.com>"
],
"repository": {
"type": "git",
"url": "git://github.com/appcelerator/node-ios-device.git"
"url": "git://github.com/tidev/node-ios-device.git"
},
"keywords": [
"appcelerator",
"ios",
"iphone",
"ipad",
@@ -27,20 +20,22 @@
"device",
"devices"
],
"license": "Apache-2.0",
"gypfile": true,
"main": "./ios-device",
"dependencies": {
"@mapbox/node-pre-gyp": "^1.0.6",
"debug": "^4.2.0",
"nan": "^2.15.0",
"node-pre-gyp-init": "^1.2.1"
"@mapbox/node-pre-gyp": "^1.0.10",
"debug": "^4.3.4",
"nan": "^2.20.0",
"node-pre-gyp-init": "^1.2.1",
"patch-package": "^6.5.1"
},
"devDependencies": {
"@octokit/rest": "^18.3.5"
"@octokit/rest": "^18.12.0"
},
"scripts": {
"install": "node ./bin/run.js node-pre-gyp install --fallback-to-build",
"build-n-publish-binding": "node ./bin/run.js node-pre-gyp rebuild package publish",
"prepare": "node ./bin/run.js node ./bin/build-all.js",
"package-all": "node ./bin/run.js node ./bin/build-all.js rebuild package",
"rebuild": "node ./bin/run.js node-pre-gyp rebuild",
"rebuild-debug": "node ./bin/run.js node-pre-gyp --debug rebuild",
"xcode": "node ./bin/run.js node-pre-gyp configure -- -f xcode",
@@ -50,22 +45,23 @@
"binary": {
"module_name": "node_ios_device",
"module_path": "./binding/{node_abi}-{platform}-{arch}/",
"remote_path": "./appcelerator/{name}/releases/download/v{version}",
"remote_path": "./tidev/{name}/releases/download/v{version}",
"host": "https://github.com",
"targets": {
"10.16.3": 64,
"10.24.1": 64,
"11.15.0": 67,
"12.11.0": 72,
"13.5.0": 79,
"14.13.1": 83,
"15.0.1": 88,
"16.0.0": 93,
"17.0.1": 102
"12.22.11": 72,
"13.14.0": 79,
"14.19.1": 83,
"15.14.0": 88,
"16.14.2": 93,
"17.7.2": 102,
"18.13.0": 108,
"19.4.0": 111,
"20.0.0": 115,
"22.0.0": 127
}
},
"license": "Apache-2.0",
"gypfile": true,
"main": "./ios-device",
"engines": {
"node": ">=10.13"
}
27 changes: 27 additions & 0 deletions patches/@mapbox+node-pre-gyp+1.0.10.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
diff --git a/node_modules/@mapbox/node-pre-gyp/lib/util/abi_crosswalk.json b/node_modules/@mapbox/node-pre-gyp/lib/util/abi_crosswalk.json
index 7f52972..da0dcf9 100644
--- a/node_modules/@mapbox/node-pre-gyp/lib/util/abi_crosswalk.json
+++ b/node_modules/@mapbox/node-pre-gyp/lib/util/abi_crosswalk.json
@@ -2598,5 +2598,21 @@
"17.1.0": {
"node_abi": 102,
"v8": "9.5"
+ },
+ "18.13.0":{
+ "node_abi": 108,
+ "v8": "10.2"
+ } ,
+ "19.4.0": {
+ "node_abi": 111,
+ "v8": "10.8"
+ },
+ "20.0.0": {
+ "node_abi": 115,
+ "v8": "11.3"
+ },
+ "22.0.0": {
+ "node_abi": 127,
+ "v8": "12.4"
}
}
\ No newline at end of file
656 changes: 367 additions & 289 deletions yarn.lock

Large diffs are not rendered by default.