GithubHelp home page GithubHelp logo

infosia / windowslib Goto Github PK

View Code? Open in Web Editor NEW

This project forked from appcelerator-archive/windowslib

0.0 0.0 0.0 686 KB

This is a library of utilities for dealing programmatically with Windows Phone applications, used namely for tools like Titanium.

Home Page: http://www.appcelerator.com

License: Other

JavaScript 99.81% C 0.19%

windowslib's Introduction

Windows Utility Library

A suite of Windows development-related functions.

Installation

npm install windowslib

API

OS

os.name

Retrieves the operating system name.

Returns a String.

import { os } from 'windowslib';

console.log(os.name);
Microsoft Windows 10 Home Single Language

os.version

Retrieves the operating system version.

Returns a String.

import { os } from 'windowslib';

console.log(os.version);
10.0.17763

Visual Studio

getVisualStudios(opts)

Argument Type Description Default
opts Object Various options.
opts.all Boolean When true, returns all Visual Studio installations regardless if they are "complete". false
opts.force Boolean When true, bypasses cache and forces redetection. false

Returns a Promise that resolves Array of windowslib.vs.VisualStudio objects.

import windowslib from 'windowslib';

const { getVisualStudios } = windowslib.vs;

console.log(await getVisualStudios());
[
  VisualStudio {
    complete: true,
    msbuild: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\MSBuild\\15.0\\Bin\\MSBuild.exe',
    name: 'Visual Studio Community 2017',
    path: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community',
    productId: 'Microsoft.VisualStudio.Product.Community',
    version: '15.9.28307.665',
    vsdevcmd: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\Common7\\Tools\\VsDevCmd.bat'
  },
  VisualStudio {
    complete: true,
    msbuild: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\MSBuild\\Current\\Bin\\MSBuild.exe',
    name: 'Visual Studio Community 2019',
    path: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community',
    productId: 'Microsoft.VisualStudio.Product.Community',
    version: '16.1.28917.181',
    vsdevcmd: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\Tools\\VsDevCmd.bat'
  }
]

Windows SDKs

Windows SDKs are installed by Visual Studio, but live outside Visual Studio. Furthermore, a Windows SDK can contain multiple revisions. This API allows you to scan a directory for Windows SDKs or a list of directories derived from values in the Windows Registry to scan for Windows SDKs.

detectSDKs(dir)

Detects Windows SDKs in a specific directory.

Argument Type Description
dir String A path to scan for Windows SDKs.

Returns an Array of windowslib.sdk.SDK objects.

import windowslib from 'windowslib';

const sdks = windowslib.sdk.detectSDKs('/path/to/windows/sdk');

console.log(sdks);
[
  SDK {
    majorVersion: 10,
    version: '10.0.17763.0',
    binDir: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0',
    includeDir: 'C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0',
    platformsDir: 'C:\\Program Files (x86)\\Windows Kits\\10\\Platforms\\UAP\\10.0.17763.0',
    executables: {
      makecert: {
        arm: null,
        arm64: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\arm64\\makecert.exe',
        x86: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\x86\\makecert.exe',
        x64: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\x64\\makecert.exe'
      },
      pvk2pfx: {
        arm: null,
        arm64: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\arm64\\pvk2pfx.exe',
        x86: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\x86\\pvk2pfx.exe',
        x64: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\x64\\pvk2pfx.exe'
      },
      WinAppDeployCmd: {
        arm: null,
        arm64: null,
        x86: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\x86\\WinAppDeployCmd.exe',
        x64: null
      }
    },
    name: 'Windows 10, version 1809',
    minVSVersion: '15.0.25909.02'
  }
]

getWindowsSDKs(force)

Gets Windows SDKs based on the default path in addition to paths derived from values in the Windows Registry.

Argument Type Description Default
force Boolean When true, bypasses cache and forces redetection. false

Returns a Promise that resolves an Array of windowslib.sdk.SDK objects.

