This project is a starting point for programming custom map.apps bundles and themes. It contains examples for common tasks such as building widgets with Vue.js or creating your own custom themes. You may use this project as a blueprint for starting your own map.apps project.
Since both Typescript and Javascript can be used to implement bundles, this project contains two bundles with the same functionality, sample_camera implemented in Typescript and sample_camera_js implemented in Javascript.
Initially only the sample_camera bundle is included in the Demo sample app.
For detailed documentation on how to use map.apps for Developers to extend map.apps, see the map.apps Developer's Guide.
- Java >= 17
- Maven >= 3.9.0
- pnpm >= 10.20
Clone this project and ensure that you have all required dependencies installed correctly (see Documentation).
Then run the following commands from the project root directory to start a local development server:
# install all required node modules
$ mvn initialize
# start dev server
$ mvn compile -Denv=dev -Pinclude-mapapps-deps
# run unit tests
$ mvn test -P run-js-tests,include-mapapps-depsTo execute the tests in your browser, open http://localhost:9090/js/tests/runTests.html (may be on a different port depending on your configuration).
For more details refer to the Developer's Guide.
We have prepared some sample end-to-end browser tests for you in the file sample_camera.spec.ts. They are based on the Playwright framework.
If you like to run the tests, you need to install Playwright and its dependencies at first:
# Install playwright
pnpx playwright install --with-depsAfter that, start the development server and run the tests:
# start dev server
mvn compile -Denv=dev -Pinclude-mapapps-deps
# run end-to-end tests
pnpm run e2e-testIn headed mode test browser are shown during the test execution. To run the tests in headed mode, execute:
# run end-to-end tests headed
pnpm run e2e-test:headedWe also recommend installing the VS Code Extension for Playwright, which allows you to run and debug tests directly in the IDE.
For details about end-to-end testing refer to the Developer's Guide.
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
Note here a bigger change inside the pom.xml and gulpfile.js happened due to the introduction of browsersync as dev server and the support for rollup based builds.
Please compare the files not all changes are documented in detail.
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
See Changelog
- Adjust the
mapapps.versionproperty in./pom.xmlto4.8.3 - Adjust the versions in
devDependenciesin./package.jsonaccording to the list below:- "ct-mapapps-gulp-js": "^0.3.6"
- Adjust the
mapapps.versionproperty in./pom.xmlto4.8.2 - Change the requirement
babel-polyfilltoapprt-polyfillin the./pom.xmlandsrc/test/webapp/js/tests/test-init.js. - Replace
$apprt.loadand$apprt.lauchAppFromParamby$apprt.startAppin thesrc/test/webapp/index.html
- Adjust the
mapapps.versionproperty in./pom.xmlto4.8.1
- Adjust the
mapapps.versionproperty in./pom.xmlto4.8.0 - Adjust the
ct.jsregistry.versionproperty in./pom.xmlto1.3.4 - Adjust the versions in
devDependenciesin./package.jsonaccording to the list below:- "ct-mapapps-gulp-js": "^0.2.5"
- Adjust the
mapapps.versionproperty in./pom.xmlto4.7.2 - Adjust the
ct.jsregistry.versionproperty in./pom.xmlto1.3.2 - Add the version hint
<version>${ct.jsrt-test.version}</version>for dependenciesct-jsrt-test-internandct-jsrt-test-uitestinpom.xml - Update the Gulpfile and remove the dev dependencies from
gulpfile.js. For details see commit
- Adjust the
mapapps.versionproperty in./pom.xmlto4.7.1 - Adjust the
ct.jsregistry.versionproperty in./pom.xmlto1.3.1
- Adjust the
mapapps.versionproperty in./pom.xmlto4.7.0 - Adjust the
ct.jsregistry.versionproperty in./pom.xmlto1.3.0 - Adjust the versions in
devDependenciesin./package.jsonaccording to the list below:- "eslint-config-ct-prodeng": "^1.0.5"
- "vue-template-compiler": "2.6.6"
- Adjust the
mapapps.versionproperty in./pom.xmlto4.6.1
- Adjust the
mapapps.versionproperty in./pom.xmlto4.6.0 - Adjust the versions in
devDependenciesin./package.jsonaccording to the list below:- "ct-mapapps-gulp-js": "~0.1.3"
- "vue-template-compiler": "2.5.17"
- Go to
./src/test/webapp/index.htmland replace thecorsEnabledServers: ["@@mapapps.remote.base@@"]withtrustedServers: ["@@mapapps.remote.base@@"]inside the apprt request configuration object.