]> git.openstreetmap.org Git - nominatim-ui.git/commitdiff
rollup v2->v3, convert -require- to ESM style -import-
authorMarc Tobias <mtmail@gmx.net>
Wed, 16 Nov 2022 11:46:36 +0000 (12:46 +0100)
committermtmail <mtmail@gmx.net>
Wed, 16 Nov 2022 11:53:46 +0000 (12:53 +0100)
14 files changed:
package.json
rollup.config.js
src/lib/helpers.js
test/_bootstrap.js
test/about.js
test/api_errors.js
test/browser.js
test/config_reverse_only.js
test/details.js
test/reverse.js
test/search.js
test/status.js
test/unit/helpers.js
yarn.lock

index 70fbba1360e79b8d357ae61749a53c35f4cba21c..a1a9f59229e06a5a9aabe5a037fb061c93a7b03d 100644 (file)
@@ -20,7 +20,7 @@
     "http-proxy": "^1.18.1",
     "mocha": "^10.0",
     "puppeteer": "^19.0",
-    "rollup": "^2.3.4",
+    "rollup": "^3.3.0",
     "rollup-plugin-css-only": "^4.3.0",
     "rollup-plugin-livereload": "^2.0.0",
     "rollup-plugin-svelte": "^7.0.0",
@@ -38,5 +38,6 @@
     "leaflet": "1.9.2",
     "leaflet-minimap": "^3.6.1",
     "timeago.js": "^4.0.2"
-  }
+  },
+  "type": "module"
 }
index 1a24b92e40fabad9b9d4c7c4f9345d7a46144201..757a22d15f9743d32306b6d9484adce37ff32357 100644 (file)
@@ -3,9 +3,9 @@ import commonjs from '@rollup/plugin-commonjs';
 import resolve from '@rollup/plugin-node-resolve';
 import livereload from 'rollup-plugin-livereload';
 import { terser } from 'rollup-plugin-terser';
+import { spawn } from 'child_process';
 import css from 'rollup-plugin-css-only';
 import { readFileSync, writeFileSync } from 'fs';
-import { spawn } from 'child_process';
 
 const production = !process.env.ROLLUP_WATCH;
 
