New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

linky

Package Overview
Dependencies
Maintainers
0
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

linky - npm Package Compare versions

Comparing version 2.0.2 to 2.1.0

dist/bin/pkg.d.ts

17

dist/bin/auth.js
import { Session } from '../lib/index.js';
import * as store from './store.js';
import chalk from 'chalk';
import ora from 'ora';
export function auth(token) {
if (!token) {
console.error(chalk.yellow("L'authentification nécessite un token:\n") +
chalk.cyan(' --token ou -t\n') +
chalk.green('Pour en obtenir un, rendez-vous sur https://conso.boris.sh'));
ora().fail("L'authentification nécessite un token");
ora().info('Pour en obtenir un, rendez-vous sur https://conso.boris.sh');
throw new Error();

@@ -15,7 +14,9 @@ }

catch (e) {
console.error(chalk.yellow(e.message));
if (e.message) {
ora().fail(e.message);
}
throw new Error();
}
store.saveToken(token);
console.info(chalk.green('Votre token a été sauvegardé avec succès'));
ora().succeed('Token sauvegardé avec succès');
}

@@ -25,5 +26,7 @@ export function getSession({ token, prm }) {

if (!token) {
throw new Error("Vous n'avez aucun token enregistré.\nLancez 'linky auth' pour vous connecter ou renseignez le paramètre --token");
ora().fail("Vous n'avez aucun token enregistré");
ora().info("Lancez 'linky auth' pour vous connecter ou renseignez le paramètre --token");
throw new Error();
}
return new Session(token, prm);
}

@@ -5,10 +5,11 @@ import meow from 'meow';

import chalk from 'chalk';
import ora from 'ora';
import updateNotifier from 'update-notifier';
import dayjs from 'dayjs';
import pkg from '../package.json' assert { type: 'json' };
import { pkg } from './pkg.js';
function exit(e) {
if (e.message) {
console.error(chalk.yellow(e.message));
ora().fail(e.message);
}
process.exit(1);
process.exitCode = 1;
}

@@ -28,3 +29,3 @@ const mainHelp = `

linky auth:
--token -t Token
--token -t Token récupéré sur https://conso.boris.sh

@@ -31,0 +32,0 @@ linky (daily|loadcurve|maxpower|dailyprod|loadcurveprod):

@@ -8,3 +8,3 @@ import { getSession } from './auth.js';

import { Session } from '../lib/index.js';
import pkg from '../package.json' assert { type: 'json' };
import { pkg } from './pkg.js';
export class MeteringHandler {

@@ -35,20 +35,20 @@ constructor(flags) {

.then(async (response) => {
spinner.succeed();
const rendered = render(this.flags.format, !this.flags.output, response);
if (this.flags.output) {
try {
await mkdirp(path.dirname(this.flags.output));
const chalkLevel = chalk.level;
chalk.level = 0;
fs.writeFileSync(this.flags.output, render(this.flags.format, response));
chalk.level = chalkLevel;
fs.writeFileSync(this.flags.output, rendered);
}
catch (e) {
throw new Error(`Impossible d'écrire dans ${this.flags.output}:\n${e.message}`);
ora().fail(`Impossible d'écrire dans ${this.flags.output}`);
if (e.message) {
ora().fail('Erreur : ' + e.message);
}
throw new Error();
}
}
spinner.succeed();
if (this.flags.output) {
ora({ isSilent: this.flags.quiet }).succeed(`Résultats sauvegardés dans ${this.flags.output}`);
}
if (!this.flags.output) {
console.info('\n' + render(this.flags.format, response));
else {
console.info('\n' + rendered);
}

@@ -58,8 +58,10 @@ })

spinner.stop();
ora(e.message).fail();
if (e.message) {
ora().fail(e.message);
}
if (e.code) {
ora('Code: ' + e.code).fail();
ora().fail('Code : ' + e.code);
}
if (e.response) {
ora('Réponse: ' + JSON.stringify(e.response, null, 4)).fail();
ora().fail('Réponse : ' + JSON.stringify(e.response, null, 4));
}

@@ -70,3 +72,3 @@ throw new Error();

}
function render(format, response) {
function render(format, color, response) {
switch (format) {

@@ -82,3 +84,7 @@ case 'json':

const chartLength = 30;
return (
const chalkLevel = chalk.level;
if (!color) {
chalk.level = 0;
}
const result =
// Headers

@@ -98,8 +104,11 @@ [

chalk.cyan('■'.repeat(maxValue && line.value ? Math.ceil((chartLength * +line.value) / maxValue) : 0)))
.join('\n'));
.join('\n');
chalk.level = chalkLevel;
return result;
}
default:
ora(`Le format "${format}" est invalide. Formats acceptés: "pretty", "json", "csv".`).fail();
return '';
ora().fail(`Le format "${format}" est invalide`);
ora().info(`Formats acceptés: "pretty", "json", "csv"`);
throw new Error();
}
}
import Conf from 'conf';
import pkg from '../package.json' assert { type: 'json' };
import { pkg } from './pkg.js';
const TOKEN = 'token';

