powerbi-visuals-tools 4.3.3 → 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 +20 -12
  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
- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDOSWlsqIWSWZW5
3
- 8abJJymt4EcIUJA3HLW1NbMO43gdF+G/qiGbo3SoEHZEBm3wCiTDndFUXwqhfts9
4
- WUPg2R3hEP9l1BzidxyEktGJnjGwz2HDq2HdoTqTViHgZpso19kcfP3YOQdu8b9W
5
- X4cKrx2N5pJJjADRjyJsNqNKV5WdXBj5eAgy5BY70L7aew80PXVQ3fSl7/2f1tHC
6
- DxMdJwh+RKJnkpi72j5Gzgr5+q/oy0jrajNC8KLUR5DCXloeR6HjNHLjMM9oMsuu
7
- r6GspZkNWtA2WgZRQxF2YFG9XmS+e4bpsgnvqVCXodFbUcqhvJul+DYHNlvsQ5aP
8
- vdrO46zfAgMBAAECggEAVAhRuuK3btOxi4qmH6EleGA5b2iqJtk6KDRU2cbN4kQd
9
- QR+EC0u9tMzn8HQSCsuHCGzcnhsNUJZFpysa3Jh1dH6hG5EZpyNQaa0JUJ8xrM3+
10
- DGBfQJJyMxzONgR2RmAPYGyGV7N7lLVD9WJ6t154kpqPkwhGOReutRhY0mr1VqE2
11
- /gv3RHQqPMwKVIJjm7TgJH586c84xZaWjlF9OnbKm6jTkbW9zdHcALB76EWowNy8
12
- BNVk6kfF8DnfDJ/9hvQPFR4oGQ+gUiywPQPuwRWltfwyH1u9N+lN8RNUxklsXRuU
13
- yOYWJ7YYMwVj6fAAPEhaMKWQg0MoF6RXIn8HHr5p0QKBgQD4QwTccUwqZG0apyc5
14
- 0i6Yuaug/ovmx26Lgkysw1OwnR7O78RZe6ofs2scpMLaKignXVj38WDstj6IZR6M
15
- SUCjbXxpF7SFbqDn1qikIANf9y9vVoamv8S3Mu+uN9ajYBOh9ptE1JfESuaIGREx
16
- /h4VCfSkwBFmrQh8LFWFVEnb+QKBgQDUt3UHN77/8MJhY1VKOaeRxeE8zNqw7y2P
17
- G54eeLPGecrXsQ8kIJ1Dod7zWa5ieB1HL8sA7JTloZvqbpOLS0FVa++MJZs/nGlp
18
- Fk6L48GeoQetXHdNi1AsRT/td31uZhs9eyZaCS64C0fGzj6K4rqgfYrKlYAAxmd2
19
- 4G23kWOVlwKBgCotSKAi52u0UAzdJP7fxGbR9GSPmjkE3LT62Afpz0gMCXXiqhsB
20
- tW9ZTfM50pi53MSDSWAmM+9DLvCBLWVr9H1PVnmMO3EH0HJSt6fagHhHSFnD+3BM
21
- 2CC/mJSii+aJpgw4FzzkWTxR9URd7dvubjHo1RVARDSLZQujhIv4O+wRAoGAYMxH
22
- PgyZJyDpY6XvRwKrhYN1ttRF5GRC6C+aKaWlsXj03GhfSoJo7kD4EudJmtesAxv1
23
- lisSqth6+hhtneKWDYg7jxwB5NWJhl+3SKNRFZ2Tv8knJStzRWIR8D8C3j0qwjSL
24
- REePcgL4G7j47vy0DppykTOs9y1SId+JLhLELWsCgYBwz8GwVMG0nxMJVsmkcg5V
25
- JGGSDMwtS3qPNN6QgTqzBnLiUHAdjz4RDsKEC9bPqi5//OePV2skaoAXWJmykl//
26
- 8hGUr9YX1Lb6sh2ilfgnkDQdwMlVBXYgE5qUFoFmDtsymtKtdtKfpZz066llLl4y
27
- dBHWdyVaFgzl9YYIBchpEw==
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
- MIIDCTCCAfGgAwIBAgIUELR3jPqp7LJNe+IaYBSt/PMQEuUwDQYJKoZIhvcNAQEL
3
- BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDcxODA5NDgwM1oXDTI0MDcx
4
- NzA5NDgwM1owFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
5
- AAOCAQ8AMIIBCgKCAQEAzklpbKiFklmVufGmyScpreBHCFCQNxy1tTWzDuN4HRfh
6
- v6ohm6N0qBB2RAZt8Aokw53RVF8KoX7bPVlD4Nkd4RD/ZdQc4ncchJLRiZ4xsM9h
7
- w6th3aE6k1Yh4GabKNfZHHz92DkHbvG/Vl+HCq8djeaSSYwA0Y8ibDajSleVnVwY
8
- +XgIMuQWO9C+2nsPND11UN30pe/9n9bRwg8THScIfkSiZ5KYu9o+Rs4K+fqv6MtI
9
- 62ozQvCi1EeQwl5aHkeh4zRy4zDPaDLLrq+hrKWZDVrQNloGUUMRdmBRvV5kvnuG
10
- 6bIJ76lQl6HRW1HKobybpfg2BzZb7EOWj73azuOs3wIDAQABo1MwUTAdBgNVHQ4E
11
- FgQUBhZ5+H7vF/fRcLn8DwDof/oF1OwwHwYDVR0jBBgwFoAUBhZ5+H7vF/fRcLn8
12
- DwDof/oF1OwwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAJWcq
13
- W+T1hVENeUzllGC90/JaEIEzrMwnlhHCoC6LjVo9MBcpVL4gNzMYMJvNf6VuJu9u
14
- KVlN84tylrNV7G2YFKB3YcP54E7r/wi5i19OSuZ58b53U8Uo5zIGXlp2BuOwuSzr
15
- /oeQcXg3WAaS6qADg9ZD+DeWLw38QnwUDDl1Co4bS1Cr1t63P8xOMNdZB61J3hfa
16
- 0k2ZWopzWInSFkDdu5SyZNISRBaXPrcCKzI25owbqWk0SdhrGFPFszH+w0XoLtEc
17
- i63sJp/98yP+zh5AgxtjR68YBwpQzVI9jVzrxZNLca0oh5KLX3kSPXa8N6EZYAmi
18
- osIHF7K4GD9KFzpULg==
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
+ }