powerbi-visuals-tools 4.3.3 → 5.0.1

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 +10 -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 +20 -13
  15. package/lib/webpack.config.js +48 -56
  16. package/package.json +21 -13
  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 +40 -0
  35. package/src/webpack.config.ts +145 -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,16 @@
2
2
 
3
3
  This page contains information about changes to the PowerBI Visual Tools (pbiviz).
4
4
 
5
+ ## 5.0.1
6
+ * Fixed broken imports in webpack.config for some cases
7
+
8
+ ## 5.0.0
9
+ * Migrated to TypeScript
10
+ * Migrated to eslint
11
+ * Fixed vulnerabilities
12
+ * Migrated to newest CommanderJS
13
+ * Migrated to NodeJS 18.0 **⚠**
14
+
5
15
  ## 4.3.2
6
16
  * LocalizationLoader has been moved to `powerbi-visuals-webpack-plugin`
7
17
 
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
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDR1WMQoToRp+2T
3
+ IBC+pR/KnnaeF0QcKQF+0BmjSPKiJ7gRv9NlOX2ZuiDj/uFdHvVWO4ALhIt+NhKO
4
+ eAxPPN/ekMHKJoxLxBrVHcvi8P5QKOraeklY5xiICLevUWsQ4XAWL3HaKx0ocPJQ
5
+ qNnVzYykT01kg1HKBMmx2bFx3vff7wJMTN0luU4YFnvjtjFr/PD7d8No889Ud6Ho
6
+ BzMSeOVyApvMI5TzsPqLiabZqZYiASw3E+P6RwZGYBwGcNegZVzhGOCIEHV6X1s0
7
+ McVkwHjYnFTd808kZ2swU3uCDOW8t9mCxsT81gD2X9JfGQH8QnDLi12gC67TIb7P
8
+ wxZXDcZ9AgMBAAECgf9NdPecq+dDnTmVlcCYn1uc7+HZeb0qp/hlV2wfWk42jXLl
9
+ Gmpuc0pp9MsvXmbSeRsXOd+KYOMdM9ilvqrMlSwOfGEMvi4Lydgd02Hv5AX8kR4g
10
+ iAOLTcNAc/daQDPFh3JYvirI3iFlTEwmei3vPnEsNhnbgJ4wdJP/ktxtrGDTyDtv
11
+ lAL8Kjm0QYQzsmaeTZ97/Z5jBQf/UzUnPW+MeEteer185kuL8lKzAn5MLU5qzpsV
12
+ h7FDemCg0RLShJ8GAyIb0F6SqK8m5oJAssxXALklfUibwFFyIJXTnGTzcz/t+5rk
13
+ PVIItw9b0wJRZbZTnpbefbI978dVmVW0Ebagx6cCgYEA5Fz7uSQQHf9yGBxES2NH
14
+ BVzdZPCaJpkdyejMSUAYl5tVF622Mo5cNAlL9nsHJn+Ouenc6HZyoWAcWXAa2y9u
15
+ bM17Zv3p+ZkECBoEQD3jJDJSmTIvf3MPeyBz1YPkrmvxr3Paul4yOx58RxsY8o4i
16
+ 2uBEC5grPOQ0OqEcwfTE6q8CgYEA6zpT/ejNMHNxrQk8y3HPAIM0gKoXgsKDRx/h
17
+ RoAB6grC5GBrQ2NSa1zEne2/9B7A8etSrYNeK7kKUyRPXdpBArZMQ6qU2zUbOk5x
18
+ G2W14RzoZhKcutdq0QiR1/EIhNjyxM+ug8iIbZnlQbzN3LUDXmpiO7pPdUM8+TRT
19
+ 7kMmPJMCgYEAnm7URZJ7jBRZd9jEmPj7oQDYqNs0V2sLe7WDZZ6OcUBXPOJL8a9K
20
+ 0N9SUGLyhwcgYmOZ272xsbwYbwST3VV+6wV0g/PNjFlYrrY+FMPa/pXbMGXdBjMx
21
+ nl7ZflzPHyPMvclHCt2nQ9TWrA5ktINgMzI8gz7DYK+CfNqiNP44UAkCgYEAxtcU
22
+ fvMW2FkOA65mVLeMuyst64FcxGz2md3qCTVV6OhV3MVghqNj3Vua3MFH3O1OPnGk
23
+ /wWoSh9uCeAMsxI2mDtPdnewwyg+Luh2FinBOFy+WuJq2EoWgkLTPg4DHIFjnljM
24
+ dZvDL5rCv/IAtwvQoDQfe8u/NSm0VhgUxri+jr8CgYEApyRX9mpaqoVnyvt8tO3v
25
+ knDtBjSkSg1RH7YgvkSnm+COtjeeaRJLE5FbqbE1MxOM8Uw3vxjjJO0EK+ALB1+7
26
+ 6cC6BNMBppnOi28iClMJbdFm7b1/hR3M2VIKXTo/ostWpyhi2D4jL0e2sHBAOfmd
27
+ y/zyzdcQx4Cr/OdiqEV6FH0=
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
+ MIIDCTCCAfGgAwIBAgIUMxSp+t25lEMX+I2Qwl2VPvaIhMswDQYJKoZIhvcNAQEL
3
+ BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDcyNDE4NTUyNVoXDTI0MDcy
4
+ MzE4NTUyNVowFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
5
+ AAOCAQ8AMIIBCgKCAQEA0dVjEKE6EaftkyAQvqUfyp52nhdEHCkBftAZo0jyoie4
6
+ Eb/TZTl9mbog4/7hXR71VjuAC4SLfjYSjngMTzzf3pDByiaMS8Qa1R3L4vD+UCjq
7
+ 2npJWOcYiAi3r1FrEOFwFi9x2isdKHDyUKjZ1c2MpE9NZINRygTJsdmxcd733+8C
8
+ TEzdJblOGBZ747Yxa/zw+3fDaPPPVHeh6AczEnjlcgKbzCOU87D6i4mm2amWIgEs
9
+ NxPj+kcGRmAcBnDXoGVc4RjgiBB1el9bNDHFZMB42JxU3fNPJGdrMFN7ggzlvLfZ
10
+ gsbE/NYA9l/SXxkB/EJwy4tdoAuu0yG+z8MWVw3GfQIDAQABo1MwUTAdBgNVHQ4E
11
+ FgQUdVL9VTkbLJWGTUXaoxQ3Q0px1aMwHwYDVR0jBBgwFoAUdVL9VTkbLJWGTUXa
12
+ oxQ3Q0px1aMwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAxgJg
13
+ PbzNc1+YI8BTNaIfwqhzuZ85xJlxMUY3YikjaVpZJs4wik1CL1M/TN/6s6MNiHrw
14
+ fH7QhJGgt7tq5TEjUpDjVNDtYMX6/tx1XdjYTsIl3zBJkz9GUPckdF8OcK8a+D3R
15
+ 7LPyMKUQ38LzbDwfbkAjXeWL23E/gJcd7p14/Eeyew6/6Xi2RLdHrH5teSjyIZ9B
16
+ 1cM/1Nv1Q634Xts5o6SNvPfWyX0BxsmQYGraOXzNSS+oSilOEaMILHWWXXrGMtxN
17
+ W7mjZfpXjM0Ofx4XatEdmO5664RpzA0QKltEV8IVohGbS26WfErrjsYVZ/zoO4dC
18
+ cTpYSCqOl0e8eqfLnw==
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
+ }