import windowslib from 'windowslib';

const sdks = await windowslib.sdk.getWindowsSDKs();

console.log(sdks);
[
  SDK {
    majorVersion: 10,
    version: '10.0.17763.0',
    binDir: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0',
    includeDir: 'C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0',
    platformsDir: 'C:\\Program Files (x86)\\Windows Kits\\10\\Platforms\\UAP\\10.0.17763.0',
    executables: {
      makecert: {
        arm: null,
        arm64: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\arm64\\makecert.exe',
        x86: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\x86\\makecert.exe',
        x64: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\x64\\makecert.exe'
      },
      pvk2pfx: {
        arm: null,
        arm64: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\arm64\\pvk2pfx.exe',
        x86: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\x86\\pvk2pfx.exe',
        x64: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\x64\\pvk2pfx.exe'
      },
      WinAppDeployCmd: {
        arm: null,
        arm64: null,
        x86: 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.17763.0\\x86\\WinAppDeployCmd.exe',
        x64: null
      }
    },
    name: 'Windows 10, version 1809',
    minVSVersion: '15.0.25909.02'
  }
]

vswhere

vswhere is a tool developed by Microsoft for locating Visual Studio installations. It's distributed with Visual Studio 2017 15.2. windowslib exposes an API that attempts to locate vswhere. It is used by windowslib's Visual Studio API, but you can use it directly.

import windowslib from 'windowslib';

const vswhere = await windowslib.vswhere.getVSWhere();
console.log(vswhere);
VSWhere {
	exe: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\vswhere.exe'
}
const products = await vswhere.query();
[
  {
    instanceId: '07c9e7e5',
    installDate: '2019-04-25T20:47:12Z',
    installationName: 'VisualStudio/15.9.12+28307.665',
    installationPath: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community',
    installationVersion: '15.9.28307.665',
    productId: 'Microsoft.VisualStudio.Product.Community',
    productPath: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\Common7\\IDE\\devenv.exe',
    state: 4294967295,
    isComplete: true,
    isLaunchable: true,
    isPrerelease: false,
    isRebootRequired: false,
    displayName: 'Visual Studio Community 2017',
    description: 'Free, fully-featured IDE for students, open-source and individual developers',
    channelId: 'VisualStudio.15.Release',
    channelUri: 'https://aka.ms/vs/15/release/channel',
    enginePath: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\resources\\app\\ServiceHub\\Services\\Microsoft.VisualStudio.Setup.Service',
    releaseNotes: 'https://go.microsoft.com/fwlink/?LinkId=660692#15.9.12',
    thirdPartyNotices: 'https://go.microsoft.com/fwlink/?LinkId=660708',
    updateDate: '2019-05-23T18:27:39.6289144Z',
    catalog: {
      buildBranch: 'd15.9',
      buildVersion: '15.9.28307.665',
      id: 'VisualStudio/15.9.12+28307.665',
      localBuild: 'build-lab',
      manifestName: 'VisualStudio',
      manifestType: 'installer',
      productDisplayVersion: '15.9.12',
      productLine: 'Dev15',
      productLineVersion: '2017',
      productMilestone: 'RTW',
      productMilestoneIsPreRelease: 'False',
      productName: 'Visual Studio',
      productPatchVersion: '12',
      productPreReleaseMilestoneSuffix: '1.0',
      productRelease: 'RTW',
      productSemanticVersion: '15.9.12+28307.665',
      requiredEngineVersion: '1.18.1049.33485'
    },
    properties: {
      campaignId: '13132988.1488924318',
      channelManifestId: 'VisualStudio.15.Release/15.9.12+28307.665',
      nickname: '',
      setupEngineFilePath: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\vs_installershell.exe'
    }
  }
]

Certs

Not implemented yet.

License

This project is open source under the Apache Public License v2 and is developed by Axway, Inc and the community. Please read the LICENSE file included in this distribution for more information.

windowslib's People

Contributors

cb1kenobi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.