diff options
| -rw-r--r-- | .gitignore | 20 | ||||
| -rw-r--r-- | addon/index.js (renamed from addon/index.mjs) | 6 | ||||
| -rw-r--r-- | addon/manifest.json | 15 | ||||
| -rw-r--r-- | addon/src/dumbymap.mjs | 5 | ||||
| -rw-r--r-- | addon/src/renderers/leaflet.mjs | 4 | ||||
| -rw-r--r-- | addon/src/renderers/maplibre.mjs | 4 | ||||
| -rw-r--r-- | addon/src/renderers/openlayers.mjs | 4 | ||||
| -rw-r--r-- | package.json | 2 | ||||
| -rwxr-xr-x | scripts/addon.sh | 9 | ||||
| -rw-r--r-- | scripts/rollup.config.js | 29 |
10 files changed, 56 insertions, 42 deletions
| @@ -1,13 +1,21 @@ | |||
| 1 | # node | ||
| 2 | node_modules/ | ||
| 3 | package-lock.json | ||
| 4 | pnpm-lock.yaml | ||
| 5 | src/css/easymde.min.css | ||
| 6 | |||
| 7 | # output | ||
| 1 | dist/ | 8 | dist/ |
| 2 | docs/ | 9 | docs/ |
| 10 | |||
| 11 | # addon | ||
| 12 | addon.zip | ||
| 3 | addon/**js | 13 | addon/**js |
| 14 | addon/renderers/**js | ||
| 4 | addon/**css | 15 | addon/**css |
| 5 | addon.zip | ||
| 6 | !addon/index** | 16 | !addon/index** |
| 7 | !addon/background** | 17 | !addon/background** |
| 18 | !addon/src | ||
| 19 | |||
| 20 | # others | ||
| 8 | doc-coverage/ | 21 | doc-coverage/ |
| 9 | node_modules/ | ||
| 10 | package-lock.json | ||
| 11 | pnpm-lock.yaml | ||
| 12 | mapclay | ||
| 13 | src/css/easymde.min.css | ||
diff --git a/addon/index.mjs b/addon/index.js index dd8fa11..2ce3423 100644 --- a/addon/index.mjs +++ b/addon/index.js | |||
| @@ -23,14 +23,14 @@ const contentSelectors = { | |||
| 23 | } | 23 | } |
| 24 | const contentSelector = contentSelectors[url.host] | 24 | const contentSelector = contentSelectors[url.host] |
| 25 | 25 | ||
| 26 | const simpleRender = mapclay.renderWith(config => ({ | 26 | const simpleRender = globalThis.renderWith(config => ({ |
| 27 | use: use ?? 'Leaflet', | 27 | use: use ?? 'Leaflet', |
| 28 | width: '100%', | 28 | width: '100%', |
| 29 | height: '200px', | 29 | height: '200px', |
| 30 | XYZ: 'https://tile.openstreetmap.jp/styles/osm-bright/512/{z}/{x}/{y}.png', | 30 | XYZ: 'https://tile.openstreetmap.jp/styles/osm-bright/512/{z}/{x}/{y}.png', |
| 31 | ...config, | 31 | ...config, |
| 32 | aliases: { | 32 | aliases: { |
| 33 | use: mapclay.renderers, | 33 | use: globalThis.mapclayRenderer, |
| 34 | ...(config.aliases ?? {}), | 34 | ...(config.aliases ?? {}), |
| 35 | }, | 35 | }, |
| 36 | })) | 36 | })) |
| @@ -42,7 +42,7 @@ browser.runtime.onMessage.addListener((message, sender, sendResponse) => { | |||
| 42 | console.log('receive message', message) | 42 | console.log('receive message', message) |
| 43 | sendResponse('received') | 43 | sendResponse('received') |
| 44 | if (message.id === 'map-inline-add') { | 44 | if (message.id === 'map-inline-add') { |
| 45 | generateMaps(container, { | 45 | globalThis.generateMaps(container, { |
| 46 | crs: url.searchParams.get('crs') ?? 'EPSG:4326', | 46 | crs: url.searchParams.get('crs') ?? 'EPSG:4326', |
| 47 | render: simpleRender, | 47 | render: simpleRender, |
| 48 | }) | 48 | }) |
diff --git a/addon/manifest.json b/addon/manifest.json index e7bcbcf..92baf30 100644 --- a/addon/manifest.json +++ b/addon/manifest.json | |||
| @@ -1,12 +1,14 @@ | |||
| 1 | { | 1 | { |
| 2 | "manifest_version": 2, | 2 | "manifest_version": 2, |
| 3 | "name": "DumbyMap", | 3 | "name": "MapInline", |
| 4 | "version": "1.0", | 4 | "version": "1.0", |
| 5 | 5 | ||
| 6 | "description": "Add interatctive Map", | 6 | "description": "Add Interatctive Map", |
| 7 | 7 | ||
| 8 | "icons": { | 8 | "icons": { |
| 9 | "48": "icons/default.ico" | 9 | "16": "icons/default-0.png", |
| 10 | "32": "icons/default-1.png", | ||
| 11 | "48": "icons/default-2.png" | ||
| 10 | }, | 12 | }, |
| 11 | 13 | ||
| 12 | "browser_action": { | 14 | "browser_action": { |
| @@ -22,8 +24,11 @@ | |||
| 22 | "https://prosemirror.net/examples/*" | 24 | "https://prosemirror.net/examples/*" |
| 23 | ], | 25 | ], |
| 24 | "js": [ | 26 | "js": [ |
| 25 | "dumbymap.mjs", | 27 | "renderers/leaflet.js", |
| 26 | "index.mjs" | 28 | "renderers/maplibre.js", |
| 29 | "renderers/openlayers.js", | ||
| 30 | "dumbymap.js", | ||
| 31 | "index.js" | ||
| 27 | ], | 32 | ], |
| 28 | "css": [ | 33 | "css": [ |
| 29 | "css/dumbymap.css" | 34 | "css/dumbymap.css" |
diff --git a/addon/src/dumbymap.mjs b/addon/src/dumbymap.mjs new file mode 100644 index 0000000..07af342 --- /dev/null +++ b/addon/src/dumbymap.mjs | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | import { generateMaps } from '../../dist/dumbymap.mjs' | ||
| 2 | import { renderWith } from '../../node_modules/mapclay/dist/mapclay.mjs' | ||
| 3 | |||
| 4 | globalThis.generateMaps = generateMaps | ||
| 5 | globalThis.renderWith = renderWith | ||
diff --git a/addon/src/renderers/leaflet.mjs b/addon/src/renderers/leaflet.mjs new file mode 100644 index 0000000..8e056f9 --- /dev/null +++ b/addon/src/renderers/leaflet.mjs | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | import { default as Leaflet } from '../../../node_modules/mapclay/dist/renderers/leaflet.mjs' | ||
| 2 | |||
| 3 | if (!globalThis.mapclayRenderers) globalThis.mapclayRenderers = {} | ||
| 4 | globalThis.mapclayRenderers.Leaflet = Leaflet | ||
diff --git a/addon/src/renderers/maplibre.mjs b/addon/src/renderers/maplibre.mjs new file mode 100644 index 0000000..753af86 --- /dev/null +++ b/addon/src/renderers/maplibre.mjs | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | import { default as Maplibre } from '../../../node_modules/mapclay/dist/renderers/maplibre.mjs' | ||
| 2 | |||
| 3 | if (!globalThis.mapclayRenderers) globalThis.mapclayRenderers = {} | ||
| 4 | globalThis.mapclayRenderers.Maplibre = Maplibre | ||
diff --git a/addon/src/renderers/openlayers.mjs b/addon/src/renderers/openlayers.mjs new file mode 100644 index 0000000..2c42757 --- /dev/null +++ b/addon/src/renderers/openlayers.mjs | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | import { default as Openlayers } from '../../../node_modules/mapclay/dist/renderers/openlayers.mjs' | ||
| 2 | |||
| 3 | if (!globalThis.mapclayRenderers) globalThis.mapclayRenderers = {} | ||
| 4 | globalThis.mapclayRenderers.Openlayers = Openlayers | ||
diff --git a/package.json b/package.json index c0f3a7f..a137ca1 100644 --- a/package.json +++ b/package.json | |||
| @@ -26,7 +26,7 @@ | |||
| 26 | "style": "scripts/stylelint.sh", | 26 | "style": "scripts/stylelint.sh", |
| 27 | "docs": "jsdoc -c scripts/jsdoc.conf src/; xdg-open http://localhost:8080/docs/", | 27 | "docs": "jsdoc -c scripts/jsdoc.conf src/; xdg-open http://localhost:8080/docs/", |
| 28 | "prepack": "npm run lint && npm run style && npm run build", | 28 | "prepack": "npm run lint && npm run style && npm run build", |
| 29 | "addon": "mkdir -p addon/css; cp src/css/dumbymap.css addon/css; ADDON=true rollup -c scripts/rollup.config.js --watch", | 29 | "addon": "scripts/addon.sh", |
| 30 | "addon.zip": "cd addon; zip -r ../addon.zip *", | 30 | "addon.zip": "cd addon; zip -r ../addon.zip *", |
| 31 | "dev-addon": "web-ext run -s addon" | 31 | "dev-addon": "web-ext run -s addon" |
| 32 | }, | 32 | }, |
diff --git a/scripts/addon.sh b/scripts/addon.sh new file mode 100755 index 0000000..3b7bf3b --- /dev/null +++ b/scripts/addon.sh | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | #! /bin/bash | ||
| 2 | |||
| 3 | mkdir -p addon/css | ||
| 4 | ln -f src/css/dumbymap.css addon/css/dumbymap.css | ||
| 5 | |||
| 6 | mkdir -p addon/renderers/ | ||
| 7 | rollup addon/src/renderers/* --dir addon/renderers | ||
| 8 | |||
| 9 | rollup addon/src/dumbymap.mjs --file addon/dumbymap.js | ||
diff --git a/scripts/rollup.config.js b/scripts/rollup.config.js index 547260b..b3a6139 100644 --- a/scripts/rollup.config.js +++ b/scripts/rollup.config.js | |||
| @@ -6,7 +6,7 @@ import { join } from 'path' | |||
| 6 | import { bundleStats } from 'rollup-plugin-bundle-stats' | 6 | import { bundleStats } from 'rollup-plugin-bundle-stats' |
| 7 | 7 | ||
| 8 | const prod = process.env.PRODUCTION | 8 | const prod = process.env.PRODUCTION |
| 9 | const addon = process.env.ADDON | 9 | const watch = process.env.ROLLUP_WATCH |
| 10 | 10 | ||
| 11 | function resolve (file, origin) { | 11 | function resolve (file, origin) { |
| 12 | // Your way to resolve local include path | 12 | // Your way to resolve local include path |
| @@ -79,31 +79,6 @@ export default [ | |||
| 79 | ] | 79 | ] |
| 80 | .map(config => ({ ...general, ...config })) | 80 | .map(config => ({ ...general, ...config })) |
| 81 | .filter(config => { | 81 | .filter(config => { |
| 82 | if (addon) return config.input.match(/dumbymap/) | 82 | if (watch) return config.input.match(/editor/) |
| 83 | if (!prod) return config.input.match(/editor/) | ||
| 84 | return true | 83 | return true |
| 85 | }) | 84 | }) |
| 86 | .map(config => { | ||
| 87 | if (!addon) return config | ||
| 88 | |||
| 89 | config.output.forEach(o => { o.dir = './addon' }) | ||
| 90 | config.plugins.push({ | ||
| 91 | name: 'remove-exports', | ||
| 92 | transform (code, id) { | ||
| 93 | if (id.includes(config.input)) { | ||
| 94 | // remove export keyword for addon | ||
| 95 | const transformedCode = code.replace(/\n(\s*)export\s*/g, '$1') | ||
| 96 | return { | ||
| 97 | code: [ | ||
| 98 | transformedCode, | ||
| 99 | 'globalThis.generateMaps = generateMaps', | ||
| 100 | 'globalThis.mapclay = mapclay', | ||
| 101 | ].join('\n'), | ||
| 102 | } | ||
| 103 | } | ||
| 104 | return null | ||
| 105 | }, | ||
| 106 | }) | ||
| 107 | |||
| 108 | return config | ||
| 109 | }) | ||