From e0a0f2656080f4a8232bd2fd387a93b1da1f0dfc Mon Sep 17 00:00:00 2001 From: cghislai Date: Mon, 18 Apr 2022 01:06:06 +0200 Subject: [PATCH] Migrate moment to luxon --- package-lock.json | 71 +++++++++++++++++++--------------------- package.json | 5 +-- src/app/app.component.ts | 6 ++-- 3 files changed, 40 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index ee5e884..b4c9254 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@angular/platform-browser-dynamic": "^13.3.3", "@angular/router": "^13.3.3", "core-js": "^2.6.12", - "moment-es6": "^1.0.0", + "luxon": "^2.3.2", "rxjs": "^6.6.7", "tslib": "^2.0.0", "zone.js": "~0.11.5" @@ -30,7 +30,8 @@ "@angular/language-service": "^13.3.3", "@types/jasmine": "~3.6.11", "@types/jasminewd2": "^2.0.10", - "@types/node": "^14.18.13", + "@types/luxon": "^2.3.1", + "@types/node": "^16.11.27", "codelyzer": "^6.0.2", "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~5.0.0", @@ -2905,6 +2906,12 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, + "node_modules/@types/luxon": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-2.3.1.tgz", + "integrity": "sha512-nAPUltOT28fal2eDZz8yyzNhBjHw1NEymFBP7Q9iCShqpflWPybxHbD7pw/46jQmT+HXOy1QN5hNTms8MOTlOQ==", + "dev": true + }, "node_modules/@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", @@ -2912,9 +2919,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "14.18.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.13.tgz", - "integrity": "sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA==", + "version": "16.11.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.27.tgz", + "integrity": "sha512-C1pD3kgLoZ56Uuy5lhfOxie4aZlA3UMGLX9rXteq4WitEZH6Rl80mwactt9QG0w0gLFlN/kLBTFnGXtDVWvWQw==", "dev": true }, "node_modules/@types/parse-json": { @@ -8470,6 +8477,14 @@ "node": ">=10" } }, + "node_modules/luxon": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-2.3.2.tgz", + "integrity": "sha512-MlAQQVMFhGk4WUA6gpfsy0QycnKP0+NlCBJRVRNPxxSIbjrCbQ65nrpJD3FVyJNZLuJ0uoqL57ye6BmDYgHaSw==", + "engines": { + "node": ">=12" + } + }, "node_modules/magic-string": { "version": "0.25.7", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", @@ -8849,22 +8864,6 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=", - "engines": { - "node": "*" - } - }, - "node_modules/moment-es6": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/moment-es6/-/moment-es6-1.0.0.tgz", - "integrity": "sha1-VS/PQF1iVlsKH+hObB5peseTMt8=", - "dependencies": { - "moment": "*" - } - }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -15755,6 +15754,12 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, + "@types/luxon": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-2.3.1.tgz", + "integrity": "sha512-nAPUltOT28fal2eDZz8yyzNhBjHw1NEymFBP7Q9iCShqpflWPybxHbD7pw/46jQmT+HXOy1QN5hNTms8MOTlOQ==", + "dev": true + }, "@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", @@ -15762,9 +15767,9 @@ "dev": true }, "@types/node": { - "version": "14.18.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.13.tgz", - "integrity": "sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA==", + "version": "16.11.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.27.tgz", + "integrity": "sha512-C1pD3kgLoZ56Uuy5lhfOxie4aZlA3UMGLX9rXteq4WitEZH6Rl80mwactt9QG0w0gLFlN/kLBTFnGXtDVWvWQw==", "dev": true }, "@types/parse-json": { @@ -19921,6 +19926,11 @@ "yallist": "^4.0.0" } }, + "luxon": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-2.3.2.tgz", + "integrity": "sha512-MlAQQVMFhGk4WUA6gpfsy0QycnKP0+NlCBJRVRNPxxSIbjrCbQ65nrpJD3FVyJNZLuJ0uoqL57ye6BmDYgHaSw==" + }, "magic-string": { "version": "0.25.7", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", @@ -20209,19 +20219,6 @@ "minimist": "^1.2.6" } }, - "moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" - }, - "moment-es6": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/moment-es6/-/moment-es6-1.0.0.tgz", - "integrity": "sha1-VS/PQF1iVlsKH+hObB5peseTMt8=", - "requires": { - "moment": "*" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", diff --git a/package.json b/package.json index 657fc01..85a97c0 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@angular/platform-browser-dynamic": "^13.3.3", "@angular/router": "^13.3.3", "core-js": "^2.6.12", - "moment-es6": "^1.0.0", + "luxon": "^2.3.2", "rxjs": "^6.6.7", "tslib": "^2.0.0", "zone.js": "~0.11.5" @@ -33,7 +33,8 @@ "@angular/language-service": "^13.3.3", "@types/jasmine": "~3.6.11", "@types/jasminewd2": "^2.0.10", - "@types/node": "^14.18.13", + "@types/node": "^16.11.27", + "@types/luxon": "^2.3.1", "codelyzer": "^6.0.2", "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~5.0.0", diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 7106617..ebf9f47 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -3,7 +3,7 @@ import {BuildInfoService} from './build-info.service'; import {Observable, of} from 'rxjs'; import {catchError, defaultIfEmpty, filter, map, publishReplay, refCount} from 'rxjs/operators'; import {BuildInfo} from './build-info'; -import moment from 'moment-es6'; +import {DateTime} from 'luxon'; @Component({ selector: 'app-root', @@ -36,7 +36,7 @@ export class AppComponent implements OnInit { } private parseDate(dateString: string) { - const dateMoment = dateString == null ? moment() : moment(dateString); - return dateMoment.format('DD/MM/YYYY HH:mm:ss'); + const parsedDateString = dateString == null ? undefined : DateTime.fromISO(dateString).toISODate(); + return parsedDateString; } }