diff --git a/demo/app/app.d.ts b/demo/app/app.d.ts new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/demo/app/app.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/demo/app/main-page.d.ts b/demo/app/main-page.d.ts new file mode 100644 index 0000000..3b03cf4 --- /dev/null +++ b/demo/app/main-page.d.ts @@ -0,0 +1,2 @@ +import * as observable from 'data/observable'; +export declare function pageLoaded(args: observable.EventData): void; diff --git a/demo/app/main-view-model.d.ts b/demo/app/main-view-model.d.ts new file mode 100644 index 0000000..c2a6868 --- /dev/null +++ b/demo/app/main-view-model.d.ts @@ -0,0 +1,5 @@ +import { Observable } from 'data/observable'; +export declare class HelloWorldModel extends Observable { + message: string; + constructor(); +} diff --git a/lib/postinstall.js b/lib/postinstall.js index 34c3c00..b5ed0e9 100644 --- a/lib/postinstall.js +++ b/lib/postinstall.js @@ -6,20 +6,20 @@ var appRoot = "../../"; * Create dev tools gradle runtime entry */ function writeFabricServiceGradleHook() { - console.log("Install Onesignal-build-gradle hook."); - try { - if (!fs.existsSync(path.join(appRoot, "hooks"))) { - fs.mkdirSync(path.join(appRoot, "hooks")); - } - if (!fs.existsSync(path.join(appRoot, "hooks", "after-prepare"))) { - fs.mkdirSync(path.join(appRoot, "hooks", "after-prepare")); - } - var scriptContent = - ` + console.log("Install Onesignal-build-gradle hook."); + try { + if (!fs.existsSync(path.join(appRoot, "hooks"))) { + fs.mkdirSync(path.join(appRoot, "hooks")); + } + if (!fs.existsSync(path.join(appRoot, "hooks", "after-prepare"))) { + fs.mkdirSync(path.join(appRoot, "hooks", "after-prepare")); + } + var scriptContent = + ` var path = require("path"); var fs = require("fs"); module.exports = function($logger, $projectData, hookArgs) { - var platform = hookArgs.platform.toLowerCase(); + var platform = (hookArgs.platform || (hookArgs.prepareData && hookArgs.prepareData.platform)).toLowerCase(); function updateAppGradleScript(file) { var appBuildGradleContent = fs.readFileSync(file).toString(); @@ -102,14 +102,14 @@ module.exports = function($logger, $projectData, hookArgs) { }; `; - console.log("Writing 'nativescript-onesignal-gradle.js' to " + appRoot + "hooks/after-prepare"); - var scriptPath = path.join(appRoot, "hooks", "after-prepare", "nativescript-onesignal-gradle.js"); - fs.writeFileSync(scriptPath, scriptContent); - } catch (e) { - console.log("Failed to install nativescript-onesignal-gradle hook."); - console.log(e); - throw e; - } + console.log("Writing 'nativescript-onesignal-gradle.js' to " + appRoot + "hooks/after-prepare"); + var scriptPath = path.join(appRoot, "hooks", "after-prepare", "nativescript-onesignal-gradle.js"); + fs.writeFileSync(scriptPath, scriptContent); + } catch (e) { + console.log("Failed to install nativescript-onesignal-gradle hook."); + console.log(e); + throw e; + } } -writeFabricServiceGradleHook(); +writeFabricServiceGradleHook(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..7612df9 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,128 @@ +{ + "name": "nativescript-onesignal", + "version": "1.0.8", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "nativescript-hook": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/nativescript-hook/-/nativescript-hook-0.2.5.tgz", + "integrity": "sha512-ciGJtNbtMB2lGv8jAkUripkRjd3g8atX9VYPSt6e8PI6YPiOKeoma3xjcXoW66pFMYpHnfrbp6Mq9U/QtiQrVg==", + "requires": { + "glob": "^6.0.1", + "mkdirp": "^0.5.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "tns-core-modules": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tns-core-modules/-/tns-core-modules-2.5.3.tgz", + "integrity": "sha1-Yu61SDVskdx0AjpClygxJkYSO4A=", + "dev": true, + "requires": { + "tns-core-modules-widgets": "2.5.0" + } + }, + "tns-core-modules-widgets": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tns-core-modules-widgets/-/tns-core-modules-widgets-2.5.0.tgz", + "integrity": "sha1-/4zKACzHoiLPC8Ic/Lk/KUMvJu8=", + "dev": true + }, + "tns-platform-declarations": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tns-platform-declarations/-/tns-platform-declarations-2.5.3.tgz", + "integrity": "sha1-YX6YdSB9x9u4DSPJ28ncfM7C79U=", + "dev": true + }, + "typescript": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-1.8.10.tgz", + "integrity": "sha1-tHXW4N/wv1DyluXKbvn7tccyDx4=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + } + } +} diff --git a/package.json b/package.json index 757da53..d317688 100755 --- a/package.json +++ b/package.json @@ -1,54 +1,54 @@ { - "name": "nativescript-onesignal", - "version": "1.0.8", - "description": "A Nativescript plugin for OneSignal's Push Notifications SDK", - "main": "onesignal", - "typings": "index.d.ts", - "nativescript": { - "platforms": { - "android": "2.2.0", - "ios": "2.2.1" - } - }, - "repository": { - "type": "git", - "url": "https://github.com/roblav96/nativescript-onesignal.git" - }, - "keywords": [ - "nativescript", - "onesignal", - "ecosystem:nativescript", - "nativescript-android", - "nativescript-ios" - ], - "author": { - "name": "Rob Laverty", - "email": "roblav96@gmail.com" - }, - "license": { - "type": "MIT", - "url": "https://github.com/roblav96/nativescript-onesignal/blob/master/LICENSE" - }, - "bugs": { - "url": "https://github.com/roblav96/nativescript-onesignal/issues" - }, - "homepage": "https://github.com/roblav96/nativescript-onesignal", - "readmeFilename": "README.md", - "scripts": { - "build": "tsc", - "demo.ios": "npm run preparedemo && cd demo && tns run ios", - "demo.android": "npm run preparedemo && cd demo && tns run android", - "preparedemo": "npm run build && cd demo && tns plugin remove nativescript-onesignal && tns plugin add .. && tns install", - "setup": "npm i && cd demo && npm i && cd .. && npm run build && cd demo && tns plugin add .. && cd ..", - "postinstall": "node postinstall-hooks.js && node lib/postinstall.js", - "preuninstall": "node preuninstall-hooks.js" - }, - "devDependencies": { - "tns-core-modules": "^2.2.0", - "tns-platform-declarations": "^2.2.0", - "typescript": "^1.8.10" - }, - "dependencies": { - "nativescript-hook": "^0.2.4" - } -} + "name": "nativescript-onesignal", + "version": "1.0.8", + "description": "A Nativescript plugin for OneSignal's Push Notifications SDK", + "main": "onesignal", + "typings": "index.d.ts", + "nativescript": { + "platforms": { + "android": "2.2.0", + "ios": "2.2.1" + } + }, + "repository": { + "type": "git", + "url": "https://github.com/roblav96/nativescript-onesignal.git" + }, + "keywords": [ + "nativescript", + "onesignal", + "ecosystem:nativescript", + "nativescript-android", + "nativescript-ios" + ], + "author": { + "name": "Rob Laverty", + "email": "roblav96@gmail.com" + }, + "license": { + "type": "MIT", + "url": "https://github.com/roblav96/nativescript-onesignal/blob/master/LICENSE" + }, + "bugs": { + "url": "https://github.com/roblav96/nativescript-onesignal/issues" + }, + "homepage": "https://github.com/roblav96/nativescript-onesignal", + "readmeFilename": "README.md", + "scripts": { + "build": "tsc", + "demo.ios": "npm run preparedemo && cd demo && tns run ios", + "demo.android": "npm run preparedemo && cd demo && tns run android", + "preparedemo": "npm run build && cd demo && tns plugin remove nativescript-onesignal && tns plugin add .. && tns install", + "setup": "npm i && cd demo && npm i && cd .. && npm run build && cd demo && tns plugin add .. && cd ..", + "postinstall": "node postinstall-hooks.js && node lib/postinstall.js", + "preuninstall": "node preuninstall-hooks.js" + }, + "devDependencies": { + "tns-core-modules": "^2.2.0", + "tns-platform-declarations": "^2.2.0", + "typescript": "^1.8.10" + }, + "dependencies": { + "nativescript-hook": "^0.2.4" + } +} \ No newline at end of file diff --git a/references.d.ts b/references.d.ts new file mode 100644 index 0000000..e43cd42 --- /dev/null +++ b/references.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// diff --git a/tsconfig.json b/tsconfig.json index 609ad9a..9262848 100755 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,19 +1,16 @@ { - "compilerOptions": { - "target": "es5", - "module": "commonjs", - "removeComments": true, - "experimentalDecorators": true, - "noEmitHelpers": true, - "noEmitOnError": false, - "declaration": true - }, - "files": [ - "node_modules/tns-core-modules/tns-core-modules.d.ts", - "node_modules/tns-platform-declarations/android.d.ts", - "node_modules/tns-platform-declarations/ios.d.ts", - "onesignal.android.ts", - "onesignal.ios.ts" - ], - "compileOnSave": false + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "removeComments": true, + "experimentalDecorators": true, + "noEmitHelpers": true, + "noEmitOnError": false, + "declaration": true, + "rootDir": ".", + "baseUrl": ".", + "lib": ["es6", "DOM"] + }, + "exclude": ["node_modules", "demo"], + "compileOnSave": false } \ No newline at end of file