diff --git a/packages/angular-material/example/index.bundled.html b/packages/angular-material/example/index.bundled.html
new file mode 100644
index 000000000..3c6ae29cf
--- /dev/null
+++ b/packages/angular-material/example/index.bundled.html
@@ -0,0 +1,22 @@
+
+
+
+
+ JSON Forms Angular Material RendererSet
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/angular-material/package.json b/packages/angular-material/package.json
index e4d00b1e9..a5d32a344 100644
--- a/packages/angular-material/package.json
+++ b/packages/angular-material/package.json
@@ -35,6 +35,7 @@
"typings": "./lib/esm/index.d.ts",
"scripts": {
"build": "ngc && ngc -p tsconfig.cjs.json",
+ "build:examples-app": "rollup -c rollup.example.config.js",
"dev": "webpack --config webpack/webpack.dev.js && webpack-dev-server --config webpack/webpack.dev.js --env=dev --inline",
"clean": "rimraf lib coverage dist .nyc_output 2> /dev/null",
"lint": "tslint --project tsconfig.json --exclude src/models/jsonSchema.ts",
@@ -88,6 +89,10 @@
"@jsonforms/angular-test": "^3.1.0-alpha.0",
"@jsonforms/core": "^3.1.0-alpha.0",
"@jsonforms/examples": "^3.1.0-alpha.0",
+ "@rollup/plugin-commonjs": "^23.0.3",
+ "@rollup/plugin-json": "^5.0.2",
+ "@rollup/plugin-node-resolve": "^15.0.1",
+ "@rollup/plugin-replace": "^5.0.1",
"@types/node": "^10.10.0",
"angular2-template-loader": "^0.6.2",
"copy-webpack-plugin": "^5.0.5",
@@ -108,6 +113,12 @@
"protractor": "^5.4.1",
"request": "^2.88.0",
"rimraf": "^3.0.2",
+ "rollup": "^2.78.0",
+ "rollup-plugin-cleanup": "^3.2.1",
+ "rollup-plugin-copy": "^3.4.0",
+ "rollup-plugin-import-css": "^3.1.0",
+ "rollup-plugin-typescript2": "^0.31.1",
+ "rollup-plugin-visualizer": "^5.4.1",
"rxjs": "^6.5.3",
"ts-loader": "^6.2.1",
"tslint": "^5.20.1",
diff --git a/packages/angular-material/rollup.example.config.js b/packages/angular-material/rollup.example.config.js
new file mode 100644
index 000000000..8869b27b6
--- /dev/null
+++ b/packages/angular-material/rollup.example.config.js
@@ -0,0 +1,52 @@
+import commonjs from '@rollup/plugin-commonjs';
+import json from '@rollup/plugin-json';
+import nodeResolve from '@rollup/plugin-node-resolve';
+import replace from '@rollup/plugin-replace';
+import copy from 'rollup-plugin-copy';
+import css from 'rollup-plugin-import-css';
+import typescript from 'rollup-plugin-typescript2';
+
+/**
+ * @type {import('rollup').RollupOptions}
+*/
+const config = {
+ input: 'example/main.ts',
+ output: {
+ file: 'example/dist/bundle.js',
+ format: 'iife',
+ sourcemap: true
+ },
+ plugins: [
+ replace({
+ 'process.env.NODE_ENV': JSON.stringify('production'),
+ preventAssignment: true, // recommended to be set by library to be forward compatible
+ }),
+ nodeResolve({ browser: true }),
+ // Transform mixed because some JsonForms modules use import and require
+ commonjs({ transformMixedEsModules: true }),
+ css(),
+ json(),
+ typescript({
+ tsconfigOverride: {
+ compilerOptions: {
+ // Do not emit typescript declarations for our bundled example app
+ declaration: false
+ }
+ }}),
+ copy({
+ targets: [
+ {
+ src: '../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css',
+ dest: 'example/dist'
+ },
+ {
+ src: 'example/index.bundled.html',
+ dest: 'example/dist',
+ rename: () => 'index.html'
+ }
+ ]
+ }),
+ ]
+}
+
+export default config;
\ No newline at end of file
diff --git a/packages/examples-app/index.html b/packages/examples-app/index.html
index fd0015d4e..75c9e2bf7 100644
--- a/packages/examples-app/index.html
+++ b/packages/examples-app/index.html
@@ -12,6 +12,8 @@ JSON Forms Examples