@@ -4,0 +4,0 @@ const store = new Conf({

{
"name": "linky",
"description": "Easily retrieve your Linky power consumption",
"version": "2.0.2",
"version": "2.1.0",
"author": "bokub",

@@ -20,4 +20,4 @@ "license": "GPL-3.0-or-later",

"scripts": {
"test": "NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest",
"test:coverage": "c8 npm run test && c8 report --reporter=text-lcov > coverage.lcov",
"test": "vitest run",
"coverage": "vitest run --coverage",
"generate-fixtures": "RECORDING=1 node --experimental-vm-modules --loader=ts-node/esm test/fixtures/generate.ts",

@@ -44,3 +44,2 @@ "prepare": "husky install",

"@bokub/prettier-config": "^2.1.0",
"@types/jest": "^29.5.1",
"@types/jsonwebtoken": "^9.0.2",

@@ -51,3 +50,3 @@ "@types/qs": "^6.9.7",

"@typescript-eslint/parser": "^5.59.2",
"c8": "^7.13.0",
"@vitest/coverage-v8": "^2.1.0",
"dotenv": "^16.0.3",

@@ -59,9 +58,8 @@ "eslint": "^7.32.0",

"husky": "^8.0.3",
"jest": "^29.5.0",
"lint-staged": "^13.2.2",
"nock": "^13.3.1",
"prettier": "^2.8.8",
"ts-jest": "^29.1.0",
"ts-node": "^10.9.1",
"typescript": "^5.0.4"
"typescript": "^5.0.4",
"vitest": "^2.1.0"
},

@@ -68,0 +66,0 @@ "repository": "https://github.com/bokub/linky",

# Linky
[![Version](https://runkit.io/bokub/npm-version/branches/master/linky?style=flat)](https://www.npmjs.com/package/linky)
[![Version](https://gradgen.bokub.workers.dev/npm/v/linky?gradient=b65cff,11cbfa&style=flat&label=version)](https://www.npmjs.com/package/linky)
[![Build Status](https://flat.badgen.net/github/checks/bokub/linky?label=tests)](https://github.com/bokub/linky/actions/workflows/run.yml?query=branch%3Amaster)
[![Codecov](https://flat.badgen.net/codecov/c/github/bokub/linky/master)](https://codecov.io/gh/bokub/linky)
[![Codecov](https://img.shields.io/codecov/c/github/bokub/linky?style=flat-square)](https://codecov.io/gh/bokub/linky)
[![Downloads](https://flat.badgen.net/npm/dy/linky?color=FF9800)](https://www.npmjs.com/package/linky)
[![Node version](https://flat.badgen.net/badge/Node.js/>=%2016/blue)](https://github.com/bokub/prettier-config)
[![Code style](https://flat.badgen.net/badge/code%20style/prettier/ff69b4)](https://github.com/bokub/prettier-config)

@@ -12,9 +13,7 @@

<p align="center">
<img src="https://user-images.githubusercontent.com/17952318/93326183-b5ba2400-f818-11ea-85cf-c278a1e32b58.gif" alt="Screenshot">
<img src="https://github.com/bokub/linky/assets/17952318/15aa5983-6c56-4ef0-b2e2-c663bf7f7087" alt="Linky CLI">
</p>
### Attention : Cette documentation est valable uniquement pour la version 2 du module. La documentation pour la version 1 est toujours disponible sur la [branche v1](https://github.com/bokub/linky/tree/v1#readme)
Ce module vous permet de récupérer votre consommation et production électrique Linky via le service [Conso API](https://conso.boris.sh/)
Ce module vous permet de récupérer votre consommation et production électrique Linky via les API _"Token V3"_ et _"Metering Data V5"_ d'Enedis
Il peut s'utiliser de 2 façons :

@@ -31,4 +30,8 @@

1. Installez [Node.js](https://nodejs.org/en/download) sur votre machine
2. Installez `linky` avec npm:
1. Installez [Node.js](https://nodejs.org/fr/download) sur votre machine. La version minimale supportée est Node 16.
- [Instructions Debian, Ubuntu & Mint](https://github.com/nodesource/distributions#installation-instructions)
- [Installateur Windows](https://nodejs.org/dist/v18.16.0/node-v18.16.0-x86.msi)
- [Installateur MacOS](https://nodejs.org/dist/v18.16.0/node-v18.16.0.pkg)
2. Ouvrez un terminal
3. Installez `linky` avec `npm`:

@@ -43,3 +46,3 @@ ```bash

Avant toute chose, il faudra vous connecter à votre espace client Enedis et leur donner l'autorisation de partager vos données avec une application extérieure.
Avant toute chose, il faudra vous connecter à votre espace client Enedis et leur donner l'autorisation de partager vos données avec une application extérieure

@@ -56,3 +59,3 @@ Rendez-vous sur [conso.boris.sh](https://conso.boris.sh) pour donner votre accord et récupérer un token

Une fois votre token sauvegardé, vous pourrez récupérer votre consommation quotidienne, votre courbe de charge (consommation par demi-heure), et votre consommation maximale par jour.
Une fois votre token sauvegardé, vous pourrez récupérer votre consommation quotidienne, votre courbe de charge (consommation par demi-heure), et votre consommation maximale par jour

@@ -70,3 +73,3 @@ ```bash

Si vous produisez de l'électricité, vous pouvez également récupérer votre production quotidienne et votre courbe de charge (production par demi-heure).
Si vous produisez de l'électricité, vous pouvez également récupérer votre production quotidienne et votre courbe de charge (production par demi-heure)

@@ -83,3 +86,3 @@ ```bash

En l'absence des paramètres `--start` et `--end`, vous récupérez la consommation / production / puissance de la veille.
En l'absence des paramètres `--start` et `--end`, vous récupérez la consommation / production / puissance de la veille

@@ -86,0 +89,0 @@ ```bash

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc