powerbi-visuals-tools 4.3.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/Changelog.md +7 -0
  2. package/README.md +1 -1
  3. package/bin/pbiviz.js +55 -36
  4. package/certs/PowerBICustomVisualTest_private.key +26 -26
  5. package/certs/PowerBICustomVisualTest_public.crt +17 -17
  6. package/config.json +27 -34
  7. package/lib/CertificateTools.js +119 -143
  8. package/lib/CommandManager.js +52 -0
  9. package/lib/ConsoleWriter.js +63 -85
  10. package/lib/TemplateFetcher.js +23 -30
  11. package/lib/VisualGenerator.js +42 -56
  12. package/lib/VisualManager.js +193 -0
  13. package/lib/WebPackWrap.js +96 -145
  14. package/lib/utils.js +21 -13
  15. package/lib/webpack.config.js +47 -56
  16. package/package.json +34 -26
  17. package/spec/clean-tests.js +1 -1
  18. package/spec/e2e/pbivizCertSpec.js +14 -13
  19. package/spec/e2e/pbivizInfoSpec.js +7 -10
  20. package/spec/e2e/pbivizNewSpec.js +53 -65
  21. package/spec/e2e/pbivizPackageSpec.js +86 -90
  22. package/spec/e2e/pbivizStartSpec.js +6 -7
  23. package/spec/e2e/pbivizWebpackVerSpec.js +14 -16
  24. package/spec/e2e/{utils.js → testUtils.js} +9 -12
  25. package/spec/helpers/FileSystem.js +18 -18
  26. package/spec/jasmine-runner.js +5 -5
  27. package/src/CertificateTools.ts +431 -0
  28. package/src/CommandManager.ts +78 -0
  29. package/src/ConsoleWriter.ts +206 -0
  30. package/src/TemplateFetcher.ts +122 -0
  31. package/src/VisualGenerator.ts +236 -0
  32. package/src/VisualManager.ts +220 -0
  33. package/src/WebPackWrap.ts +299 -0
  34. package/src/utils.ts +41 -0
  35. package/src/webpack.config.ts +144 -0
  36. package/templates/pbiviz-json-template.js +2 -2
  37. package/templates/pbiviz.json.template +1 -1
  38. package/templates/plugin-ts-template.js +1 -1
  39. package/templates/visuals/default/.eslintignore +5 -0
  40. package/templates/visuals/default/.eslintrc.js +20 -0
  41. package/templates/visuals/default/package.json +9 -8
  42. package/templates/visuals/default/pbiviz.json +3 -2
  43. package/templates/visuals/default/tsconfig.json +2 -2
  44. package/templates/visuals/rhtml/.eslintignore +5 -0
  45. package/templates/visuals/rhtml/.eslintrc.js +20 -0
  46. package/templates/visuals/rhtml/package.json +7 -6
  47. package/templates/visuals/rhtml/pbiviz.json +2 -1
  48. package/templates/visuals/rvisual/.eslintignore +5 -0
  49. package/templates/visuals/rvisual/.eslintrc.js +20 -0
  50. package/templates/visuals/rvisual/package.json +5 -4
  51. package/templates/visuals/slicer/.eslintignore +5 -0
  52. package/templates/visuals/slicer/.eslintrc.js +20 -0
  53. package/templates/visuals/slicer/package.json +8 -7
  54. package/templates/visuals/table/.eslintignore +5 -0
  55. package/templates/visuals/table/.eslintrc.js +20 -0
  56. package/templates/visuals/table/package.json +8 -7
  57. package/templates/visuals/table/tsconfig.json +4 -0
  58. package/tsconfig.json +22 -0
  59. package/bin/pbiviz-info.js +0 -54
  60. package/bin/pbiviz-new.js +0 -82
  61. package/bin/pbiviz-package.js +0 -122
  62. package/bin/pbiviz-start.js +0 -142
  63. package/lib/CommandHelpManager.js +0 -51
  64. package/lib/VisualPackage.js +0 -118
  65. package/templates/visuals/default/tslint.json +0 -9
  66. package/templates/visuals/rhtml/tslint.json +0 -9
  67. package/templates/visuals/rvisual/tslint.json +0 -9
  68. package/templates/visuals/slicer/tslint.json +0 -9
  69. package/templates/visuals/table/tslint.json +0 -9
