open-weather-image
Advanced tools
Comparing version 1.3.0 to 1.3.4
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createWeatherImageTodayWithForecast = exports.createWeatherImageToday = void 0; | ||
const canvas_1 = require("canvas"); | ||
const canvas_1 = require("@napi-rs/canvas"); | ||
const promises_1 = require("fs/promises"); | ||
const helperFunctions_1 = require("./utils/helperFunctions"); | ||
@@ -35,8 +36,3 @@ const defaultTheme = { | ||
await drawCurrent(ctx, await weatherResponse, await forecastResponse); | ||
if (!bufferOutput) { | ||
return canvas.toDataURL(); | ||
} | ||
else { | ||
return canvas.toBuffer('image/png'); | ||
} | ||
return bufferOutput ? canvas.toBuffer('image/png') : canvas.toDataURL(); | ||
}; | ||
@@ -56,8 +52,3 @@ exports.createWeatherImageToday = createWeatherImageToday; | ||
await drawForecast(ctx, await forecastResponse); | ||
if (!bufferOutput) { | ||
return canvas.toDataURL(); | ||
} | ||
else { | ||
return canvas.toBuffer('image/png'); | ||
} | ||
return bufferOutput ? canvas.toBuffer('image/png') : canvas.toDataURL(); | ||
}; | ||
@@ -76,5 +67,7 @@ exports.createWeatherImageTodayWithForecast = createWeatherImageTodayWithForecast; | ||
let leftPos; | ||
const imgToday = dayTime | ||
? await (0, canvas_1.loadImage)((0, helperFunctions_1.icon)(iconToday)) | ||
: await (0, canvas_1.loadImage)((0, helperFunctions_1.icon)(iconToday.replace('d', 'n'))); | ||
const imgTodayFile = dayTime | ||
? await (0, promises_1.readFile)((0, helperFunctions_1.icon)(iconToday)) | ||
: await (0, promises_1.readFile)((0, helperFunctions_1.icon)(iconToday.replace('d', 'n'))); | ||
const imgToday = new canvas_1.Image(); | ||
imgToday.src = imgTodayFile; | ||
ctx.drawImage(imgToday, 383.333, 100, 100, 100); | ||
@@ -104,3 +97,5 @@ ctx.fillStyle = textColour; | ||
ctx.fillText((0, helperFunctions_1.capitaliseFirstLetter)(description), 48, 191); | ||
const imgCurrent = await (0, canvas_1.loadImage)((0, helperFunctions_1.icon)(iconCurrent)); | ||
const imgCurrentFile = await (0, promises_1.readFile)((0, helperFunctions_1.icon)(iconCurrent)); | ||
const imgCurrent = new canvas_1.Image(); | ||
imgCurrent.src = imgCurrentFile; | ||
ctx.drawImage(imgCurrent, leftPos, 174, 22, 22); | ||
@@ -139,6 +134,10 @@ ctx.beginPath(); | ||
} | ||
const imgSunrise = await (0, canvas_1.loadImage)((0, helperFunctions_1.icon)(dayTime ? 'sunrised' : 'sunrisen')); | ||
const imgSunriseFile = await (0, promises_1.readFile)((0, helperFunctions_1.icon)(dayTime ? 'sunrised' : 'sunrisen')); | ||
const imgSunrise = new canvas_1.Image(); | ||
imgSunrise.src = imgSunriseFile; | ||
const imgSunsetFile = await (0, promises_1.readFile)((0, helperFunctions_1.icon)(dayTime ? 'sunsetd' : 'sunsetn')); | ||
const imgSunset = new canvas_1.Image(); | ||
imgSunset.src = imgSunsetFile; | ||
ctx.drawImage(imgSunrise, nextLeftPos, 204, 44, 22); | ||
ctx.fillText(sunrise, nextLeftPos + 52, 221); | ||
const imgSunset = await (0, canvas_1.loadImage)((0, helperFunctions_1.icon)(dayTime ? 'sunsetd' : 'sunsetn')); | ||
ctx.drawImage(imgSunset, nextLeftPos, 234, 44, 22); | ||
@@ -180,3 +179,5 @@ ctx.fillText(sunset, nextLeftPos + 52, 251); | ||
topPos += 12; | ||
const imgForecast = await (0, canvas_1.loadImage)((0, helperFunctions_1.icon)(forecastIcon)); | ||
const imgForecastFile = await (0, promises_1.readFile)((0, helperFunctions_1.icon)(forecastIcon)); | ||
const imgForecast = new canvas_1.Image(); | ||
imgForecast.src = imgForecastFile; | ||
ctx.drawImage(imgForecast, centre - 20, topPos, 40, 40); | ||
@@ -183,0 +184,0 @@ ctx.font = (0, helperFunctions_1.font)(10); |
import { BaseOpenWeatherArgs, DaytimeAndColourArgs, DaytimeAndColours, TimeLocalised } from './types'; | ||
import { SKRSContext2D } from '@napi-rs/canvas'; | ||
export declare const icon: (iconCode: string) => string; | ||
@@ -14,4 +15,4 @@ export declare const uvIndexServeness: (uvIndex: number) => string; | ||
export declare const getDaytimeAndColours: (args: DaytimeAndColourArgs) => Promise<DaytimeAndColours>; | ||
export declare const applyText: (ctx: CanvasRenderingContext2D, text: string, areaWidth: number, fontSize: number) => string; | ||
export declare const applyText: (ctx: SKRSContext2D, text: string, areaWidth: number, fontSize: number) => string; | ||
export declare const roundTo2: (number: number) => number; | ||
export declare const rain: (rainVolume: number, imperial: boolean) => string; |
@@ -5,3 +5,3 @@ "use strict"; | ||
const axios_1 = require("axios"); | ||
const path = require("path"); | ||
const path_1 = require("path"); | ||
const getResponse = async (URL) => { | ||
@@ -14,3 +14,3 @@ return await axios_1.default | ||
const icon = (iconCode) => { | ||
return path.join(__dirname, `../svg/${iconCode}.svg`); | ||
return (0, path_1.join)(__dirname, `../png/${iconCode}.png`); | ||
}; | ||
@@ -17,0 +17,0 @@ exports.icon = icon; |
{ | ||
"name": "open-weather-image", | ||
"version": "1.3.0", | ||
"version": "1.3.4", | ||
"description": "A npm package to create images (base64 png) from the open weather API", | ||
@@ -19,2 +19,3 @@ "exports": "./dist/index.js", | ||
"canvas", | ||
"@napi-rs/canvas", | ||
"image", | ||
@@ -39,9 +40,11 @@ "openweatherapi", | ||
"devDependencies": { | ||
"@types/whatwg-url": "^8.2.1", | ||
"typescript": "^4.6.4" | ||
}, | ||
"dependencies": { | ||
"axios": "^0.27.2", | ||
"canvas": "^2.9.1" | ||
"@napi-rs/canvas": "^0.1.21", | ||
"axios": "^0.27.2" | ||
}, | ||
"optionalDependencies": { | ||
"@types/whatwg-url": "^8.2.1" | ||
} | ||
} |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
254306
1
410
4
1
+ Added@napi-rs/canvas@^0.1.21
+ Added@napi-rs/canvas@0.1.52(transitive)
+ Added@napi-rs/canvas-android-arm64@0.1.52(transitive)
+ Added@napi-rs/canvas-darwin-arm64@0.1.52(transitive)
+ Added@napi-rs/canvas-darwin-x64@0.1.52(transitive)
+ Added@napi-rs/canvas-linux-arm-gnueabihf@0.1.52(transitive)
+ Added@napi-rs/canvas-linux-arm64-gnu@0.1.52(transitive)
+ Added@napi-rs/canvas-linux-arm64-musl@0.1.52(transitive)
+ Added@napi-rs/canvas-linux-x64-gnu@0.1.52(transitive)
+ Added@napi-rs/canvas-linux-x64-musl@0.1.52(transitive)
+ Added@napi-rs/canvas-win32-x64-msvc@0.1.52(transitive)
+ Added@types/node@20.12.12(transitive)
+ Added@types/webidl-conversions@7.0.3(transitive)
+ Added@types/whatwg-url@8.2.2(transitive)
+ Addedundici-types@5.26.5(transitive)
- Removedcanvas@^2.9.1
- Removed@mapbox/node-pre-gyp@1.0.11(transitive)
- Removedabbrev@1.1.1(transitive)
- Removedagent-base@6.0.2(transitive)
- Removedansi-regex@5.0.1(transitive)
- Removedaproba@2.0.0(transitive)
- Removedare-we-there-yet@2.0.0(transitive)
- Removedbalanced-match@1.0.2(transitive)
- Removedbrace-expansion@1.1.11(transitive)
- Removedcanvas@2.11.2(transitive)
- Removedchownr@2.0.0(transitive)
- Removedcolor-support@1.1.3(transitive)
- Removedconcat-map@0.0.1(transitive)
- Removedconsole-control-strings@1.1.0(transitive)
- Removeddebug@4.3.4(transitive)
- Removeddecompress-response@4.2.1(transitive)
- Removeddelegates@1.0.0(transitive)
- Removeddetect-libc@2.0.3(transitive)
- Removedemoji-regex@8.0.0(transitive)
- Removedfs-minipass@2.1.0(transitive)
- Removedfs.realpath@1.0.0(transitive)
- Removedgauge@3.0.2(transitive)
- Removedglob@7.2.3(transitive)
- Removedhas-unicode@2.0.1(transitive)
- Removedhttps-proxy-agent@5.0.1(transitive)
- Removedinflight@1.0.6(transitive)
- Removedinherits@2.0.4(transitive)
- Removedis-fullwidth-code-point@3.0.0(transitive)
- Removedmake-dir@3.1.0(transitive)
- Removedmimic-response@2.1.0(transitive)
- Removedminimatch@3.1.2(transitive)
- Removedminipass@3.3.65.0.0(transitive)
- Removedminizlib@2.1.2(transitive)
- Removedmkdirp@1.0.4(transitive)
- Removedms@2.1.2(transitive)
- Removednan@2.19.0(transitive)
- Removednode-fetch@2.7.0(transitive)
- Removednopt@5.0.0(transitive)
- Removednpmlog@5.0.1(transitive)
- Removedobject-assign@4.1.1(transitive)
- Removedonce@1.4.0(transitive)
- Removedpath-is-absolute@1.0.1(transitive)
- Removedreadable-stream@3.6.2(transitive)
- Removedrimraf@3.0.2(transitive)
- Removedsafe-buffer@5.2.1(transitive)
- Removedsemver@6.3.17.6.2(transitive)
- Removedset-blocking@2.0.0(transitive)
- Removedsignal-exit@3.0.7(transitive)
- Removedsimple-concat@1.0.1(transitive)
- Removedsimple-get@3.1.1(transitive)
- Removedstring-width@4.2.3(transitive)
- Removedstring_decoder@1.3.0(transitive)
- Removedstrip-ansi@6.0.1(transitive)
- Removedtar@6.2.1(transitive)
- Removedtr46@0.0.3(transitive)
- Removedutil-deprecate@1.0.2(transitive)
- Removedwebidl-conversions@3.0.1(transitive)
- Removedwhatwg-url@5.0.0(transitive)
- Removedwide-align@1.1.5(transitive)
- Removedwrappy@1.0.2(transitive)
- Removedyallist@4.0.0(transitive)