Giter Site home page Giter Site logo

stevengregory / sn-typescript-util Goto Github PK

View Code? Open in Web Editor NEW
12.0 1.0 1.0 412 KB

A TypeScript utility for ServiceNow developers using VS Code

License: MIT License

Shell 4.71% JavaScript 77.72% TypeScript 17.58%
servicenow servicenow-development typescript

sn-typescript-util's Introduction

SN TypeScript Util

npm version

A TypeScript CLI utility that works on-top of the ServiceNow Extension for VS Code. This tool activates a TypeScript-based workflow for ServiceNow developers using VS Code.

Table of Contents

  1. Benefits
  2. Prerequisites
  3. Installation and Setup
  4. Basic Workflow
  5. Commands
  6. Project Structure
  7. License

Benefits

Using TypeScript, the CLI provides an enhanced developer workflow.

  • Work in modern JavaScript ES2015 (ES6) and beyond
  • Extend JavaScript by using types
  • Unlock code navigation and intelligent code completion
  • Catch bugs before syncing to the instance

Back to top

Prerequisites

Back to top

Installation and Setup

Install the npm package.

npm install -g sn-typescript-util

Build the TypeScript and configuration files. This only needs to be done once for an application.

snts --build

In the application directory created by the ServiceNow Extension for VS Code, the build creates a ts directory from the JavaScript files in the src directory. This is where all the TypeScript code resides and where the workflow begins.

Back to top

Basic Workflow

After installation & setup, simply run the TypeScript compiler --watch command to start looking for TypeScript code changes in the ts directory.

tsc --watch

Any JavaScript ES2015 (ES6) code added will get converted down to ES5 and moved to the src directory. Then changes are ready to sync with the target instance using the ServiceNow Extension for VS Code.

Back to top

Commands

Installing the CLI globally provides access to the snts command.

snts [command]

Build

Build project utility files and package dependencies. Creates a ts directory from the JavaScript files in the src directory.

snts --build

# or

snts -b

Compile

Compile TypeScript files in the ts directory to JavaScript ES5 and moves them to the src directory.

snts --compile

# or

snts -c

Help

Display help for the command.

snts --help

# or

snts -h

Remove

Remove & clean the ts build directory.

snts --remove

# or

snts -r

Sync

Sync new instance-based src files to the ts directory.

snts --sync

# or

snts -s

Version

Output the version number.

snts --version

# or

snts -v

Back to top

Project Structure

Inside of the application directory (after the build), the project structure will look something like this.

/
├── background scripts/
├── scratch/
├── src/
│   ├── Server Development/
│   │   └── Script Includes/
│   │       └── DataService.script.js
│   │       └── Utils.script.js
│   └── Service Portal/
│       └── Widgets/
│           └── Dashboard/
│               └── Dashboard.client_script.js
│               └── Dashboard.css.scss
│               └── Dashboard.demo_data.json
│               └── Dashboard.link.js
│               └── Dashboard.option_schema.json
│               └── Dashboard.script.js
│               └── Dashboard.template.html
├── system/
├── ts/
│   ├── Server Development/
│   │   └── Script Includes/
│   │       └── DataService.script.ts
│   │       └── Utils.script.ts
│   ├── Service Portal/
│   │   └── Widgets/
│   │       └── Dashboard/
│   │           └── Dashboard.client_script.ts
│   │           └── Dashboard.link.ts
│   │           └── Dashboard.script.ts
│   └── Types/
│       └── Table.ts
│       └── User.ts
├── .eslintrc
└── app.config.json

This example project has two script includes, a widget, and a Types directory for interfaces & types.

Back to top

License

MIT License

Back to top

sn-typescript-util's People

Contributors

dependabot[bot] avatar stevengregory avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

ddonnelly19

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.