Commit 178c50f8 authored by Michael Underwood's avatar Michael Underwood
Browse files

WIP update TS & lint setups so type L is recognized

parent 995d4277
Loading
Loading
Loading
Loading

.eslintrc.cjs

0 → 100644
+15 −0
Original line number Diff line number Diff line
/* eslint-env node */
require("@rushstack/eslint-patch/modern-module-resolution");

module.exports = {
  root: true,
  extends: [
    "plugin:vue/vue3-essential",
    "eslint:recommended",
    "@vue/eslint-config-typescript",
    "@vue/eslint-config-prettier",
  ],
  parserOptions: {
    ecmaVersion: "latest",
  },
};

.prettierrc.js

0 → 100644
+1 −0
Original line number Diff line number Diff line
module.exports = {}
 No newline at end of file
+10 −9
Original line number Diff line number Diff line
@@ -27,29 +27,30 @@
    "docs:dev": "vitepress dev docs",
    "docs:build": "vitepress build docs"
  },
  "dependencies": {
    "vue": "^3.2.25"
  },
  "peerDependencies": {
    "leaflet": "^1.6.0",
    "vue": "^3.0.0"
    "leaflet": "^1.6.0"
  },
  "devDependencies": {
    "@rushstack/eslint-patch": "^1.2.0",
    "@types/leaflet": "^1.5.7",
    "@types/node": "^18.13.0",
    "@vitejs/plugin-vue": "^4.0.0",
    "@vue/eslint-config-prettier": "^7.0.0",
    "@vue/eslint-config-typescript": "^11.0.2",
    "@vue/tsconfig": "^0.1.3",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-config-prettier": "^6.11.0",
    "eslint-plugin-prettier": "^3.1.4",
    "eslint-plugin-vue": "^7.0.0-0",
    "eslint": "^8.22.0",
    "eslint-plugin-vue": "^9.3.0",
    "husky": "^4.3.0",
    "leaflet": "^1.6.0",
    "lint-staged": "^10.4.0",
    "npm-run-all": "^4.1.5",
    "prettier": "^2.0.5",
    "prettier": "^2.7.1",
    "typescript": "^4.9.5",
    "vite": "^4.1.1",
    "vitepress": "^0.6.0",
    "vue": "^3.2.25",
    "vue-router": "^4.0.0-rc.5",
    "vue-tsc": "^1.0.24"
  },
+9 −13
Original line number Diff line number Diff line
@@ -142,6 +142,7 @@ const mapProps = {
interface MapBlueprint {
  ready: boolean;
  leafletRef?: L.Map;
  layerControl?: L.Control.Layers;
  layersToAdd: any[]; // TODO: Proper typing
  layersInControl: any[]; // TODO: Proper typing
}
@@ -153,6 +154,7 @@ export default defineComponent({
    const blueprint = reactive<MapBlueprint>({
      ready: false,
      leafletRef: undefined,
      layerControl: undefined,
      layersToAdd: [],
      layersInControl: [],
    });
@@ -206,20 +208,14 @@ export default defineComponent({
      if (props.useGlobalLeaflet) {
        WINDOW_OR_GLOBAL.L = WINDOW_OR_GLOBAL.L || (await import("leaflet"));
      }
      const {
        map,
        CRS,
        Icon,
        latLngBounds,
        latLng,
        DomEvent,
      } = props.useGlobalLeaflet
      const { map, CRS, Icon, latLngBounds, latLng, DomEvent }: typeof L =
        props.useGlobalLeaflet
          ? WINDOW_OR_GLOBAL.L
          : await import("leaflet/dist/leaflet-src.esm");

      try {
        options.beforeMapMount && (await options.beforeMapMount());
      } catch (error) {
      } catch (error: any) {
        console.error(
          `The following error occurred running the provided beforeMapMount hook ${error.message}`
        );
@@ -232,7 +228,7 @@ export default defineComponent({
      options.crs = optionsCrs || CRS.EPSG3857;

      const methods = {
        addLayer(layer) {
        addLayer(layer: L.Layer) {
          if (layer.layerType !== undefined) {
            if (blueprint.layerControl === undefined) {
              blueprint.layersToAdd.push(layer);
@@ -243,7 +239,7 @@ export default defineComponent({
                  layer.leafletObject._leaflet_id
              );
              if (!exist) {
                blueprint.layerControl.addLayer(layer);
                blueprint.layerControl!.addLayer(layer);
                blueprint.layersInControl.push(layer);
              }
            }
+3 −3
Original line number Diff line number Diff line
const path = require("path");
import { fileURLToPath, URL } from "node:url";
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";

@@ -7,12 +7,12 @@ export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "src"),
      "@src": fileURLToPath(new URL("./src", import.meta.url)),
    },
  },
  build: {
    lib: {
      entry: path.resolve(__dirname, "src/lib.ts"),
      entry: fileURLToPath(new URL("./src/lib.ts", import.meta.url)),
      formats: ["es", "cjs", "umd"],
      name: "vue-leaflet",
      fileName: (fmt) => `vue-leaflet.${fmt}.js`,
Loading