From fcc2bc2759d967c4f805470beb144bb99aff175e Mon Sep 17 00:00:00 2001 From: Philipp Kunz Date: Thu, 22 Dec 2022 17:21:43 +0100 Subject: [PATCH] fix(core): update --- package.json | 5 ++++- pnpm-lock.yaml | 15 +++++++++++++-- test/{test.browser.ts => test.both.ts} | 0 ts/00_commitinfo_data.ts | 2 +- ts/index.ts | 12 ++++++++++-- ts/webjwt.plugins.ts | 7 +++++-- 6 files changed, 33 insertions(+), 8 deletions(-) rename test/{test.browser.ts => test.both.ts} (100%) diff --git a/package.json b/package.json index c310725..1ab3f77 100644 --- a/package.json +++ b/package.json @@ -17,11 +17,14 @@ "@gitzone/tsbuild": "^2.1.25", "@gitzone/tsbundle": "^2.0.5", "@gitzone/tsdoc": "^1.1.10", + "@gitzone/tsrun": "^1.2.39", "@gitzone/tstest": "^1.0.44", "@pushrocks/tapbundle": "^5.0.3", "@types/node": "^17.0.41" }, - "dependencies": {}, + "dependencies": { + "@pushrocks/smartenv": "^5.0.3" + }, "browserslist": [ "last 1 chrome versions" ], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b95a220..6ded892 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,14 +4,20 @@ specifiers: '@gitzone/tsbuild': ^2.1.25 '@gitzone/tsbundle': ^2.0.5 '@gitzone/tsdoc': ^1.1.10 + '@gitzone/tsrun': ^1.2.39 '@gitzone/tstest': ^1.0.44 + '@pushrocks/smartenv': ^5.0.3 '@pushrocks/tapbundle': ^5.0.3 '@types/node': ^17.0.41 +dependencies: + '@pushrocks/smartenv': 5.0.3 + devDependencies: '@gitzone/tsbuild': 2.1.65 '@gitzone/tsbundle': 2.0.7 '@gitzone/tsdoc': 1.1.12 + '@gitzone/tsrun': 1.2.39_@types+node@17.0.45 '@gitzone/tstest': 1.0.74_@types+node@17.0.45 '@pushrocks/tapbundle': 5.0.4 '@types/node': 17.0.45 @@ -412,7 +418,6 @@ packages: resolution: {integrity: sha512-/cgEDhOIo9LB5Vd2BVO9+QrjC38w872iy7w88UWuwz7obVILWOHl3MYMHAKFqXexuwKpQ/y/Klu2xQHtOPgi6Q==} dependencies: '@pushrocks/smartpromise': 3.1.7 - dev: true /@pushrocks/smarterror/2.0.1: resolution: {integrity: sha512-3OrF5me+/sy5VgwR/tfCqs7qhb0Ywzgn8tTThRUZnCGas0aindISzMiW7cIro3RlFykmtPmdTztC9Ostu2ioeA==} @@ -643,7 +648,6 @@ packages: /@pushrocks/smartpromise/3.1.7: resolution: {integrity: sha512-2gLQCeviEJwZ+cHHtK2Ks98brZatGC6dPXKIs1tVgJsiNgRFjnp90fESuJ1Pmoe7RrS+7J3mO4NtsFHAJJ/y5w==} - dev: true /@pushrocks/smartpuppeteer/2.0.2: resolution: {integrity: sha512-l3tqnD6Evseofq1avHsMy2FXXEmCd4Z+nm3xmMWS7nWvP9qTbJIn0XguOBaUIAhR8zE53UKPXs5/qBqXVNZDDQ==} @@ -1328,6 +1332,11 @@ packages: - utf-8-validate dev: true + /@xmldom/xmldom/0.8.6: + resolution: {integrity: sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg==} + engines: {node: '>=10.0.0'} + dev: true + /accepts/1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -3453,6 +3462,8 @@ packages: resolution: {integrity: sha512-mXF9AIgnvq1DP/ZM2R28tAfxP2wKZHYa2DjV0R1KCwcqSzm5Iqh1XQq9rdfAt6dp2DuPP0VHZIaCALc2v1cL5A==} engines: {node: '>=14.18.0', npm: '>=6.14.15'} hasBin: true + dependencies: + '@xmldom/xmldom': 0.8.6 dev: true bundledDependencies: - '@xmldom/xmldom' diff --git a/test/test.browser.ts b/test/test.both.ts similarity index 100% rename from test/test.browser.ts rename to test/test.both.ts diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index bc81433..695b291 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@pushrocks/webjwt', - version: '1.0.2', + version: '1.0.3', description: 'a package to handle jwt in the web' } diff --git a/ts/index.ts b/ts/index.ts index d15bee2..fe5107f 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -1,8 +1,16 @@ import * as plugins from './webjwt.plugins.js'; export const getDataFromJwtString = (jwtString: string): T => { + const smartenvInstance = new plugins.smartenv.Smartenv(); const splitted = jwtString.split('.'); const dataBase64 = splitted[1]; - // @ts-ignore - return JSON.parse(atob(dataBase64)); + let plainJsonString: string; + if (smartenvInstance.isBrowser) { + // @ts-ignore + plainJsonString = atob(dataBase64); + } else if (smartenvInstance.isNode) { + let buff = new Buffer(dataBase64, 'base64'); + plainJsonString = buff.toString('ascii'); + } + return JSON.parse(plainJsonString); } \ No newline at end of file diff --git a/ts/webjwt.plugins.ts b/ts/webjwt.plugins.ts index 29aa9da..7c3bee3 100644 --- a/ts/webjwt.plugins.ts +++ b/ts/webjwt.plugins.ts @@ -1,2 +1,5 @@ -const removeme = {}; -export { removeme }; +import * as smartenv from '@pushrocks/smartenv'; + +export { + smartenv +} \ No newline at end of file