mirror of
https://github.com/maplibre/maplibre-rs.git
synced 2025-12-08 19:05:57 +00:00
Split into demo and lib, working commonjs/umd demo
This commit is contained in:
parent
021b87eaa8
commit
1aad0c1c1f
8
justfile
8
justfile
@ -44,10 +44,10 @@ webpack-production: nightly-toolchain
|
||||
cd web/web && npm install && npm run production-build
|
||||
|
||||
# TODO
|
||||
# wasm-pack-webgl: nightly-toolchain
|
||||
# ./wasm-pack-v0.10.1-x86_64-unknown-linux-musl/wasm-pack build . \
|
||||
# --release --target web --out-dir web/dist/maplibre-rs -- \
|
||||
# --features "web-webgl" -Z build-std=std,panic_abort
|
||||
wasm-pack-webgl: nightly-toolchain
|
||||
./wasm-pack-v0.10.1-x86_64-unknown-linux-musl/wasm-pack build . \
|
||||
--release --target web --out-dir web/dist/maplibre-rs -- \
|
||||
--features "web-webgl" -Z build-std=std,panic_abort
|
||||
#
|
||||
# wasm-pack: nightly-toolchain
|
||||
# ./wasm-pack-v0.10.1-x86_64-unknown-linux-musl/wasm-pack build . \
|
||||
|
||||
0
web/web/decl.d.ts → web/demo/decl.d.ts
vendored
0
web/web/decl.d.ts → web/demo/decl.d.ts
vendored
5
web/demo/index.ts
Normal file
5
web/demo/index.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import test, { startMapLibre } from 'maplibre_rs'
|
||||
|
||||
console.log(test)
|
||||
|
||||
startMapLibre()
|
||||
307
web/web/package-lock.json → web/demo/package-lock.json
generated
307
web/web/package-lock.json → web/demo/package-lock.json
generated
@ -1,27 +1,54 @@
|
||||
{
|
||||
"name": "web",
|
||||
"name": "demo",
|
||||
"version": "0.0.1",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "web",
|
||||
"name": "demo",
|
||||
"version": "0.0.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"maplibre_rs": "file:../lib"
|
||||
},
|
||||
"devDependencies": {
|
||||
"copy-webpack-plugin": "^10.2.4",
|
||||
"html-webpack-plugin": "^5.5.0",
|
||||
"ts-loader": "^9.2.6",
|
||||
"typescript": "^4.5.4",
|
||||
"wasm-pack": "^0.10.1",
|
||||
"webpack": "^5.65.0",
|
||||
"webpack-cli": "^4.9.1",
|
||||
"webpack-dev-server": "^4.6.0"
|
||||
}
|
||||
},
|
||||
"../../../../../../../lib": {
|
||||
"extraneous": true
|
||||
},
|
||||
"../lib": {
|
||||
"name": "maplibre_rs",
|
||||
"version": "0.0.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"babel-plugin-bundled-import-meta": "^0.3.2",
|
||||
"spectorjs": "^0.9.27",
|
||||
"ttypescript": "^1.5.13",
|
||||
"wasm-feature-detect": "^1.2.11",
|
||||
"workbox-cacheable-response": "^6.4.2",
|
||||
"workbox-routing": "^6.4.2",
|
||||
"workbox-strategies": "^6.4.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.17.6",
|
||||
"@babel/core": "^7.17.9",
|
||||
"@babel/plugin-syntax-import-meta": "^7.10.4",
|
||||
"@babel/preset-typescript": "^7.16.7",
|
||||
"@magic-works/commonjs-import.meta": "^1.0.1",
|
||||
"@wasm-tool/wasm-pack-plugin": "^1.6.0",
|
||||
"copy-webpack-plugin": "^10.0.0",
|
||||
"html-webpack-plugin": "^5.5.0",
|
||||
"babel-plugin-transform-import-meta": "^2.1.1",
|
||||
"ts-loader": "^9.2.6",
|
||||
"typescript": "^4.5.4",
|
||||
"wasm-pack": "^0.10.1",
|
||||
"wasm-pack": "^0.10.2",
|
||||
"webpack": "^5.65.0",
|
||||
"webpack-cli": "^4.9.1",
|
||||
"webpack-dev-server": "^4.6.0"
|
||||
@ -252,18 +279,6 @@
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@wasm-tool/wasm-pack-plugin": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@wasm-tool/wasm-pack-plugin/-/wasm-pack-plugin-1.6.0.tgz",
|
||||
"integrity": "sha512-Iax4nEgIvVCZqrmuseJm7ln/muWpg7uT5fXMAT0crYo+k5JTuZE58DJvBQoeIAegA3IM9cZgfkcZjAOUCPsT1g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"chalk": "^2.4.1",
|
||||
"command-exists": "^1.2.7",
|
||||
"watchpack": "^2.1.1",
|
||||
"which": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/ast": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
|
||||
@ -558,18 +573,6 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-styles": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"color-convert": "^1.9.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/anymatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||
@ -794,20 +797,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/chokidar": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
||||
@ -891,33 +880,12 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "1.9.3",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/color-name": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/colorette": {
|
||||
"version": "2.0.16",
|
||||
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz",
|
||||
"integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/command-exists": {
|
||||
"version": "1.2.9",
|
||||
"resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz",
|
||||
"integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/commander": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
||||
@ -1317,15 +1285,6 @@
|
||||
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-scope": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
|
||||
@ -1749,15 +1708,6 @@
|
||||
"node": ">= 0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/has-flag": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
||||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/he": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
|
||||
@ -2272,6 +2222,10 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/maplibre_rs": {
|
||||
"resolved": "../lib",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/media-typer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
@ -3427,11 +3381,6 @@
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/spectorjs": {
|
||||
"version": "0.9.27",
|
||||
"resolved": "https://registry.npmjs.org/spectorjs/-/spectorjs-0.9.27.tgz",
|
||||
"integrity": "sha512-eujFAuFWdW9S5wT++ks2o1zShN5Vd8Zple2NB6oM5G5tXqNtGbk6Yg3mfCpL03Bbq0djqGJAeswYk0VfpuPfIQ=="
|
||||
},
|
||||
"node_modules/statuses": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
|
||||
@ -3471,18 +3420,6 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-preserve-symlinks-flag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
||||
@ -3842,11 +3779,6 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/wasm-feature-detect": {
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/wasm-feature-detect/-/wasm-feature-detect-1.2.11.tgz",
|
||||
"integrity": "sha512-HUqwaodrQGaZgz1lZaNioIkog9tkeEJjrM3eq4aUL04whXOVDRc/o2EGb/8kV0QX411iAYWEqq7fMBmJ6dKS6w=="
|
||||
},
|
||||
"node_modules/wasm-pack": {
|
||||
"version": "0.10.2",
|
||||
"resolved": "https://registry.npmjs.org/wasm-pack/-/wasm-pack-0.10.2.tgz",
|
||||
@ -4170,35 +4102,6 @@
|
||||
"integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/workbox-cacheable-response": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.3.tgz",
|
||||
"integrity": "sha512-6JE/Zm05hNasHzzAGKDkqqgYtZZL2H06ic2GxuRLStA4S/rHUfm2mnLFFXuHAaGR1XuuYyVCEey1M6H3PdZ7SQ==",
|
||||
"dependencies": {
|
||||
"workbox-core": "6.5.3"
|
||||
}
|
||||
},
|
||||
"node_modules/workbox-core": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.3.tgz",
|
||||
"integrity": "sha512-Bb9ey5n/M9x+l3fBTlLpHt9ASTzgSGj6vxni7pY72ilB/Pb3XtN+cZ9yueboVhD5+9cNQrC9n/E1fSrqWsUz7Q=="
|
||||
},
|
||||
"node_modules/workbox-routing": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.3.tgz",
|
||||
"integrity": "sha512-DFjxcuRAJjjt4T34RbMm3MCn+xnd36UT/2RfPRfa8VWJGItGJIn7tG+GwVTdHmvE54i/QmVTJepyAGWtoLPTmg==",
|
||||
"dependencies": {
|
||||
"workbox-core": "6.5.3"
|
||||
}
|
||||
},
|
||||
"node_modules/workbox-strategies": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.3.tgz",
|
||||
"integrity": "sha512-MgmGRrDVXs7rtSCcetZgkSZyMpRGw8HqL2aguszOc3nUmzGZsT238z/NN9ZouCxSzDu3PQ3ZSKmovAacaIhu1w==",
|
||||
"dependencies": {
|
||||
"workbox-core": "6.5.3"
|
||||
}
|
||||
},
|
||||
"node_modules/wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
@ -4447,18 +4350,6 @@
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@wasm-tool/wasm-pack-plugin": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@wasm-tool/wasm-pack-plugin/-/wasm-pack-plugin-1.6.0.tgz",
|
||||
"integrity": "sha512-Iax4nEgIvVCZqrmuseJm7ln/muWpg7uT5fXMAT0crYo+k5JTuZE58DJvBQoeIAegA3IM9cZgfkcZjAOUCPsT1g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^2.4.1",
|
||||
"command-exists": "^1.2.7",
|
||||
"watchpack": "^2.1.1",
|
||||
"which": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"@webassemblyjs/ast": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
|
||||
@ -4705,15 +4596,6 @@
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-convert": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"anymatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||
@ -4887,17 +4769,6 @@
|
||||
"integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
}
|
||||
},
|
||||
"chokidar": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
||||
@ -4957,33 +4828,12 @@
|
||||
"shallow-clone": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "1.9.3",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
||||
"dev": true
|
||||
},
|
||||
"colorette": {
|
||||
"version": "2.0.16",
|
||||
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz",
|
||||
"integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
|
||||
"dev": true
|
||||
},
|
||||
"command-exists": {
|
||||
"version": "1.2.9",
|
||||
"resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz",
|
||||
"integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==",
|
||||
"dev": true
|
||||
},
|
||||
"commander": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
||||
@ -5291,12 +5141,6 @@
|
||||
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
|
||||
"dev": true
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
||||
"dev": true
|
||||
},
|
||||
"eslint-scope": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
|
||||
@ -5627,12 +5471,6 @@
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
||||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
|
||||
"dev": true
|
||||
},
|
||||
"he": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
|
||||
@ -6015,6 +5853,31 @@
|
||||
"yallist": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"maplibre_rs": {
|
||||
"version": "file:../lib",
|
||||
"requires": {
|
||||
"@babel/cli": "^7.17.6",
|
||||
"@babel/core": "^7.17.9",
|
||||
"@babel/plugin-syntax-import-meta": "^7.10.4",
|
||||
"@babel/preset-typescript": "^7.16.7",
|
||||
"@magic-works/commonjs-import.meta": "^1.0.1",
|
||||
"@wasm-tool/wasm-pack-plugin": "^1.6.0",
|
||||
"babel-plugin-bundled-import-meta": "^0.3.2",
|
||||
"babel-plugin-transform-import-meta": "^2.1.1",
|
||||
"spectorjs": "^0.9.27",
|
||||
"ts-loader": "^9.2.6",
|
||||
"ttypescript": "^1.5.13",
|
||||
"typescript": "^4.5.4",
|
||||
"wasm-feature-detect": "^1.2.11",
|
||||
"wasm-pack": "^0.10.2",
|
||||
"webpack": "^5.65.0",
|
||||
"webpack-cli": "^4.9.1",
|
||||
"webpack-dev-server": "^4.6.0",
|
||||
"workbox-cacheable-response": "^6.4.2",
|
||||
"workbox-routing": "^6.4.2",
|
||||
"workbox-strategies": "^6.4.2"
|
||||
}
|
||||
},
|
||||
"media-typer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
@ -6887,11 +6750,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"spectorjs": {
|
||||
"version": "0.9.27",
|
||||
"resolved": "https://registry.npmjs.org/spectorjs/-/spectorjs-0.9.27.tgz",
|
||||
"integrity": "sha512-eujFAuFWdW9S5wT++ks2o1zShN5Vd8Zple2NB6oM5G5tXqNtGbk6Yg3mfCpL03Bbq0djqGJAeswYk0VfpuPfIQ=="
|
||||
},
|
||||
"statuses": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
|
||||
@ -6922,15 +6780,6 @@
|
||||
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"supports-preserve-symlinks-flag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
||||
@ -7185,11 +7034,6 @@
|
||||
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
|
||||
"dev": true
|
||||
},
|
||||
"wasm-feature-detect": {
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/wasm-feature-detect/-/wasm-feature-detect-1.2.11.tgz",
|
||||
"integrity": "sha512-HUqwaodrQGaZgz1lZaNioIkog9tkeEJjrM3eq4aUL04whXOVDRc/o2EGb/8kV0QX411iAYWEqq7fMBmJ6dKS6w=="
|
||||
},
|
||||
"wasm-pack": {
|
||||
"version": "0.10.2",
|
||||
"resolved": "https://registry.npmjs.org/wasm-pack/-/wasm-pack-0.10.2.tgz",
|
||||
@ -7414,35 +7258,6 @@
|
||||
"integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
|
||||
"dev": true
|
||||
},
|
||||
"workbox-cacheable-response": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.3.tgz",
|
||||
"integrity": "sha512-6JE/Zm05hNasHzzAGKDkqqgYtZZL2H06ic2GxuRLStA4S/rHUfm2mnLFFXuHAaGR1XuuYyVCEey1M6H3PdZ7SQ==",
|
||||
"requires": {
|
||||
"workbox-core": "6.5.3"
|
||||
}
|
||||
},
|
||||
"workbox-core": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.3.tgz",
|
||||
"integrity": "sha512-Bb9ey5n/M9x+l3fBTlLpHt9ASTzgSGj6vxni7pY72ilB/Pb3XtN+cZ9yueboVhD5+9cNQrC9n/E1fSrqWsUz7Q=="
|
||||
},
|
||||
"workbox-routing": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.3.tgz",
|
||||
"integrity": "sha512-DFjxcuRAJjjt4T34RbMm3MCn+xnd36UT/2RfPRfa8VWJGItGJIn7tG+GwVTdHmvE54i/QmVTJepyAGWtoLPTmg==",
|
||||
"requires": {
|
||||
"workbox-core": "6.5.3"
|
||||
}
|
||||
},
|
||||
"workbox-strategies": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.3.tgz",
|
||||
"integrity": "sha512-MgmGRrDVXs7rtSCcetZgkSZyMpRGw8HqL2aguszOc3nUmzGZsT238z/NN9ZouCxSzDu3PQ3ZSKmovAacaIhu1w==",
|
||||
"requires": {
|
||||
"workbox-core": "6.5.3"
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "web",
|
||||
"name": "demo",
|
||||
"version": "0.0.1",
|
||||
"description": "A maplibre demo",
|
||||
"main": "index.js",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "RUSTUP_TOOLCHAIN=nightly-2022-04-04-x86_64-unknown-linux-gnu webpack-dev-server --mode=development",
|
||||
"build": "RUSTUP_TOOLCHAIN=nightly-2022-04-04-x86_64-unknown-linux-gnu webpack --mode=development",
|
||||
"production-build": "RUSTUP_TOOLCHAIN=nightly-2022-04-04-x86_64-unknown-linux-gnu webpack --mode=production",
|
||||
"start": "webpack-dev-server --mode=development",
|
||||
"build": "webpack --mode=development",
|
||||
"production-build": "webpack --mode=production",
|
||||
"webgl-start": "npm run start -- --env webgl",
|
||||
"webgl-start-production": "npm run webgl-start -- --mode=production",
|
||||
"webgl-build": "npm run build -- --env webgl",
|
||||
@ -17,15 +17,10 @@
|
||||
"url": "https://github.com/maplibre/maplibre-rs"
|
||||
},
|
||||
"dependencies": {
|
||||
"spectorjs": "^0.9.27",
|
||||
"wasm-feature-detect": "^1.2.11",
|
||||
"workbox-cacheable-response": "^6.4.2",
|
||||
"workbox-routing": "^6.4.2",
|
||||
"workbox-strategies": "^6.4.2"
|
||||
"maplibre_rs": "file:../lib"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@wasm-tool/wasm-pack-plugin": "^1.6.0",
|
||||
"copy-webpack-plugin": "^10.0.0",
|
||||
"copy-webpack-plugin": "^10.2.4",
|
||||
"html-webpack-plugin": "^5.5.0",
|
||||
"ts-loader": "^9.2.6",
|
||||
"typescript": "^4.5.4",
|
||||
63
web/demo/webpack.config.js
Normal file
63
web/demo/webpack.config.js
Normal file
@ -0,0 +1,63 @@
|
||||
const path = require("path");
|
||||
const webpack = require("webpack");
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const CopyPlugin = require("copy-webpack-plugin");
|
||||
|
||||
let dist = path.join(__dirname, 'dist/');
|
||||
module.exports = (env) => ({
|
||||
mode: "development",
|
||||
entry: {
|
||||
main: "./index.ts",
|
||||
},
|
||||
experiments: {
|
||||
//syncWebAssembly: true
|
||||
},
|
||||
performance: {
|
||||
maxEntrypointSize: 400000,
|
||||
maxAssetSize: 400000000,
|
||||
},
|
||||
output: {
|
||||
path: dist,
|
||||
filename: "[name].[fullhash].js"
|
||||
},
|
||||
devServer: {
|
||||
server: {
|
||||
type: 'http',
|
||||
},
|
||||
allowedHosts: 'all',
|
||||
host: '0.0.0.0',
|
||||
static: {
|
||||
directory: dist,
|
||||
},
|
||||
headers: {
|
||||
'Cross-Origin-Opener-Policy': 'same-origin',
|
||||
'Cross-Origin-Embedder-Policy': 'require-corp'
|
||||
},
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.tsx?$/,
|
||||
use: 'ts-loader',
|
||||
exclude: /node_modules/,
|
||||
},
|
||||
],
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.tsx', '.ts', '.js'],
|
||||
},
|
||||
plugins: [
|
||||
new CopyPlugin({
|
||||
patterns: [
|
||||
{ from: "*.wasm", to: "[path][name][ext]", context: 'node_modules/maplibre_rs/dist/maplibre-rs/' },
|
||||
{ from: "*.maplibre-rs.js", to: "[path][name][ext]", context: 'node_modules/maplibre_rs/dist/maplibre-rs/' },
|
||||
],
|
||||
}),
|
||||
new webpack.DefinePlugin({
|
||||
WEBGL: !!env.webgl
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
title: 'maplibre demo',
|
||||
}),
|
||||
]
|
||||
});
|
||||
4
web/lib/.babelrc
Normal file
4
web/lib/.babelrc
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"presets": ["@babel/preset-typescript"],
|
||||
"plugins": []
|
||||
}
|
||||
7
web/lib/.gitignore
vendored
Normal file
7
web/lib/.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
node_modules
|
||||
|
||||
libs/maplibre*
|
||||
|
||||
dist
|
||||
|
||||
src/wasm-pack
|
||||
7910
web/lib/package-lock.json
generated
Normal file
7910
web/lib/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
50
web/lib/package.json
Normal file
50
web/lib/package.json
Normal file
@ -0,0 +1,50 @@
|
||||
{
|
||||
"name": "maplibre_rs",
|
||||
"version": "0.0.1",
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"build": "RUSTUP_TOOLCHAIN=nightly-2022-04-04-x86_64-unknown-linux-gnu webpack --mode=development",
|
||||
"build-esm": "export RUSTUP_TOOLCHAIN=nightly-2022-04-04-x86_64-unknown-linux-gnu && rm -rf ./dist/maplibre-rs-esm && wasm-pack build --out-name index --out-dir lib/src/wasm-pack ../ --target web -- --features web-webgl -Z build-std=std,panic_abort && tsc -m es2022 -outDir ./dist/maplibre-rs-esm && cp src/wasm-pack/index_bg.wasm dist/maplibre-rs-esm/wasm-pack/",
|
||||
"production-build": "RUSTUP_TOOLCHAIN=nightly-2022-04-04-x86_64-unknown-linux-gnu webpack --mode=production",
|
||||
"webgl-build": "npm run build -- --env webgl",
|
||||
"webgl-production-build": "npm run production-build -- --env webgl"
|
||||
},
|
||||
"ignmodule": "dist/maplibre-rs-esm/index.js",
|
||||
"main": "dist/maplibre-rs/maplibre-rs.js",
|
||||
"types": "src/index.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/maplibre/maplibre-rs"
|
||||
},
|
||||
"dependencies": {
|
||||
"babel-plugin-bundled-import-meta": "^0.3.2",
|
||||
"spectorjs": "^0.9.27",
|
||||
"ttypescript": "^1.5.13",
|
||||
"wasm-feature-detect": "^1.2.11",
|
||||
"workbox-cacheable-response": "^6.4.2",
|
||||
"workbox-routing": "^6.4.2",
|
||||
"workbox-strategies": "^6.4.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.17.6",
|
||||
"@babel/core": "^7.17.9",
|
||||
"@babel/plugin-syntax-import-meta": "^7.10.4",
|
||||
"@babel/preset-typescript": "^7.16.7",
|
||||
"@magic-works/commonjs-import.meta": "^1.0.1",
|
||||
"@wasm-tool/wasm-pack-plugin": "^1.6.0",
|
||||
"babel-plugin-transform-import-meta": "^2.1.1",
|
||||
"ts-loader": "^9.2.6",
|
||||
"typescript": "^4.5.4",
|
||||
"wasm-pack": "^0.10.2",
|
||||
"webpack": "^5.65.0",
|
||||
"webpack-cli": "^4.9.1",
|
||||
"webpack-dev-server": "^4.6.0"
|
||||
},
|
||||
"keywords": [
|
||||
"wasm",
|
||||
"webgpu",
|
||||
"maps"
|
||||
],
|
||||
"author": "",
|
||||
"license": "MIT"
|
||||
}
|
||||
8
web/lib/src/decl.d.ts
vendored
Normal file
8
web/lib/src/decl.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
declare module "spectorjs" {
|
||||
class Spector {
|
||||
|
||||
displayUI(): void;
|
||||
}
|
||||
}
|
||||
|
||||
declare var WEBGL: boolean;
|
||||
9
web/lib/src/index.d.ts
vendored
Normal file
9
web/lib/src/index.d.ts
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
declare global {
|
||||
interface Window {
|
||||
schedule_tile_request: (url: string, request_id: number) => void;
|
||||
newWorker: () => void;
|
||||
}
|
||||
}
|
||||
export declare const startMapLibre: () => Promise<void>;
|
||||
declare const _default: "test";
|
||||
export default _default;
|
||||
@ -1,4 +1,4 @@
|
||||
import init, {create_pool_scheduler, new_thread_local_state, run} from "./dist/libs/maplibre"
|
||||
import init, {create_pool_scheduler, new_thread_local_state, run} from "./wasm-pack"
|
||||
import {Spector} from "spectorjs"
|
||||
import {WebWorkerMessageType} from "./types"
|
||||
import {
|
||||
@ -73,6 +73,8 @@ const checkRequirements = () => {
|
||||
return false
|
||||
}
|
||||
|
||||
let WEBGL = true
|
||||
|
||||
if (WEBGL) {
|
||||
if (!isWebGLSupported()) {
|
||||
alertUser("WebGL is not supported in this Browser!")
|
||||
@ -137,7 +139,7 @@ const setupLegacyWebWorker = (schedulerPtr: number, memory: WebAssembly.Memory)
|
||||
}
|
||||
}
|
||||
|
||||
const start = async () => {
|
||||
export const startMapLibre = async () => {
|
||||
await checkWasmFeatures()
|
||||
|
||||
if (!checkRequirements()) {
|
||||
@ -163,6 +165,4 @@ const start = async () => {
|
||||
await run(schedulerPtr)
|
||||
}
|
||||
|
||||
start().then(() => console.log("started via wasm"))
|
||||
|
||||
|
||||
export default "test"
|
||||
1
web/lib/src/pool_worker.d.ts
vendored
Normal file
1
web/lib/src/pool_worker.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export {};
|
||||
@ -1,4 +1,4 @@
|
||||
import init, {child_entry_point} from "./dist/libs/maplibre"
|
||||
import init, {child_entry_point} from "./wasm-pack"
|
||||
|
||||
onmessage = async message => {
|
||||
const initialised = init(message.data[0], message.data[1]).catch(err => {
|
||||
0
web/lib/src/service-worker.d.ts
vendored
Normal file
0
web/lib/src/service-worker.d.ts
vendored
Normal file
9
web/lib/src/types.d.ts
vendored
Normal file
9
web/lib/src/types.d.ts
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
export declare type WebWorkerMessageType = {
|
||||
type: 'init';
|
||||
memory: WebAssembly.Memory;
|
||||
} | {
|
||||
type: 'fetch_tile';
|
||||
threadLocalState: number;
|
||||
url: string;
|
||||
request_id: number;
|
||||
};
|
||||
1
web/lib/src/worker.d.ts
vendored
Normal file
1
web/lib/src/worker.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export {};
|
||||
@ -1,4 +1,4 @@
|
||||
import init, {InitOutput, tessellate_layers} from "./dist/libs/maplibre"
|
||||
import init, {InitOutput, tessellate_layers} from "./wasm-pack"
|
||||
import {WebWorkerMessageType} from "./types"
|
||||
|
||||
let module: Promise<InitOutput> = null
|
||||
15
web/lib/tsconfig.json
Normal file
15
web/lib/tsconfig.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
//"outDir": "./dist/maplibre-rs",
|
||||
"module": "commonjs",
|
||||
"target": "es5",
|
||||
"lib": [ "es2015", "dom" ],
|
||||
"sourceMap": true,
|
||||
"declaration": true,
|
||||
"allowJs": true,
|
||||
"skipLibCheck": true,
|
||||
"moduleResolution": "node",
|
||||
// "plugins": [{ "transform": "@magic-works/commonjs-import.meta" }]
|
||||
},
|
||||
//"include": ["./src/**/*"]
|
||||
}
|
||||
@ -1,17 +1,13 @@
|
||||
const path = require("path");
|
||||
const webpack = require("webpack");
|
||||
const CopyPlugin = require("copy-webpack-plugin");
|
||||
const WasmPackPlugin = require("@wasm-tool/wasm-pack-plugin");
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
|
||||
let dist = path.join(__dirname, 'dist/demo');
|
||||
let dist = path.join(__dirname, 'dist/maplibre-rs');
|
||||
module.exports = (env) => ({
|
||||
mode: "development",
|
||||
entry: {
|
||||
main: "./index.ts",
|
||||
},
|
||||
entry: "./src/index.ts",
|
||||
experiments: {
|
||||
syncWebAssembly: true
|
||||
syncWebAssembly: true,
|
||||
},
|
||||
performance: {
|
||||
maxEntrypointSize: 400000,
|
||||
@ -19,28 +15,28 @@ module.exports = (env) => ({
|
||||
},
|
||||
output: {
|
||||
path: dist,
|
||||
filename: "[name].[fullhash].js"
|
||||
},
|
||||
devServer: {
|
||||
server: {
|
||||
type: 'http',
|
||||
},
|
||||
allowedHosts: 'all',
|
||||
host: '0.0.0.0',
|
||||
static: {
|
||||
directory: dist,
|
||||
},
|
||||
headers: {
|
||||
'Cross-Origin-Opener-Policy': 'same-origin',
|
||||
'Cross-Origin-Embedder-Policy': 'require-corp'
|
||||
filename: "maplibre-rs.js",
|
||||
library: {
|
||||
name: 'maplibre_rs',
|
||||
type: 'umd',
|
||||
|
||||
},
|
||||
|
||||
umdNamedDefine: true
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.tsx?$/,
|
||||
use: 'ts-loader',
|
||||
exclude: /node_modules/,
|
||||
use: [
|
||||
{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
"transpileOnly": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -51,9 +47,6 @@ module.exports = (env) => ({
|
||||
new webpack.DefinePlugin({
|
||||
WEBGL: !!env.webgl
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
title: 'maplibre demo',
|
||||
}),
|
||||
new WasmPackPlugin({
|
||||
crateDirectory: path.resolve(__dirname, '../'),
|
||||
|
||||
@ -73,7 +66,7 @@ module.exports = (env) => ({
|
||||
// ],
|
||||
|
||||
// The same as the `--out-dir` option for `wasm-pack`
|
||||
outDir: path.resolve(__dirname, 'dist/libs/maplibre'),
|
||||
outDir: path.resolve(__dirname, 'src/wasm-pack'),
|
||||
|
||||
// The same as the `--out-name` option for `wasm-pack`
|
||||
// outName: "index",
|
||||
Loading…
x
Reference in New Issue
Block a user