Skip to content

Google Analytics and Telerik Analytics monitoring of the extension #54

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

Merged
merged 6 commits into from
Jun 30, 2016
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
79 changes: 79 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{
"version": "0.1.0",
"configurations": [
{
"name": "launch as server",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/out/debug-adapter/webKitDebug.js",
"runtimeArgs": ["--nolazy"],
"args": [ "--server=4712" ],
"stopOnEntry": false,
"sourceMaps": true,
"outDir": "${workspaceRoot}/out",
"cwd": "${workspaceRoot}"
},
{
"name": "launch in extension host",
"type": "extensionHost",
"request": "launch",
// Path to VSCode executable
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceRoot}"
],
"stopOnEntry": true,
"sourceMaps": true,
"outDir": "${workspaceRoot}/out",
"cwd": "${workspaceRoot}"
},
{
"name": "run tests on mac",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"runtimeArgs": [ "--nolazy" ],
"args": [
"--opts", "${workspaceRoot}/src/tests/config/mocha.opts",
"--config", "${workspaceRoot}/src/tests/config/mac.json",
"${workspaceRoot}/out/tests/"
],
"stopOnEntry": false,
"sourceMaps": true,
"outDir": "${workspaceRoot}/out",
"cwd": "${workspaceRoot}"
},
{
"name": "run tests on win",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"runtimeArgs": [ "--nolazy" ],
"args": [
"--opts", "${workspaceRoot}/src/tests/config/mocha.opts",
"--config", "${workspaceRoot}/src/tests/config/win.json",
"${workspaceRoot}/out/tests/"
],
"stopOnEntry": false,
"sourceMaps": true,
"outDir": "${workspaceRoot}/out",
"cwd": "${workspaceRoot}"
},
{
"name": "run tests (custom)",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"runtimeArgs": [ "--nolazy" ],
"args": [
"--opts", "${workspaceRoot}/src/tests/config/mocha.opts",
"--config", "${workspaceRoot}/src/tests/config/custom.json",
"${workspaceRoot}/out/tests/"
],
"stopOnEntry": false,
"sourceMaps": true,
"outDir": "${workspaceRoot}/out",
"cwd": "${workspaceRoot}"
}
]
}
15 changes: 15 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"editor.insertSpaces": true,
"files.trimTrailingWhitespace": true,
"files.exclude": {
".git": true,
"bin": true,
"node_modules": false
},
"search.exclude": {
".git": true,
"node_modules": true,
"bin": true,
"out": true
}
}
10 changes: 10 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"version": "0.1.0",
"windows": {
"command": ".\\node_modules\\.bin\\tsc"
},
"command": "./node_modules/.bin/tsc",
"isShellCommand": true,
"args": ["-p", "./src"],
"problemMatcher": "$tsc"
}
26 changes: 20 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,34 +25,48 @@
],
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
"node-ipc": "^7.0.0",
"source-map": "^0.5.3",
"vscode-debugprotocol": "^1.7.0",
"vscode-debugadapter": "^1.7.0"
"xmlhttprequest": "https://github.com/telerik/node-XMLHttpRequest/tarball/master",
"universal-analytics": "^0.3.11",
"vscode-debugadapter": "^1.7.0",
"vscode-debugprotocol": "^1.7.0"
},
"devDependencies": {
"mocha": "^2.4.5",
"tslint": "^3.5.0",
"typescript": "^1.8.2",
"typings": "^0.7.9",
"typings": "^1.0.4",
"vsce": "^1.0.0",
"vscode": "^0.11.x",
"vscode-debugadapter-testsupport": "^1.7.0"
},
"scripts": {
"postinstall": "node ./node_modules/vscode/bin/install && cd src && typings install",
"clean": "git clean -fdx",
"build": "tsc -p ./src",
"build": "tsc -p ./src && cp ./src/services/analytics/EqatecMonitor.min.js ./out/services/analytics/EqatecMonitor.min.js",
"package": "vsce package",
"launch-as-server": "node --nolazy ./out/webkit/webKitDebug.js --server=4712",
"test-mac": "mocha --opts ./src/tests/config/mocha.opts --config ../../src/tests/config/mac.json ./out/tests",
"test-win": "mocha --opts ./src/tests/config/mocha.opts --config ../../src/tests/config/win.json ./out/tests",
"test-custom": "mocha --opts ./src/tests/config/mocha.opts --config ../../src/tests/config/custom.json ./out/tests"
},
"main": "./out/nativescript/nsMain",
"main": "./out/main",
"activationEvents": [
"*"
],
"contributes": {
"configuration": {
"type": "object",
"title": "NativeScript Extension Configurations",
"properties": {
"nativescript.analytics.enabled": {
"type": "boolean",
"default": true,
"description": "Enables the extension tracking."
}
}
},
"commands": [
{
"command": "nativescript.runIos",
Expand Down Expand Up @@ -87,7 +101,7 @@
"typescript"
]
},
"program": "./out/webkit/webKitDebug.js",
"program": "./out/debug-adapter/webKitDebug.js",
"runtime": "node",
"initialConfigurations": [
{
Expand Down
4 changes: 2 additions & 2 deletions src/.vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"name": "launch as server",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/../out/webkit/webKitDebug.js",
"program": "${workspaceRoot}/../out/debug-adapter/webKitDebug.js",
"runtimeArgs": ["--nolazy"],
"args": [ "--server=4712" ],
"stopOnEntry": true,
Expand All @@ -20,7 +20,7 @@
// Path to VSCode executable
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceRoot}"
"--extensionDevelopmentPath=${workspaceRoot}/.."
],
"stopOnEntry": false,
"sourceMaps": true,
Expand Down
20 changes: 20 additions & 0 deletions src/common/Version.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
export class Version {
public static parse(versionStr: string): number[] {
if (versionStr === null) {
return null;
}
let version: number[] = versionStr.split('.').map<number>((str, index, array) => parseInt(str));
for(let i = version.length; i < 3; i++) {
version.push(0);
}
return version;
}

public static stringify(version: number[]): string {
return `${version[0]}.${version[1]}.${version[2]}`;
}

public static compareBySubminor(v1, v2): number {
return (v1[0] - v2[0] != 0) ? (v1[0] - v2[0]) : (v1[1] - v2[1] != 0) ? v1[1] - v2[1] : v1[2] - v2[2];
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
* Copyright (C) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------*/

import * as utils from '../webkit/utilities';
import * as utils from '../utilities';
import {DebugProtocol} from 'vscode-debugprotocol';
import {IDebugTransformer, IDebugAdapter} from '../webkit/WebKitAdapterInterfaces';
import {IDebugTransformer, IDebugAdapter} from '../WebKitAdapterInterfaces';

export type EventHandler = (event: DebugProtocol.Event) => void;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*--------------------------------------------------------*/

import {DebugProtocol} from 'vscode-debugprotocol';
import {IDebugTransformer, ISetBreakpointsResponseBody, IStackTraceResponseBody} from '../webkit/WebKitAdapterInterfaces';
import {IDebugTransformer, ISetBreakpointsResponseBody, IStackTraceResponseBody} from '../WebKitAdapterInterfaces';

/**
* Converts from 1 based lines on the client side to 0 based lines on the target side
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
* Copyright (C) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------*/

import * as utils from '../webkit/utilities';
import * as utils from '../utilities';
import {DebugProtocol} from 'vscode-debugprotocol';
import * as path from 'path';
import {ISetBreakpointsArgs, IDebugTransformer, ILaunchRequestArgs, IAttachRequestArgs, IStackTraceResponseBody} from '../webkit/WebKitAdapterInterfaces';
import {ISetBreakpointsArgs, IDebugTransformer, ILaunchRequestArgs, IAttachRequestArgs, IStackTraceResponseBody} from '../WebKitAdapterInterfaces';

interface IPendingBreakpoint {
resolve: () => void;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import * as Path from 'path';
import * as URL from 'url';

import * as utils from '../../webkit/utilities';
import * as utils from '../../utilities';

export function getPathRoot(p: string) {
if (p) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import * as path from 'path';
import * as fs from 'fs';
import {DebugProtocol} from 'vscode-debugprotocol';
import {ISourceMaps, SourceMaps} from './sourceMaps';
import {ISetBreakpointsArgs, IDebugTransformer, ILaunchRequestArgs, IAttachRequestArgs, ISetBreakpointsResponseBody, IStackTraceResponseBody} from '../../webkit/WebKitAdapterInterfaces';
import * as utils from '../../webkit/utilities';
import {ISetBreakpointsArgs, IDebugTransformer, ILaunchRequestArgs, IAttachRequestArgs, ISetBreakpointsResponseBody, IStackTraceResponseBody} from '../../WebKitAdapterInterfaces';
import * as utils from '../../utilities';

interface IPendingBreakpoint {
resolve: () => void;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import * as URL from 'url';
import * as FS from 'fs';
import {SourceMapConsumer} from 'source-map';
import * as PathUtils from './pathUtilities';
import * as utils from '../../webkit/utilities';
import {Logger} from '../../webkit/utilities';
import * as utils from '../../utilities';
import {Logger} from '../../utilities';


export interface MappingResult {
Expand Down
29 changes: 29 additions & 0 deletions src/debug-adapter/connection/INSDebugConnection.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
export interface INSDebugConnection {
on(eventName: string, handler: (msg: any) => void): void;

close(): void;

debugger_setBreakpointByUrl(url: string, lineNumber: number, columnNumber: number, condition?: string): Promise<WebKitProtocol.Debugger.SetBreakpointByUrlResponse>

debugger_removeBreakpoint(breakpointId: string): Promise<WebKitProtocol.Response>

debugger_stepOver(): Promise<WebKitProtocol.Response>;

debugger_stepIn(): Promise<WebKitProtocol.Response>;

debugger_stepOut(): Promise<WebKitProtocol.Response>;

debugger_resume(): Promise<WebKitProtocol.Response>;

debugger_pause(): Promise<WebKitProtocol.Response>;

debugger_evaluateOnCallFrame(callFrameId: string, expression: string, objectGroup?, returnByValue?: boolean): Promise<WebKitProtocol.Debugger.EvaluateOnCallFrameResponse>;

debugger_setPauseOnExceptions(state: string): Promise<WebKitProtocol.Response>;

debugger_getScriptSource(scriptId: WebKitProtocol.Debugger.ScriptId): Promise<WebKitProtocol.Debugger.GetScriptSourceResponse>;

runtime_getProperties(objectId: string, ownProperties: boolean, accessorPropertiesOnly: boolean): Promise<WebKitProtocol.Runtime.GetPropertiesResponse>;

runtime_evaluate(expression: string, objectGroup?: any, contextId?: number, returnByValue?: boolean): Promise<WebKitProtocol.Runtime.EvaluateResponse>;
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import * as http from 'http';
import {EventEmitter} from 'events';
import * as utils from '../../webkit/utilities';
import {Logger} from '../../webkit/utilities';
import * as utils from '../utilities';
import {Logger} from '../utilities';
import * as Net from 'net';
import * as ns from '../nativescript'
import * as ns from '../../services/NsCliService';
import { INSDebugConnection } from './INSDebugConnection';


interface IMessageWithId {
Expand Down Expand Up @@ -39,7 +40,6 @@ class Callbacks {

}


class ResReqNetSocket extends EventEmitter {
private _pendingRequests = new Map<number, any>();

Expand Down Expand Up @@ -213,7 +213,7 @@ class ResReqNetSocket extends EventEmitter {
}


export class AndroidDebugConnection implements ns.INSDebugConnection {
export class AndroidConnection implements INSDebugConnection {
private _nextId = 1;
//private _socket: ResReqWebSocket;
//private _socket: ResReqHttpSocket;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
import * as net from 'net';
import * as stream from 'stream';
import {EventEmitter} from 'events';
import * as utils from './utilities';
import {Logger} from './utilities';
import * as ns from '../nativescript/nativescript';
import {INSDebugConnection} from './INSDebugConnection';
import * as utils from '../utilities';
import {Logger} from '../utilities';
import * as ns from '../../services/NsCliService';

interface IMessageWithId {
id: number;
Expand Down Expand Up @@ -139,7 +140,7 @@ class ResReqTcpSocket extends EventEmitter {
/**
* Connects to a target supporting the webkit protocol and sends and receives messages
*/
export class WebKitConnection implements ns.INSDebugConnection {
export class IosConnection implements INSDebugConnection {
private _nextId = 1;
private _socket: ResReqTcpSocket;

Expand Down
File renamed without changes.
4 changes: 3 additions & 1 deletion src/webkit/utilities.ts → src/debug-adapter/utilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@
* Copyright (C) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------*/

// TODO: Some functions can be moved to common.

import * as http from 'http';
import * as os from 'os';
import * as fs from 'fs';
import * as url from 'url';
import * as path from 'path';
import {ILaunchRequestArgs, IAttachRequestArgs} from '../webkit/WebKitAdapterInterfaces';
import {ILaunchRequestArgs, IAttachRequestArgs} from './WebKitAdapterInterfaces';

const DEFAULT_CHROME_PATH = {
OSX: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
Expand Down
File renamed without changes.
Loading