From fdd5c76ed986825baed5918af2eb08b0841453b6 Mon Sep 17 00:00:00 2001 From: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com> Date: Sun, 8 Dec 2024 18:56:18 +0100 Subject: [PATCH 1/4] Upgrade ESLint to v9 + switch to flat config --- .eslintrc.json | 54 ------------------------------------------ eslint.config.js | 61 ++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 5 ++-- 3 files changed, 64 insertions(+), 56 deletions(-) delete mode 100644 .eslintrc.json create mode 100644 eslint.config.js diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 45c9cf2f..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "env": { - "es2021": true, - "node": true - }, - "extends": ["eslint:recommended", "plugin:@stylistic/all-extends"], - "ignorePatterns": ["node_modules", "*example.js"], - "parserOptions": { - "ecmaVersion": 2021, - "sourceType": "module" - }, - "rules": { - "curly": "error", - "no-implicit-coercion": "error", - "no-unused-vars": [ - "error", - { - "vars": "all", - "args": "none", - "ignoreRestSiblings": false - } - ], - "@stylistic/array-bracket-newline": ["error", "consistent"], - "@stylistic/array-element-newline": ["error", "consistent"], - "@stylistic/arrow-parens": "off", - "@stylistic/comma-dangle": ["error", "always-multiline"], - "@stylistic/dot-location": ["error", "property"], - "@stylistic/function-call-argument-newline": ["error", "consistent"], - "@stylistic/function-paren-newline": "off", - "@stylistic/indent": ["error", "tab"], - "@stylistic/indent-binary-ops": ["error", "tab"], - "@stylistic/max-len": "off", - "@stylistic/multiline-ternary": ["error", "always-multiline"], - "@stylistic/newline-per-chained-call": ["error", { "ignoreChainWithDepth": 1 }], - "@stylistic/no-mixed-operators": "off", - "@stylistic/no-tabs": "off", - "@stylistic/object-property-newline": "off", - "@stylistic/one-var-declaration-per-line": "off", - "@stylistic/operator-linebreak": ["error", "before"], - "@stylistic/padded-blocks": "off", - "@stylistic/quote-props": ["error", "consistent-as-needed"], - "@stylistic/quotes": ["error", "single"] - }, - "overrides": [ - { - "files": [ - "test/**" - ], - "rules": { - "no-unused-vars": "off" - } - } - ] -} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..275cd9fa --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,61 @@ +import eslintPluginJs from '@eslint/js'; +import eslintPluginStylistic from '@stylistic/eslint-plugin'; +import globals from 'globals'; + + +const config = [ + eslintPluginJs.configs.recommended, + eslintPluginStylistic.configs['all-flat'], + { + files: ['**/*.js'], + languageOptions: { + ecmaVersion: 'latest', + globals: { + ...globals.node, + }, + sourceType: 'module', + }, + rules: { + '@stylistic/array-bracket-newline': ['error', 'consistent'], + '@stylistic/array-element-newline': ['error', 'consistent'], + '@stylistic/arrow-parens': 'off', + '@stylistic/comma-dangle': ['error', 'always-multiline'], + '@stylistic/dot-location': ['error', 'property'], + '@stylistic/function-call-argument-newline': ['error', 'consistent'], + '@stylistic/function-paren-newline': 'off', + '@stylistic/indent': ['error', 'tab'], + '@stylistic/indent-binary-ops': ['error', 'tab'], + '@stylistic/max-len': 'off', + '@stylistic/multiline-comment-style': 'off', + '@stylistic/multiline-ternary': ['error', 'always-multiline'], + '@stylistic/newline-per-chained-call': ['error', {ignoreChainWithDepth: 1}], + '@stylistic/no-mixed-operators': 'off', + '@stylistic/no-tabs': 'off', + '@stylistic/object-property-newline': 'off', + '@stylistic/one-var-declaration-per-line': 'off', + '@stylistic/operator-linebreak': ['error', 'before'], + '@stylistic/padded-blocks': 'off', + '@stylistic/quote-props': ['error', 'consistent-as-needed'], + '@stylistic/quotes': ['error', 'single'], + 'curly': 'error', + 'no-implicit-coercion': 'error', + 'no-unused-vars': [ + 'error', + { + vars: 'all', + args: 'none', + ignoreRestSiblings: false, + }, + ], + }, + }, + { + files: ['test/**', '**/example.js'], + rules: { + 'no-unused-vars': 'off', + '@stylistic/semi': 'off', + }, + }, +]; + +export default config; diff --git a/package.json b/package.json index 4717401d..ae29cb07 100644 --- a/package.json +++ b/package.json @@ -69,8 +69,9 @@ "@pollyjs/adapter-node-http": "^6.0.5", "@pollyjs/core": "^6.0.5", "@pollyjs/persister-fs": "^6.0.5", - "@stylistic/eslint-plugin": "^1.5.1", - "eslint": "^8.56.0", + "@stylistic/eslint-plugin": "^2.11.0", + "eslint": "^9.16.0", + "globals": "^15.13.0", "is-coordinates": "^2.0.2", "is-roughly-equal": "^0.1.0", "tap": "^19.2.5", From 4630e52129bdb56c2025f466b9e7daa7eed3bece Mon Sep 17 00:00:00 2001 From: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com> Date: Sun, 8 Dec 2024 18:57:03 +0100 Subject: [PATCH 2/4] Apply new ESLint rules --- p/db/index.js | 8 ++-- p/insa/example.js | 2 +- p/rmv/example.js | 2 +- p/rsag/example.js | 2 +- p/vbn/example.js | 2 +- parse/location.js | 2 +- test/e2e/lib/departures-in-direction.js | 2 +- test/fixtures/bvg-arrivals.js | 10 ++--- test/fixtures/oebb-trip.js | 8 ++-- test/fixtures/vbb-departures.js | 24 ++++++------ test/fixtures/vsn-remarks.js | 52 ++++++++++++------------- 11 files changed, 57 insertions(+), 57 deletions(-) diff --git a/p/db/index.js b/p/db/index.js index d45a0851..9a569f13 100644 --- a/p/db/index.js +++ b/p/db/index.js @@ -68,8 +68,8 @@ const parseGrid = (g) => { return { title: g.title, rows: slices(g.nCols, g.itemL.map(item => Array.isArray(item.hints) && item.hints[0] - || Array.isArray(item.remarkRefs) && item.remarkRefs[0] && item.remarkRefs[0].hint - || {}, + || Array.isArray(item.remarkRefs) && item.remarkRefs[0] && item.remarkRefs[0].hint + || {}, )), }; }; @@ -250,7 +250,7 @@ const formatRefreshJourneyReq = (ctx, refreshToken) => { const parseShpCtx = (addDataTicketInfo) => { try { return JSON.parse(atob(addDataTicketInfo)).shpCtx; - } catch (e) { + } catch { // in case addDataTicketInfo is not a valid base64 string return null; } @@ -349,7 +349,7 @@ const isFirstClassTicket = (addData, opt) => { try { const addDataJson = JSON.parse(atob(addData)); return Boolean(addDataJson.Upsell === 'S1' || opt.firstClass); - } catch (err) { + } catch { return false; } }; diff --git a/p/insa/example.js b/p/insa/example.js index b93a68e8..12f81abb 100644 --- a/p/insa/example.js +++ b/p/insa/example.js @@ -11,7 +11,7 @@ const hellestr1 = { type: 'location', id: '980801263', address: 'Magdeburg - Leipziger Straße, Hellestraße 1', - latitude: 52.116706, longitude: 11.621821 + latitude: 52.116706, longitude: 11.621821, } let data = await client.locations('Magdeburg Hbf', {results: 2}) diff --git a/p/rmv/example.js b/p/rmv/example.js index 9bc4bccf..4b59c0fe 100644 --- a/p/rmv/example.js +++ b/p/rmv/example.js @@ -11,7 +11,7 @@ const offenbachLiebigstr = { type: 'location', id: '990148095', address: 'Offenbach am Main, Liebigstraße 22', - latitude: 50.096326, longitude: 8.759979 + latitude: 50.096326, longitude: 8.759979, } let data = await client.locations('wiesbaden igstadt', {results: 2}) diff --git a/p/rsag/example.js b/p/rsag/example.js index 55b9fd12..f4c954c0 100644 --- a/p/rsag/example.js +++ b/p/rsag/example.js @@ -11,7 +11,7 @@ const albertEinsteinStr = { type: 'location', id: '990004201', address: 'Rostock - Südstadt, Albert-Einstein-Straße 23', - latitude: 54.077208, longitude: 12.108299 + latitude: 54.077208, longitude: 12.108299, } let data = await client.locations('güstrow', {results: 2}) diff --git a/p/vbn/example.js b/p/vbn/example.js index 6b511707..3ba8488e 100644 --- a/p/vbn/example.js +++ b/p/vbn/example.js @@ -11,7 +11,7 @@ const bremenRutenstr = { type: 'location', id: '990025693', address: 'Bremen Rutenstraße 1', - latitude: 53.074165, longitude: 8.8184 + latitude: 53.074165, longitude: 8.8184, } let data = await client.locations('oldenburg', {results: 2}) diff --git a/parse/location.js b/parse/location.js index c62599da..f6165d78 100644 --- a/parse/location.js +++ b/parse/location.js @@ -95,7 +95,7 @@ const parseLocation = (ctx, l) => { const locHints = (l.remarkRefs || []) .filter(ref => Boolean(ref.hint) && Array.isArray(ref.tagL)) .filter(({tagL}) => tagL.includes('RES_LOC') - || tagL.find(t => t.slice(0, 8) === 'RES_LOC_'), // e.g. `RES_LOC_H3` + || tagL.find(t => t.slice(0, 8) === 'RES_LOC_'), // e.g. `RES_LOC_H3` ) .map(ref => ref.hint); const hints = [ diff --git a/test/e2e/lib/departures-in-direction.js b/test/e2e/lib/departures-in-direction.js index 7172890d..2feb16ae 100644 --- a/test/e2e/lib/departures-in-direction.js +++ b/test/e2e/lib/departures-in-direction.js @@ -26,7 +26,7 @@ const testDeparturesInDirection = async (cfg) => { when, stopovers: true, }); t.ok(trip.stopovers.some(st => st.stop.station && directionIds.includes(st.stop.station.id) - || directionIds.includes(st.stop.id), + || directionIds.includes(st.stop.id), ), `trip ${dep.tripId} of ${name} has no stopover at ${directionIds.join('/')}`); } }; diff --git a/test/fixtures/bvg-arrivals.js b/test/fixtures/bvg-arrivals.js index 2d36c306..d83740ec 100644 --- a/test/fixtures/bvg-arrivals.js +++ b/test/fixtures/bvg-arrivals.js @@ -152,7 +152,7 @@ const achtungFalscheFahrplanauskünfte = { type: 'warning', summary: 'Achtung! Falsche Fahrplanauskünfte für S41, S42 für Do (28.10.)', text: 'Informationen zum Fahrplan finden Sie hier:\n' - + 'sbahn.berlin', + + 'sbahn.berlin', icon: {type: 'HIM2', title: null}, priority: 100, products: { @@ -176,7 +176,7 @@ const gemeinsamSicherUnterwegs = { type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -200,7 +200,7 @@ const ausfallS8 = { type: 'warning', summary: 'Ausfall S8 zwischen Frankfurter Allee und Greifswalder Straße.', text: 'Bauzeitverlängerung: Weiterhin durchgehend bis zum 29.10.(Do), ca. 1:30 Uhr kein Zugverkehr zwischen Greifswalder Str. und Frankfurter Allee. Zwischen Greifswalder Straße und Ostkreuz ist Ersatzverkehr mit Bussen eingerichtet. Bitte steigen Sie zwischen der S-Bahn und dem Ersatzverkehr am Bahnhof Ostkreuz um, am Bahnhof Frankfurter Allee beträgt der Fußweg zwischen S-Bahnhof und der Haltestelle des Ersatzverkehrs in der Gürtelstraße ca. 300 Meter. Achtung eingeschränkte Fahrradmitnahme! Bitte informieren Sie sich frühzeitig über Ihre Fahrmöglichkeiten. Wir bitten um Entschuldigung.\n' - + 'S-Bahn Berlin', + + 'S-Bahn Berlin', icon: {type: 'HIM1', title: null}, priority: 100, products: { @@ -270,7 +270,7 @@ const bauzeitverlängerung = { type: 'warning', summary: 'Bauarbeiten.', text: 'Bauzeitverlängerung: Weiterhin durchgehend bis zum 29.10.(Fr), ca. 1:30 Uhr kein Zugverkehr zwischen Greifswalder Str. und Frankfurter Allee. Zwischen Greifswalder Straße und Ostkreuz ist Ersatzverkehr mit Bussen eingerichtet. Bitte steigen Sie zwischen der S-Bahn und dem Ersatzverkehr am Bahnhof Ostkreuz um, am Bahnhof Frankfurter Allee beträgt der Fußweg zwischen S-Bahnhof und der Haltestelle des Ersatzverkehrs in der Gürtelstraße ca. 300 Meter. Achtung eingeschränkte Fahrradmitnahme! Bitte informieren Sie sich frühzeitig über Ihre Fahrmöglichkeiten. Wir bitten um Entschuldigung.\n' - + 'Infos Bauzeitverlängerung', + + 'Infos Bauzeitverlängerung', icon: {type: 'HIM1', title: null}, priority: 1, products: { @@ -978,7 +978,7 @@ const bvgArrivals = [ type: 'warning', summary: 'Bauarbeiten.', text: 'Diese Fahrt fällt heute leider aus, bitte auf die Linie S8 ausweichen. Wegen Bauzeitverlängerung fahren keine Züge zwischen Frankfurter Allee und Greifswalder Straße, hier fahren Busse. Wir bitten um Entschuldigung\n' - + 'Infos Bauzeitverlängerung', + + 'Infos Bauzeitverlängerung', icon: {type: 'HIM1', title: null}, priority: 50, products: { diff --git a/test/fixtures/oebb-trip.js b/test/fixtures/oebb-trip.js index 70e0ee77..72bab8f8 100644 --- a/test/fixtures/oebb-trip.js +++ b/test/fixtures/oebb-trip.js @@ -643,10 +643,10 @@ const oebbTrip = { type: 'warning', summary: 'Aktuelle Lage', text: 'Wegen der aktuellen Corona-Situation wurde der Fahrplan österreichweit angepasst.\n' - + 'Der Fernverkehr fährt innerhalb Österreichs wieder verstärkt. Der Regelbetrieb für S-Bahnen und Regionalzüge ist wieder aufgenommen.\n' - + 'Einschränkungen im grenzüberschreitenden Verkehr bleiben bis auf Weiteres bestehen.\n' - + 'Informationen dazu erhalten Sie auf SCOTTY mobil, im Internet auf www.oebb.at und beim ÖBB-Kundenservice unter +43-5-1717.\n' - + ' Wir bitten Sie in allen öffentlichen Verkehrsmitteln und im gesamten Bahnhofsbereich ein Mund-Nasenschutz zu tragen. Bitte halten Sie auch einen Sicherheitsabstand zu anderen Personen ein. Nähere Informationen des Bundesministeriums finden Sie hier.\n', + + 'Der Fernverkehr fährt innerhalb Österreichs wieder verstärkt. Der Regelbetrieb für S-Bahnen und Regionalzüge ist wieder aufgenommen.\n' + + 'Einschränkungen im grenzüberschreitenden Verkehr bleiben bis auf Weiteres bestehen.\n' + + 'Informationen dazu erhalten Sie auf SCOTTY mobil, im Internet auf www.oebb.at und beim ÖBB-Kundenservice unter +43-5-1717.\n' + + ' Wir bitten Sie in allen öffentlichen Verkehrsmitteln und im gesamten Bahnhofsbereich ein Mund-Nasenschutz zu tragen. Bitte halten Sie auch einen Sicherheitsabstand zu anderen Personen ein. Nähere Informationen des Bundesministeriums finden Sie hier.\n', icon: {type: 'HIM5', title: null}, priority: 100, category: 5, diff --git a/test/fixtures/vbb-departures.js b/test/fixtures/vbb-departures.js index 29da24f6..498d205c 100644 --- a/test/fixtures/vbb-departures.js +++ b/test/fixtures/vbb-departures.js @@ -189,7 +189,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -381,7 +381,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -596,7 +596,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -811,7 +811,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -1026,7 +1026,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -1241,7 +1241,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -1456,7 +1456,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -1671,7 +1671,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -1886,7 +1886,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -2101,7 +2101,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -2315,7 +2315,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { @@ -2530,7 +2530,7 @@ const vbbDepartures = [ type: 'warning', summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!', text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' - + 'Weitere Informationen', + + 'Weitere Informationen', icon: {type: 'HIM0', title: null}, priority: 100, products: { diff --git a/test/fixtures/vsn-remarks.js b/test/fixtures/vsn-remarks.js index 64d72515..86f8ee45 100644 --- a/test/fixtures/vsn-remarks.js +++ b/test/fixtures/vsn-remarks.js @@ -55,8 +55,8 @@ const vsnRemarks = [ type: 'warning', summary: 'Sperrung Weserbrücke Lauenförde-Beverungen', text: 'Aufgrund der Sperrung können die Haltestellen in Beverungen nicht bedient werden.\n' - + 'Lauenförde-Beverungen\n' - + 'Baustellenfahrplan Linie 556', + + 'Lauenförde-Beverungen\n' + + 'Baustellenfahrplan Linie 556', icon: {type: 'HIM0', title: null}, priority: 6, company: 'VSN', @@ -115,8 +115,8 @@ const vsnRemarks = [ type: 'warning', summary: 'Sperrung Weserbrücke Lauenförde-Beverungen', text: 'Aufgrund der Sperrung können die Haltestellen in Beverungen nicht bedient werden.\n' - + 'Lauenförde-Beverungen\n' - + 'Baustellenfahrplan Linie 554', + + 'Lauenförde-Beverungen\n' + + 'Baustellenfahrplan Linie 554', icon: {type: 'HIM0', title: null}, priority: 6, company: 'VSN', @@ -182,17 +182,17 @@ const vsnRemarks = [ type: 'warning', summary: 'Verlegung einer Stromleitung in der Lindenstraße (Umleitung verschoben)', text: 'Betrifft die Linien 91, 92, 94, N7\n' - + '\n' - + 'Beginn der Umleitung verschoben auf voraussichtlich 16. März bis Juni 2020\n' - + '\n' - + 'Die Bauarbeiten sollten ursprünglich bereits am 2. März beginnen. Ab diesem Datum wurde auch die Umleitung der Buslinien geplant. Bitte beachten Sie, dass die Fahrpläne an den Haltestellen sowie die Fahrplanauskunft im Internet ab 2. März den Bauplan anzeigen, obwohl die Busse bis zum Beginn der Bauarbeiten noch in der regulären Linienführung fahren.\n' - + '\n' - + 'Umleitung ab Baubeginn:\n' - + 'Die Linien 91, 92, 94 und N7 werden in Richtung Vegesack zwischen (H) Bf Blumenthal und (H) Bremer Vulkan über die Straßen Zur Westpier und Am Werfttor umgeleitet.\n' - + '\n' - + 'Haltestellenänderungen in Richtung Vegesack:\n' - + '(H) Wätjens Park > verlegt vor die Kreuzung Lüssumer Str./Zur Westpier\n' - + '(H) Margaretenallee > entfällt \n', + + '\n' + + 'Beginn der Umleitung verschoben auf voraussichtlich 16. März bis Juni 2020\n' + + '\n' + + 'Die Bauarbeiten sollten ursprünglich bereits am 2. März beginnen. Ab diesem Datum wurde auch die Umleitung der Buslinien geplant. Bitte beachten Sie, dass die Fahrpläne an den Haltestellen sowie die Fahrplanauskunft im Internet ab 2. März den Bauplan anzeigen, obwohl die Busse bis zum Beginn der Bauarbeiten noch in der regulären Linienführung fahren.\n' + + '\n' + + 'Umleitung ab Baubeginn:\n' + + 'Die Linien 91, 92, 94 und N7 werden in Richtung Vegesack zwischen (H) Bf Blumenthal und (H) Bremer Vulkan über die Straßen Zur Westpier und Am Werfttor umgeleitet.\n' + + '\n' + + 'Haltestellenänderungen in Richtung Vegesack:\n' + + '(H) Wätjens Park > verlegt vor die Kreuzung Lüssumer Str./Zur Westpier\n' + + '(H) Margaretenallee > entfällt \n', icon: {type: 'HIM0', title: null}, priority: 6, company: 'BSAG', @@ -257,17 +257,17 @@ const vsnRemarks = [ type: 'warning', summary: 'Verlegung einer Stromleitung in der Lindenstraße', text: 'Betrifft die Linien 91, 92, 94, N7\n' - + '\n' - + 'Beginn der Umleitung verschoben auf voraussichtlich 16. März bis Juni 2020\n' - + '\n' - + 'Die Bauarbeiten sollten ursprünglich bereits am 2. März beginnen. Ab diesem Datum wurde auch die Umleitung der Buslinien geplant. Bitte beachten Sie, dass die Fahrpläne an den Haltestellen sowie die Fahrplanauskunft im Internet ab 2. März den Bauplan anzeigen, obwohl die Busse bis zum Beginn der Bauarbeiten noch in der regulären Linienführung fahren.\n' - + '\n' - + 'Umleitung ab Baubeginn:\n' - + 'Die Linien 91, 92, 94 und N7 werden in Richtung Vegesack zwischen (H) Bf Blumenthal und (H) Bremer Vulkan über die Straßen Zur Westpier und Am Werfttor umgeleitet.\n' - + '\n' - + 'Haltestellenänderungen in Richtung Vegesack:\n' - + '(H) Wätjens Park > verlegt vor die Kreuzung Lüssumer Str./Zur Westpier\n' - + '(H) Margaretenallee > entfällt \n', + + '\n' + + 'Beginn der Umleitung verschoben auf voraussichtlich 16. März bis Juni 2020\n' + + '\n' + + 'Die Bauarbeiten sollten ursprünglich bereits am 2. März beginnen. Ab diesem Datum wurde auch die Umleitung der Buslinien geplant. Bitte beachten Sie, dass die Fahrpläne an den Haltestellen sowie die Fahrplanauskunft im Internet ab 2. März den Bauplan anzeigen, obwohl die Busse bis zum Beginn der Bauarbeiten noch in der regulären Linienführung fahren.\n' + + '\n' + + 'Umleitung ab Baubeginn:\n' + + 'Die Linien 91, 92, 94 und N7 werden in Richtung Vegesack zwischen (H) Bf Blumenthal und (H) Bremer Vulkan über die Straßen Zur Westpier und Am Werfttor umgeleitet.\n' + + '\n' + + 'Haltestellenänderungen in Richtung Vegesack:\n' + + '(H) Wätjens Park > verlegt vor die Kreuzung Lüssumer Str./Zur Westpier\n' + + '(H) Margaretenallee > entfällt \n', icon: {type: 'HIM0', title: null}, priority: 6, company: 'BSAG', From a867531d88ef950017fd35e9d530a437c7e57fad Mon Sep 17 00:00:00 2001 From: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com> Date: Wed, 11 Dec 2024 19:37:12 +0100 Subject: [PATCH 3/4] =?UTF-8?q?CI:=20run=20linter=20only=20once=20?= =?UTF-8?q?=F0=9F=92=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 022144a8..330b6336 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,6 +6,21 @@ env: npm_config_cache: /tmp/npm-cache jobs: + lint: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - name: "Checkout code" + uses: actions/checkout@v4 + - name: "Use Node.js" + uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + - name: "Install dependencies" + run: | + npm install + - name: "Run linter" + run: npm run lint unit-tests: runs-on: ubuntu-latest strategy: @@ -31,7 +46,6 @@ jobs: path: ${{ env.npm_config_cache }} - run: npm install - - run: npm run lint - run: npm run test-unit integration-tests: From 0efd75d9445f710c262fb08faff3d652e3af8f1e Mon Sep 17 00:00:00 2001 From: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com> Date: Wed, 11 Dec 2024 19:40:18 +0100 Subject: [PATCH 4/4] =?UTF-8?q?CI:=20run=20unit=20&=20integration=20tests?= =?UTF-8?q?=20with=20Node.js=20v23=20too=20=F0=9F=92=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 330b6336..cbaf1e0c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,6 +30,7 @@ jobs: - 18.x - 20.x - 22.x + - 23.x steps: - name: checkout uses: actions/checkout@v4 @@ -57,6 +58,7 @@ jobs: - 18.x - 20.x - 22.x + - 23.x steps: - name: checkout uses: actions/checkout@v4