index de1cfd41b2fd3dad879a784645ab2f8effeee352..dfe4cedc760229c65a068030287539d442eb9aeb 100644 (file)
@@ -1,19 +1,6 @@
-module.exports.formatOSMType = formatOSMType;
-module.exports.osmLink = osmLink;
-module.exports.formatLabel = formatLabel;
-module.exports.wikipediaLink = wikipediaLink;
-module.exports.coverageType = coverageType;
-module.exports.isAdminBoundary = isAdminBoundary;
-module.exports.formatAddressRank = formatAddressRank;
-module.exports.formatPlaceType = formatPlaceType;
-module.exports.formatAdminLevel = formatAdminLevel;
-module.exports.formatDistance = formatDistance;
-module.exports.formatKeywordToken = formatKeywordToken;
-module.exports.zoomLevels = zoomLevels;
-
-const escapeHtml = require('escape-html');
-
-function formatOSMType(sType, bExcludeExternal) {
+import escapeHtml from 'escape-html';
+
+export function formatOSMType(sType, bExcludeExternal) {
   if (sType === 'N') return 'node';
   if (sType === 'W') return 'way';
   if (sType === 'R') return 'relation';
@@ -26,7 +13,7 @@ function formatOSMType(sType, bExcludeExternal) {
   return '';
 }
 
-function osmLink(aPlace) {
+export function osmLink(aPlace) {
   if (!aPlace.osm_type) return '';
   var sOSMType = formatOSMType(aPlace.osm_type, false);
   if (!sOSMType) return '';
@@ -34,7 +21,7 @@ function osmLink(aPlace) {
   return '<a href="https://www.openstreetmap.org/' + sOSMType + '/' + aPlace.osm_id + '">' + sOSMType + ' ' + aPlace.osm_id + '</a>';
 }
 
-function formatLabel(aPlace) {
+export function formatLabel(aPlace) {
   if (aPlace.label) return aPlace.label;
 
   function capitalize(s) {
@@ -51,7 +38,7 @@ function formatLabel(aPlace) {
 }
 
 /* en:London_Borough_of_Redbridge => https://en.wikipedia.org/wiki/London_Borough_of_Redbridge */
-function wikipediaLink(aPlace) {
+export function wikipediaLink(aPlace) {
   if (!aPlace.calculated_wikipedia) return '';
 
   var parts = aPlace.calculated_wikipedia.split(':', 2);
@@ -63,15 +50,15 @@ function wikipediaLink(aPlace) {
   return '<a href="https://' + sLanguage + '.wikipedia.org/wiki/' + sArticle + '" target="_blank">' + sTitle + '</a>';
 }
 
-function coverageType(aPlace) {
+export function coverageType(aPlace) {
   return (aPlace.isarea ? 'Polygon' : 'Point');
 }
 
-function isAdminBoundary(aPlace) {
+export function isAdminBoundary(aPlace) {
   return aPlace.category === 'boundary' && aPlace.type === 'administrative';
 }
 
-function formatAddressRank(iRank) {
+export function formatAddressRank(iRank) {
   if (iRank < 4) return 'other';
   if (iRank < 6) return 'country';
   if (iRank < 8) return 'region';
@@ -90,7 +77,7 @@ function formatAddressRank(iRank) {
   return 'other';
 }
 
-function formatPlaceType(aPlace) {
+export function formatPlaceType(aPlace) {
   var sOut = aPlace.class + ':' + aPlace.type;
   if (aPlace.type && aPlace.type === 'administrative' && aPlace.place_type) {
     sOut = sOut + ' (' + aPlace.place_type + ')';
@@ -99,11 +86,11 @@ function formatPlaceType(aPlace) {
 }
 
 // Any over 15 are invalid data in OSM anyway
-function formatAdminLevel(iLevel) {
+export function formatAdminLevel(iLevel) {
   return (iLevel && iLevel < 15 ? iLevel : '');
 }
 
-function formatDistance(fDistance, bInMeters) {
+export function formatDistance(fDistance, bInMeters) {
   if (bInMeters) {
     if (fDistance < 1) return '0';
     var sFormatted = (fDistance >= 1000)
@@ -122,11 +109,11 @@ function formatDistance(fDistance, bInMeters) {
 }
 
 // mark partial tokens (those starting with a space) with a star for readability
-function formatKeywordToken(sToken) {
+export function formatKeywordToken(sToken) {
   return (sToken[0] === ' ' ? '*' : '') + escapeHtml(sToken);
 }
 
-function zoomLevels() {
+export function zoomLevels() {
   const aZoomLevels = [
     /*  0 */ 'Continent / Sea',
     /*  1 */ '',
index b538f5c2c89eb9142e8d13ea8ba49696f2ef435c..ad7733a5f95606ba9868c1faae1b52a7b0e5c0a4 100644 (file)
@@ -1,8 +1,8 @@
-const static_server = require('static-server');
-const http = require('http');
-const httpProxy = require('http-proxy');
-const puppeteer = require('puppeteer');
-const fse = require('fs-extra');
+import static_server from 'static-server';
+import http from 'node:http';
+import httpProxy from 'http-proxy';
+import puppeteer from 'puppeteer';
+import fse from 'fs-extra';
 
 const testing_port = 9999; // this is the port all tests expect nominatim-ui to listen to
 
@@ -17,7 +17,7 @@ const reverse_only = !!process.env.REVERSE_ONLY;
 
 // Methods to run at the start and end of the mocha testsuite run
 // https://mochajs.org/#global-setup-fixtures
-exports.mochaGlobalSetup = async function () {
+export async function mochaGlobalSetup() {
   const workdir = 'dist_for_testing';
 
   // 1. Prepare build directory
@@ -68,10 +68,10 @@ Nominatim_Config.Reverse_Only = ${reverse_only};
       '--user-agent=Nominatim UI test suite Mozilla/5.0 Gecko/20100101 HeadlessChrome/90.0'
     ]
   });
-};
+}
 
 
-exports.mochaGlobalTeardown = async function () {
+export async function mochaGlobalTeardown() {
   global.browser.close();
 
   await this.static_http_server.stop();
@@ -83,4 +83,4 @@ exports.mochaGlobalTeardown = async function () {
 
     this.proxy_server.close(() => console.log('proxy server stopped'));
   }
-};
+}
index de004abecdb5a2f933ff5789900ae87ce52f1eda..819d76d847c8fe9f76411c298dea18e6251d5704 100644 (file)
@@ -1,4 +1,4 @@
-const assert = require('assert');
+import assert from 'assert';
 
 describe('About Page', function () {
   let page;
index b5eef6da94eb6b6b07e4c7e89a4376710e6e3122..084159ecc67ec55567cf3fec706dd67252b7f13e 100644 (file)
@@ -1,4 +1,4 @@
-const assert = require('assert');
+import assert from 'assert';
 
 describe('Nominatim API errors', function () {
   let page;
index 51593ff8abf8ceb130a3dadaab5405024ecbabc9..58d53aec2e987e0c5c05b523323aaf5cf1f8dee1 100644 (file)
@@ -1,4 +1,4 @@
-const assert = require('assert');
+import assert from 'assert';
 
 describe('Browser behaviour', function () {
 
index 5e1431255e70432e6c3015c04c5c94f1605257b2..5247fb6aa88599f40795f3ea8a9c548ea56686cb 100644 (file)
@@ -1,4 +1,4 @@
-const assert = require('assert');
+import assert from 'assert';
 
 describe('Reverse Only', function () {
   let page;
index 02b950be0e780fd3ae50788e053c247ce344d400..513dcba7bb6c77949892997fb7aeea6ef03ef904 100644 (file)
@@ -1,4 +1,4 @@
-const assert = require('assert');
+import assert from 'assert';
 
 const reverse_only = !!process.env.REVERSE_ONLY;
 
index 8685668c63142a9138d21faecc226a3b36db3bed..5641a1a88535f9d59ed3b1bf1e70fbeca327f986 100644 (file)
@@ -1,4 +1,4 @@
-const assert = require('assert');
+import assert from 'assert';
 
 describe('Reverse Page', function () {
   let page;
index 628edaafa00b380776cafedf06e403ab14b181ae..b398b0d5d2f009f9bf2de9fdc31f02962edbf825 100644 (file)
@@ -1,4 +1,4 @@
-const assert = require('assert');
+import assert from 'assert';
 
 describe('Search Page', function () {
   let page;
index cf58885c0cb3df427ea6df90daa8211b4dfac2c7..78dc02017a5fc0213e5c685c3d9906b3eec93d17 100644 (file)
@@ -1,4 +1,4 @@
-const assert = require('assert');
+import assert from 'assert';
 
 describe('Status Page', function () {
   let page;
index 95700596a0c9e8092280e7f2d1e437c4cb7c45d4..cea1512e23f5ad68459fb63d3f5a331982d4fba6 100644 (file)
@@ -1,36 +1,36 @@
-const assert = require('assert');
-const helpers = require('../../src/lib/helpers');
+import assert from 'assert';
+import { formatLabel, wikipediaLink } from '../../src/lib/helpers.js';
 
 describe('Helpers', function () {
 
   it('.formatLabel', function () {
     // not enough data
-    assert.equal(helpers.formatLabel({}), '');
+    assert.equal(formatLabel({}), '');
 
     // if label set, that becomes the label
-    assert.equal(helpers.formatLabel({ label: 'A Label' }), 'A Label');
+    assert.equal(formatLabel({ label: 'A Label' }), 'A Label');
 
     // type, but nicely formatted
-    assert.equal(helpers.formatLabel({ category: 'highway', type: 'bus_stop' }), 'Bus stop');
+    assert.equal(formatLabel({ category: 'highway', type: 'bus_stop' }), 'Bus stop');
 
     // type=yes, so we use the category
-    assert.equal(helpers.formatLabel({ category: 'building', type: 'yes' }), 'Building');
+    assert.equal(formatLabel({ category: 'building', type: 'yes' }), 'Building');
   });
 
   it('.wikipediaLink', function () {
     assert.equal(
-      helpers.wikipediaLink({}),
+      wikipediaLink({}),
       ''
     );
 
     assert.equal(
-      helpers.wikipediaLink({ calculated_wikipedia: 'de:Brandenburg Gate' }),
+      wikipediaLink({ calculated_wikipedia: 'de:Brandenburg Gate' }),
       '<a href="https://de.wikipedia.org/wiki/Brandenburg Gate" target="_blank">de:Brandenburg Gate</a>'
     );
 
     // title includes HTML
     assert.equal(
-      helpers.wikipediaLink({ calculated_wikipedia: 'en:Slug & Lattuce' }),
+      wikipediaLink({ calculated_wikipedia: 'en:Slug & Lattuce' }),
       '<a href="https://en.wikipedia.org/wiki/Slug &amp; Lattuce" target="_blank">en:Slug &amp; Lattuce</a>'
     );
   });
index 52ca440f7e86a7b8510f5be5176476ca73a30e53..3514b3788fb0c20f74bbc526b8f5c9ec450b4bb9 100644 (file)
--- a/yarn.lock
+++ b/yarn.lock
@@ -1885,10 +1885,10 @@ rollup-pluginutils@^2.8.2:
   dependencies:
     estree-walker "^0.6.1"
 
-rollup@^2.3.4:
-  version "2.79.1"
-  resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7"
-  integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==
+rollup@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.3.0.tgz#ae8dc84808a9c75d775d8b2ed8db1adada31a581"
+  integrity sha512-wqOV/vUJCYEbWsXvwCkgGWvgaEnsbn4jxBQWKpN816CqsmCimDmCNJI83c6if7QVD4v/zlyRzxN7U2yDT5rfoA==
   optionalDependencies:
     fsevents "~2.3.2"