package/Changelog.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  This page contains information about changes to the PowerBI Visual Tools (pbiviz).
4
4
 
5
+ ## 5.0.0
6
+ * Migrated to TypeScript
7
+ * Migrated to eslint
8
+ * Fixed vulnerabilities
9
+ * Migrated to newest CommanderJS
10
+ * Migrated to NodeJS 18.0 **⚠**
11
+
5
12
  ## 4.3.2
6
13
  * LocalizationLoader has been moved to `powerbi-visuals-webpack-plugin`
7
14
 
package/README.md CHANGED
@@ -24,7 +24,7 @@ Before you can get started you'll need to install the tools. This should only ta
24
24
 
25
25
  Before you can run (or install) the command line tools you must install NodeJS.
26
26
 
27
- * NodeJS 10.0+ Required - [Download NodeJS](https://nodejs.org)
27
+ * NodeJS 18.0+ Required - [Download NodeJS](https://nodejs.org)
28
28
 
29
29
  #### Installation
30
30
 
package/bin/pbiviz.js CHANGED
@@ -27,46 +27,65 @@
27
27
 
28
28
  "use strict";
29
29
 
30
- let confPath = '../config.json';
31
- let program = require('commander');
32
- let npmPackage = require('../package.json');
33
- let ConsoleWriter = require('../lib/ConsoleWriter');
34
- let config = require(confPath);
35
- let args = process.argv;
36
- let CertificateTools = require("../lib/CertificateTools");
30
+ import { createCertificate } from "../lib/CertificateTools.js";
31
+ import ConsoleWriter from '../lib/ConsoleWriter.js';
32
+ import CommandManager from '../lib/CommandManager.js';
33
+ import { readJsonFromRoot } from '../lib/utils.js';
34
+ import { Command, Option } from 'commander';
37
35
 
38
- ConsoleWriter.info(`${npmPackage.name} version - ${npmPackage.version}`);
36
+ const npmPackage = readJsonFromRoot('package.json');
37
+ const rootPath = process.cwd();
38
+ const program = new Command();
39
39
 
40
- program
40
+ const pbiviz = program
41
41
  .version(npmPackage.version)
42
- .command('new [name]', 'Create a new visual')
43
- .command('info', 'Display info about the current visual')
44
- .command('start', 'Start the current visual')
45
- .command('package', 'Package the current visual into a pbiviz file')
46
- .option('--install-cert', 'Creates and installs localhost certificate', onOpenCertFile);
42
+ .option('--install-cert', 'Creates and installs localhost certificate', createCertificate)
43
+ .showHelpAfterError('Run "pbiviz help" for usage instructions.')
44
+ .addHelpText('beforeAll', ConsoleWriter.info(`${npmPackage.name} version - ${npmPackage.version}`))
45
+ .addHelpText('before', ConsoleWriter.getLogoVisualization());
47
46
 
48
- //prepend logo to help screen
49
- if (args.length === 2 || (args.length > 2 && args[2] === 'help')) {
50
- ConsoleWriter.logo();
51
- }
47
+ pbiviz
48
+ .command('new')
49
+ .usage("<argument> [options]")
50
+ .argument('<name>', 'name of new visual')
51
+ .option('-f, --force', 'force creation (overwrites folder if exists)')
52
+ .addOption(new Option('-t, --template [template]', 'use a specific template')
53
+ .choices(['default', 'table', 'slicer', 'rvisual', 'rhtml', 'circlecard'])
54
+ .default('default')
55
+ )
56
+ .action((name, options) => {
57
+ CommandManager.new(options, name, rootPath);
58
+ });
52
59
 
53
- program.parse(args);
60
+ pbiviz
61
+ .command('info')
62
+ .action(() => {
63
+ CommandManager.info(rootPath);
64
+ });
54
65
 
55
- if (program.args.length > 0) {
56
- let validCommands = program.commands.map(c => c.name());
57
- if (validCommands.indexOf(program.args[0]) === -1) {
58
- ConsoleWriter.error("Invalid command. Run 'pbiviz help' for usage instructions.");
59
- process.exit(1);
60
- }
61
- }
66
+ pbiviz
67
+ .command('start')
68
+ .usage('[options]')
69
+ .option('-p, --port [port]', 'set the port listening on')
70
+ .option('-d, --drop', 'drop outputs into output folder')
71
+ .option('--no-stats', "Doesn't generate statistics files")
72
+ .action(async (options) => {
73
+ CommandManager.start(options, rootPath);
74
+ });
62
75
 
63
- async function onOpenCertFile() {
64
- let certPath = await CertificateTools.getCertFile(config, true);
65
-
66
- if (!certPath) {
67
- ConsoleWriter.error("Certificate not found. The new certificate will be generated");
68
- await CertificateTools.createCertFile(config, true);
69
- } else {
70
- await CertificateTools.openCertFile(config);
71
- }
72
- }
76
+ pbiviz
77
+ .command('package')
78
+ .usage('[options]')
79
+ .option('--resources', "Produces a folder containing the pbiviz resource files (js, css, json)")
80
+ .option('--no-pbiviz', "Doesn't produce a pbiviz file (must be used in conjunction with resources flag)")
81
+ .option('--no-minify', "Doesn't minify the js in the package (useful for debugging)")
82
+ .option('--no-stats', "Doesn't generate statistics files")
83
+ .addOption(new Option('-c, --compression <compressionLevel>', "Enables compression of visual package")
84
+ .choices(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'])
85
+ .default('6')
86
+ )
87
+ .action((options) => {
88
+ CommandManager.package(options, rootPath);
89
+ });
90
+
91
+ program.parse(process.argv);
@@ -1,28 +1,28 @@
1
1
  -----BEGIN PRIVATE KEY-----
2
- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCt6LQgF0rF6JfW
3
- 9eXIvaK8aGccaMqPQtLLh1Nc+xNxzfZ33DbZHaZrt7cO1obfeUVQ7KWUMHAXmUBz
4
- Fr01bCiSHKe8BKRxb502NXYtZuO9cGDk4Ya3U6QxDqKWMz3+0qpwsnsGGOqLo+EJ
5
- 1v0crKtPZS4S39rl1tAIRdyiJimH87B+DjuQpI9pOrnWsdikuK++Q+htp5dEPPjF
6
- uMszYJNXN9MGV3Q2yxzxmhG9HY2YcDLrNUnXD2O9Sd2oj50IUDjALArIVMiTV0fe
7
- yde7QLT5QUizx69dZCFlnjf/1wj9MZquuZEewnuJJGtegZF07GUtm0axyVZjBkgB
8
- WP9SIyFtAgMBAAECggEAJa5eGPXzBZ64B6OP/kbYk+orLUSnXxMjiWXw8hyUwfvW
9
- g3H7kF+UR5Ku31AsOQ+VrUsZNVqpbvONu2IZ7RFaWQ5Mabi3yLxeW/iJepzoi4tl
10
- 8zHKdr5wvRBmuhSwQh5zP6fscA3GBCul/vPONABVvgY2TXCjhVleCezZOWj7ZrFS
11
- VD5ZLR55aoIrGu5YDN1eb5q2pnM8DpRTQVMtC0SaYnduiS9gnM5p6/UnJtJmVJa2
12
- yPtUXEv5v6/qWcVoh4Yq6nzNC0aCs++QH0CuT9HYML/z2X3EPbJlNOMHYQeBZIEy
13
- tZxZuXOUNjMf2riZtkrhWWlJBjM6cZSlIe+abJyrIQKBgQDujSwrLdG0tQNYe0yU
14
- xGNW0yk0X0y/H+9+xb0FWFyI/JBXSkpKmgtJ7gANAKgQ9lnAXKg09RZ5czU4ew2m
15
- tz2WWWkUDw8wcl5W3DsbWwNp0Xf4ZK6R/HNbUEAQrEYEkg9ZVFCkN9+yI/4wq0/r
16
- gQp6b3l07Z/fbTQ3NSRWhBC6EwKBgQC6oR0+L+scTwy7jNa3fLhe4tzctOaynEqP
17
- GWU7I4gMiMYKga2CPEe1Hd4JbIe16KrLZ7djNCy6MkDiu0kYjavB+ZaNAVIIuYWh
18
- 2gQI81iyOtJRJfb5Z3SLG7WfGsMFETwV9nqIapy8PREQMT0bOlNtxCRfHcshNCRx
19
- BYWiq+gmfwKBgQCMl9VdSW7bwwdKwbh7wVcO1/rj6/rOdeLv41io6s/2yGvFlno8
20
- h5d5pfSPtUBYZui0r6dPNtddEuJd/GAqTrrUfrOoZ8u68Nza8oc/cx+K4TKEycn9
21
- Lj1KpvxrFy1ZCkBTlJbGgkursPzh8EV09iOXz1VU7auYwcLReteEyecV0wKBgB6u
22
- WfZdPlObE0bJ8oqbsFu5BAIsozh9xSwdSq0cPEODQLt9ch7U9hzqWhRGiVD4fQuP
23
- c3CVpTy/AjfD/lJRCAmNlJh9vRS+Gx/ujXdDOjOiw+yfRyjdPyWXWpZbefAdUzlx
24
- GdfPXxD7IRD+Z0NQpWKIOkqAxWIiBlOmSr/hbvrVAoGBALyJ+Ovefv2LO/Ez66S0
25
- 318LpnDOrVh/RRFxL4oCIUMZRLTXqjBiBrFbuOuHXUOlmIT6Wv5fkMtEKbZqjoFs
26
- HKOJsQGIf2a+KGGNWpHY0b1cLncLWb0fYzeB+6ezPOxXZJ3WM+115Aj00ZVzNjVA
27
- aRYc4vrWxJaR/fD5zni83gRp
2
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCi3X3hDfJ24lQJ
3
+ nEPNxT37WNNDVD4Dq4yb5aTrDWxZJT7U1Je7G9j4y3+LE6s4HioehtGHRXECfVZ7
4
+ Ts8t2oVhiim9751ECTSmsAFEboy7t8mvLCFlIvjU1NZUXlAe1dO/ekcecLSnzczF
5
+ x+l8VgNve0DYRgRjuckgI4UDNrTCvKqxlQUW2YSh+/nmUiF9A9ZPfq2gkSiZLsS5
6
+ tpRvVx102en1JZ1FLu3dZ/oI3A5HeDZgAW9HkSPZVBcp+aSG+S8ZHCRD/2B/qynt
7
+ 9IDwFotNQgnMJjl1Z3Y0qHQIntNUmv6MPFPgNEqk40ceT5CdA+jjZrgPxAjG3LR+
8
+ 6EMchWXlAgMBAAECggEAGLw+DYvCOvcV313J2Hsv9jgf4fZt8r2/vb+rg/2GaqWi
9
+ /M0K/GJ22haCGPvUQdInAHrmYL6VstSZaWHnSmYJYu6Kd2vofThOtFA/6QZHPo1j
10
+ xsSTj9o3Y4+tu6OVVJGSNt8Z5RAmB+RUSOebWQRxQiG8j/xWV1UUrFporbvFyVuD
11
+ B+EWhUiUQSFlIFHuI/abMDGYChw05N0sRj78zU/ezBxxlvuxXacjbT8x3/3yROW5
12
+ 8ys9SW2C1ITUGpjM3m/ycF/IFgK7okklpQrZarha6wOeizx9v3g5TlhyscN4epTi
13
+ ARR3MqpCecmTq/cCbszGhtr/cjXoW6uxoNSI2jzLowKBgQDY8sXPpf3C9yUVhxfX
14
+ DRtZ0g20PXz6cYP88e3dJrkxXZljdEbvq0/5y2gR1jhVG1nyRpJrQ2ndGfsRN1Sb
15
+ BHfOaf75ra1wBbDo05YvuQYq6YXfnH/sKGeRIcnrZ3g9Zso8WAQLlkQ65oW1ZQCM
16
+ gxDw8gu0rIiNSJtkzX+RJVyRIwKBgQDALoGt+qK/gGKom2JmyGpxieHgj/dPWCJL
17
+ uVk++PjC0v+4PznlhPk/6FFiMaQdgi0VnSbVtCuxiNFwcRWtT9EZRzbFb/bFxMNO
18
+ Yd56onzbtJ9HupK3hhJ1ECY53uLpQlVnvHupG1xTE4jbOrmZxMKr7NdSNnvogPEF
19
+ F7rty4xRVwKBgEJOQMLsGpjB7GWd+l1RtjBHkMSrnkz08MAYOPjEYwmBb+YDncKW
20
+ e0T/M/lvnZv1VhJEG3AJFIvs6t0iKguO3AcMQk+RE1cPhjhCor5HMGlhIfdr33UQ
21
+ DEdBKnN2Fju99MVoqSPZc1UFK4x7KCXJ0R2y/Hzl1n5H2KaAYCK+ZoI9AoGAPszz
22
+ w46rsDicBM0CEuRbJE8SaPeisWLzkhs3dsSVRdT9i4/ds4sIiEG6loPyRVJMuUtp
23
+ bVw7CwDSsBPEKaZzhfcnhs1Xrrjlua9xrFF8y67yfdYSK7a8QVTNqQuUyvTKQ+Pr
24
+ 5Q7z1JIFnt5J2F3b36K9mjgDta6tFCT1CNADQnECgYAJ20mQQEFO4xkaq5kkmben
25
+ sKBJXWl/a/5lg9mIGLpbe7iLFZyCiNaCP1+QuPYJ9cihff270zU4rSXEp/BKUA5s
26
+ 084ozyhzCQ3UhYgZNte25Ct2Cwa6putzf++V31lu+zVs+WkPtOjKOStYc9MGD557
27
+ oilZTxLWnVw/xSwoCJUc9g==
28
28
  -----END PRIVATE KEY-----
@@ -1,19 +1,19 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIDCTCCAfGgAwIBAgIUb0Ahy3dl5lVvF6fgf0i2d3yTBywwDQYJKoZIhvcNAQEL
3
- BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDUxMDA4NTYyMVoXDTI0MDUw
4
- OTA4NTYyMVowFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
5
- AAOCAQ8AMIIBCgKCAQEArei0IBdKxeiX1vXlyL2ivGhnHGjKj0LSy4dTXPsTcc32
6
- d9w22R2ma7e3DtaG33lFUOyllDBwF5lAcxa9NWwokhynvASkcW+dNjV2LWbjvXBg
7
- 5OGGt1OkMQ6iljM9/tKqcLJ7Bhjqi6PhCdb9HKyrT2UuEt/a5dbQCEXcoiYph/Ow
8
- fg47kKSPaTq51rHYpLivvkPobaeXRDz4xbjLM2CTVzfTBld0Nssc8ZoRvR2NmHAy
9
- 6zVJ1w9jvUndqI+dCFA4wCwKyFTIk1dH3snXu0C0+UFIs8evXWQhZZ43/9cI/TGa
10
- rrmRHsJ7iSRrXoGRdOxlLZtGsclWYwZIAVj/UiMhbQIDAQABo1MwUTAdBgNVHQ4E
11
- FgQU9S5eM+NXgLaWklNwuiUBrOSMydUwHwYDVR0jBBgwFoAU9S5eM+NXgLaWklNw
12
- uiUBrOSMydUwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAbBy4
13
- mARqkoNtP/cxlKxIHm0u8yYZxv0K/FjyA1PdB8iMkf96kSN7PVgjReGu8AYymUWF
14
- 0dJiPwWYg917wfRWNadnNljnakA7QfAfxNjFwKANbccW5FJNXSc5pxZoDu06AvEt
15
- lw/Xx7JmQDDwrLk3jecTZy2m+mPxaQlJa0pd8+DerQZ5f5RbvgBp6Am7oGApvvb6
16
- XW0PzpApvrT/r/2jGyqU8P/lEL0FdsHrDlK9YusozpNK+j3broEzCUR4F363rEOf
17
- GPIiy2xFAvhq9s1fWY3Cof7+/nDRVYapIadUOw/irIKY9uzPtqkXKEgFw5lZwLnL
18
- MUj+ODfSVhjI5kPp2Q==
2
+ MIIDCTCCAfGgAwIBAgIUU4UcF0xMfHlD1fGJZHbh+qlUYUcwDQYJKoZIhvcNAQEL
3
+ BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDcyMDA3NDMxM1oXDTI0MDcx
4
+ OTA3NDMxM1owFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
5
+ AAOCAQ8AMIIBCgKCAQEAot194Q3yduJUCZxDzcU9+1jTQ1Q+A6uMm+Wk6w1sWSU+
6
+ 1NSXuxvY+Mt/ixOrOB4qHobRh0VxAn1We07PLdqFYYopve+dRAk0prABRG6Mu7fJ
7
+ rywhZSL41NTWVF5QHtXTv3pHHnC0p83MxcfpfFYDb3tA2EYEY7nJICOFAza0wryq
8
+ sZUFFtmEofv55lIhfQPWT36toJEomS7EubaUb1cddNnp9SWdRS7t3Wf6CNwOR3g2
9
+ YAFvR5Ej2VQXKfmkhvkvGRwkQ/9gf6sp7fSA8BaLTUIJzCY5dWd2NKh0CJ7TVJr+
10
+ jDxT4DRKpONHHk+QnQPo42a4D8QIxty0fuhDHIVl5QIDAQABo1MwUTAdBgNVHQ4E
11
+ FgQUw6fYQDkuenlPn0I04iICZ7IwxKkwHwYDVR0jBBgwFoAUw6fYQDkuenlPn0I0
12
+ 4iICZ7IwxKkwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAm00D
13
+ jOW/wg/QXlR3vyL79+QWiRwVKCLe81jBtH8YvOp644pXvU4KNzPxum+acfMZNgGX
14
+ TDSo9+K2jsJUddTdaMwX1XkY/HsYRgXtLF0y6O/2N+iqOyfeWg768G3KHoKruDk8
15
+ pUMe4hxkCHMStOhgxlVTpBmX1vGejkLncFLXZR2sfu8pXoNDwpy4VygEgl7f6WAO
16
+ aa0OM3xLX+U5P2aH8WRH4GDbfAqO2zYC1wzoguJIvYGgfcPL1mF+gjzSRAWr2Ia6
17
+ qNZXOL6Tf3WURblbyGx0H0RadRmK90W5GX2y/wqkBNHmhlizljammeNuiOWIQQWU
18
+ HDDjrvTD8qw+qNNMKw==
19
19
  -----END CERTIFICATE-----
package/config.json CHANGED
@@ -1,35 +1,28 @@
1
1
  {
2
- "templates": {
3
- "visuals": "templates/visuals",
4
- "pbiviz": "templates/pbiviz.json.template",
5
- "plugin": "templates/plugin.ts.template",
6
- "package": "templates/package.json.template"
7
- },
8
- "generate": {
9
- "apiVersion": "3.8.0"
10
- },
11
- "constants": {
12
- "minAPIversion": "3.2.0"
13
- },
14
- "build": {
15
- "precompileFolder": ".tmp/precompile",
16
- "dropFolder": ".tmp/drop",
17
- "js": "tmp.visual.js",
18
- "css": "visual.css",
19
- "stats": "../../webpack.statistics.html"
20
- },
21
- "package": {
22
- "dropFolder": "dist"
23
- },
24
- "server": {
25
- "root": "webRoot",
26
- "assetsRoute": "/assets",
27
- "privateKey": "certs/PowerBICustomVisualTest_private.key",
28
- "certificate": "certs/PowerBICustomVisualTest_public.crt",
29
- "pfx": "certs/PowerBICustomVisualTest_public.pfx",
30
- "port": "8080"
31
- },
32
- "visualTemplates": {
33
- "circlecard": "https://codeload.github.com/microsoft/powerbi-visuals-circlecard-react/zip/master"
34
- }
35
- }
2
+ "templates": {
3
+ "visuals": "templates/visuals",
4
+ "pbiviz": "templates/pbiviz.json.template",
5
+ "plugin": "templates/plugin.ts.template",
6
+ "package": "templates/package.json.template"
7
+ },
8
+ "generate": { "apiVersion": "5.3.0" },
9
+ "constants": { "minAPIversion": "4.7.0" },
10
+ "build": {
11
+ "precompileFolder": ".tmp/precompile",
12
+ "dropFolder": ".tmp/drop",
13
+ "js": "tmp.visual.js",
14
+ "css": "visual.css",
15
+ "stats": "../../webpack.statistics.html"
16
+ },
17
+ "package": { "dropFolder": "dist" },
18
+ "server": {
19
+ "root": "webRoot",
20
+ "assetsRoute": "/assets",
21
+ "privateKey": "certs/PowerBICustomVisualTest_private.key",
22
+ "certificate": "certs/PowerBICustomVisualTest_public.crt",
23
+ "pfx": "certs/PowerBICustomVisualTest_public.pfx"
24
+ },
25
+ "visualTemplates": {
26
+ "circlecard": "https://codeload.github.com/microsoft/powerbi-visuals-circlecard-react/zip/master"
27
+ }
28
+ }