From fbe3cebf128df1899575963dce1f0d318f8559a8 Mon Sep 17 00:00:00 2001 From: Andres G Date: Sun, 30 May 2021 10:08:46 +0200 Subject: [PATCH] drop unnecesary dependecy fix typo --- README.md | 2 +- package-lock.json | 33 ++----------------- package.json | 4 +-- .../providers/voice-notes.provider.spec.ts | 8 ++--- .../src/providers/voice-notes.provider.ts | 2 +- projects/main/src/utils/file.utils.ts | 26 ++------------- 6 files changed, 13 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index aea79f7..a46bd9d 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ The project was created with the angular cli and it's based on electron. ## Run -Run `npm run buld:start:electron` to run a dev build of the application. +Run `npm run build:start:electron` to run a dev build of the application. ## Build diff --git a/package-lock.json b/package-lock.json index 2b34b4f..13fd6c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8658,7 +8658,9 @@ "nan": { "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": true }, "nanoid": { "version": "3.1.23", @@ -9378,35 +9380,6 @@ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, - "ogg": { - "version": "git://github.com/agh92/node-ogg.git#461a15ce3dc174b77630aa7e6558db3a7ca70161", - "from": "git://github.com/agh92/node-ogg.git#develop", - "requires": { - "bindings": "~1.2.0", - "debug": "2", - "nan": "2" - }, - "dependencies": { - "bindings": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", - "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", diff --git a/package.json b/package.json index 78e6038..2801c61 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,7 @@ "release:electron": "npm run clean:release && npm run build:electron && npm run pack:electron", "pack:electron": "cp -r ./node_modules ./dist && cd dist && electron-packager . ogg-explorer --out ./../release", "clean:dist": "rm -f -r ./dist", - "clean:release": "rm -f -r ./release", - "install:ogg": "npm i git://github.com/agh92/node-ogg.git#develop && electron-rebuild" + "clean:release": "rm -f -r ./release" }, "private": true, "dependencies": { @@ -30,7 +29,6 @@ "@angular/platform-browser-dynamic": "~12.0.0", "@angular/router": "~12.0.0", "electron-default-menu": "^1.0.2", - "ogg": "git://github.com/agh92/node-ogg.git#develop", "rxjs": "^6.6.7", "sound-play": "^1.1.0", "tslib": "^2.1.0", diff --git a/projects/main/src/providers/voice-notes.provider.spec.ts b/projects/main/src/providers/voice-notes.provider.spec.ts index 0304d68..4c39964 100644 --- a/projects/main/src/providers/voice-notes.provider.spec.ts +++ b/projects/main/src/providers/voice-notes.provider.spec.ts @@ -13,20 +13,20 @@ describe('VoiceNotesProvider', () => { let voiceNotesProvider: VoiceNotesProvider; let mockReadContetnsOfDir: SinonStub; - let mockCountOggPackets: SinonStub; + let mockGetSizeInBytes: SinonStub; let mockFiles: string[]; beforeEach(() => { voiceNotesProvider = new VoiceNotesProvider(); mockReadContetnsOfDir = ImportMock.mockFunction(fileUtils, 'readContentsOfDir'); - mockCountOggPackets = ImportMock.mockFunction(fileUtils, 'countOggPackets'); - mockCountOggPackets.resolves(0); + mockGetSizeInBytes = ImportMock.mockFunction(fileUtils, 'getSizeInBytes'); + mockGetSizeInBytes.returns(0); }); afterEach(() => { mockFiles = []; mockReadContetnsOfDir.restore(); - mockCountOggPackets.restore(); + mockGetSizeInBytes.restore(); }); describe('getVoiceNotes', () => { diff --git a/projects/main/src/providers/voice-notes.provider.ts b/projects/main/src/providers/voice-notes.provider.ts index 22713cb..8a71937 100644 --- a/projects/main/src/providers/voice-notes.provider.ts +++ b/projects/main/src/providers/voice-notes.provider.ts @@ -15,7 +15,7 @@ export class VoiceNotesProvider { location, type: 'audio/ogg', name: file, - length: await fileUtils.countOggPackets(location) + length: fileUtils.getSizeInBytes(location) } as VoiceNote }); return Promise.all(returnValue); diff --git a/projects/main/src/utils/file.utils.ts b/projects/main/src/utils/file.utils.ts index dd62696..6c5e021 100644 --- a/projects/main/src/utils/file.utils.ts +++ b/projects/main/src/utils/file.utils.ts @@ -1,30 +1,10 @@ -import { Readable, Writable } from "stream"; import fs from 'fs'; -const ogg = require('ogg'); const sound = require("sound-play"); -export function countOggPackets(file: string): Promise { - const decoder: Writable = new ogg.Decoder(); - const readStream: Readable = fs.createReadStream(file); - - let numberOfPackets = 0; - - decoder.on('stream', (stream: Readable) => { - stream.on('data', () => numberOfPackets++); - }); - - return new Promise(resolve => { - decoder.on('finish', () => { - console.log(`finish ${file}`); - readStream.unpipe(decoder); - decoder.end(); - resolve(numberOfPackets); - }); - - // pipe the ogg file to the Decoder - readStream.pipe(decoder); - }); +export function getSizeInBytes(file: string): number { + const stats = fs.statSync(file) + return stats.size; } export async function playAudioFile(file: string) {