powerbi-visuals-tools 6.2.0 → 7.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.
package/Changelog.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  This page contains information about changes to the PowerBI Visual Tools (pbiviz).
4
4
 
5
+ ## 7.0.1
6
+ * Fixed issue with missing `lib/*` files in latest versions.
7
+ * Updated packages
8
+
9
+ ## 7.0.0
10
+ * **BREAKING CHANGE**: Removed Node.js polyfills from webpack configuration for improved security and reduced bundle size. Node.js modules (crypto, buffer, stream, etc.) are no longer automatically available in the browser environment.
11
+ * Removed browserify polyfill packages from dependencies (assert, buffer, crypto-browserify, console-browserify, constants-browserify, domain-browser, events, https-browserify, os-browserify, path-browserify, process, punycode, querystring-es3, readable-stream, stream-browserify, stream-http, string_decoder, timers-browserify, tty-browserify, url, util, vm-browserify, browserify-zlib)
12
+ * **Action Required**: Review your visual code for Node.js module usage and remove them or update to browser-compatible alternatives
13
+
5
14
  ## 6.2.0
6
15
  * Changed source map generation to `inline-source-map`. It includes source maps into the end of file instead of separate one. It's required because of latest changes in Power BI that forbids loading `.map` files.
7
16
  * Updated packages
@@ -0,0 +1,37 @@
1
+ import typescriptEslint from "@typescript-eslint/eslint-plugin";
2
+ import globals from "globals";
3
+ import tsParser from "@typescript-eslint/parser";
4
+
5
+ export default [
6
+ {
7
+ files: ["*.ts", "*tsx"],
8
+ ignores: [
9
+ "node_modules/",
10
+ "dist/",
11
+ "templates/",
12
+ "spec/*/**",
13
+ "**/lib/",
14
+ "bin/",
15
+ "eslint.config.mjs",
16
+ ],
17
+ plugins: {
18
+ "@typescript-eslint": typescriptEslint,
19
+ },
20
+ languageOptions: {
21
+ globals: {
22
+ ...globals.node,
23
+ },
24
+ parser: tsParser,
25
+ ecmaVersion: 2023,
26
+ sourceType: "module",
27
+ parserOptions: {
28
+ project: "tsconfig.json",
29
+ tsconfigRootDir: ".",
30
+ },
31
+ },
32
+ rules: {
33
+ "no-unused-vars": "off",
34
+ "@typescript-eslint/no-unused-vars": "error",
35
+ },
36
+ }
37
+ ];
@@ -2,7 +2,6 @@ import { getRootPath, readJsonFromRoot } from './utils.js';
2
2
  import MiniCssExtractPlugin from "mini-css-extract-plugin";
3
3
  import TerserPlugin from "terser-webpack-plugin";
4
4
  import path from "path";
5
- import webpack from "webpack";
6
5
  const config = await readJsonFromRoot("/config.json");
7
6
  const rootPath = getRootPath();
8
7
  const webpackConfig = {
@@ -75,41 +74,67 @@ const webpackConfig = {
75
74
  modules: ['node_modules', path.resolve(rootPath, 'node_modules')],
76
75
  },
77
76
  externals: {
78
- "powerbi-visuals-api": 'null'
77
+ "powerbi-visuals-api": 'null',
78
+ // Prevent Node.js core modules from being bundled
79
+ "fs": "{}",
80
+ "path": "{}",
81
+ "os": "{}",
82
+ "crypto": "{}",
83
+ "http": "{}",
84
+ "https": "{}",
85
+ "url": "{}",
86
+ "util": "{}",
87
+ "stream": "{}",
88
+ "buffer": "{}",
89
+ "process": "{}",
90
+ "events": "{}",
91
+ "child_process": "{}",
92
+ "cluster": "{}",
93
+ "dgram": "{}",
94
+ "dns": "{}",
95
+ "net": "{}",
96
+ "readline": "{}",
97
+ "repl": "{}",
98
+ "tls": "{}",
99
+ "tty": "{}",
100
+ "zlib": "{}",
101
+ "constants": "{}",
102
+ "vm": "{}",
103
+ "assert": "{}"
79
104
  },
80
105
  resolve: {
81
106
  symlinks: false,
82
107
  extensions: ['.tsx', '.ts', '.jsx', '.js', '.mjs', '.css'],
83
108
  modules: ['node_modules', path.resolve(rootPath, 'node_modules')],
84
109
  fallback: {
85
- assert: "assert",
86
- buffer: "buffer",
87
- console: "console-browserify",
88
- constants: "constants-browserify",
89
- crypto: "crypto-browserify",
90
- domain: "domain-browser",
91
- events: "events",
92
- http: "stream-http",
93
- https: "https-browserify",
94
- os: "os-browserify",
95
- path: "path-browserify",
96
- punycode: "punycode",
97
- process: "process",
98
- querystring: "querystring-es3",
99
- stream: "stream-browserify",
100
- _stream_duplex: "readable-stream",
101
- _stream_passthrough: "readable-stream",
102
- _stream_readable: "readable-stream",
103
- _stream_transform: "readable-stream",
104
- _stream_writable: "readable-stream",
105
- string_decoder: "string_decoder",
106
- sys: "util",
107
- timers: "timers-browserify",
108
- tty: "tty-browserify",
109
- url: "url",
110
- util: "util",
111
- vm: "vm-browserify",
112
- zlib: "browserify-zlib"
110
+ assert: false,
111
+ buffer: false,
112
+ console: false,
113
+ constants: false,
114
+ crypto: false,
115
+ domain: false,
116
+ events: false,
117
+ http: false,
118
+ https: false,
119
+ os: false,
120
+ path: false,
121
+ punycode: false,
122
+ process: false,
123
+ querystring: false,
124
+ stream: false,
125
+ _stream_duplex: false,
126
+ _stream_passthrough: false,
127
+ _stream_readable: false,
128
+ _stream_transform: false,
129
+ _stream_writable: false,
130
+ string_decoder: false,
131
+ sys: false,
132
+ timers: false,
133
+ tty: false,
134
+ url: false,
135
+ util: false,
136
+ vm: false,
137
+ zlib: false
113
138
  }
114
139
  },
115
140
  output: {
@@ -135,10 +160,6 @@ const webpackConfig = {
135
160
  ignored: ['node_modules/**']
136
161
  },
137
162
  plugins: [
138
- new webpack.ProvidePlugin({
139
- Buffer: ["buffer", "Buffer"],
140
- process: "process/browser"
141
- }),
142
163
  new MiniCssExtractPlugin({
143
164
  filename: config.build.css,
144
165
  chunkFilename: "[id].css"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powerbi-visuals-tools",
3
- "version": "6.2.0",
3
+ "version": "7.0.1",
4
4
  "description": "Command line tool for creating and publishing visuals for Power BI",
5
5
  "main": "./bin/pbiviz.js",
6
6
  "type": "module",
@@ -29,61 +29,39 @@
29
29
  "homepage": "https://github.com/Microsoft/PowerBI-visuals-tools#readme",
30
30
  "dependencies": {
31
31
  "@typescript-eslint/parser": "^8.32.1",
32
- "assert": "^2.1.0",
33
32
  "async": "^3.2.6",
34
- "browserify-zlib": "^0.2.0",
35
- "buffer": "^6.0.3",
36
33
  "chalk": "^5.4.1",
37
34
  "commander": "^13.1.0",
38
35
  "compare-versions": "^6.1.1",
39
- "console-browserify": "^1.2.0",
40
- "constants-browserify": "^1.0.0",
41
- "crypto-browserify": "^3.12.1",
42
36
  "css-loader": "^7.1.2",
43
- "domain-browser": "^5.7.0",
44
37
  "eslint-plugin-powerbi-visuals": "1.1.0",
45
- "events": "^3.3.0",
46
38
  "extra-watch-webpack-plugin": "^1.0.3",
47
39
  "fs-extra": "^11.3.2",
48
- "https-browserify": "^1.0.0",
49
40
  "inline-source-map": "^0.6.3",
50
41
  "json-loader": "0.5.7",
51
42
  "jszip": "^3.10.1",
52
- "less": "^4.4.1",
43
+ "less": "^4.4.2",
53
44
  "less-loader": "^12.3.0",
54
45
  "lodash.clonedeep": "4.5.0",
55
46
  "lodash.defaults": "4.2.0",
56
47
  "lodash.isequal": "4.5.0",
57
48
  "lodash.ismatch": "^4.4.0",
58
49
  "mini-css-extract-plugin": "^2.9.4",
59
- "os-browserify": "^0.3.0",
60
- "path-browserify": "^1.0.1",
50
+ "powerbi-visuals-api": "~5.3.0",
61
51
  "powerbi-visuals-webpack-plugin": "^4.3.1",
62
- "process": "^0.11.10",
63
- "punycode": "^2.3.1",
64
- "querystring-es3": "^0.2.1",
65
- "readable-stream": "^4.7.0",
66
- "stream-browserify": "^3.0.0",
67
- "stream-http": "^3.2.0",
68
- "string_decoder": "^1.3.0",
69
52
  "terser-webpack-plugin": "^5.3.14",
70
- "timers-browserify": "^2.0.12",
71
53
  "ts-loader": "^9.5.4",
72
- "tty-browserify": "^0.0.1",
73
54
  "typescript": "^5.9.3",
74
- "url": "^0.11.4",
75
- "util": "^0.12.5",
76
- "vm-browserify": "^1.1.2",
77
- "webpack": "^5.102.0",
55
+ "webpack": "^5.103.0",
78
56
  "webpack-bundle-analyzer": "4.10.2",
79
57
  "webpack-dev-server": "^5.2.2"
80
58
  },
81
59
  "devDependencies": {
82
- "@typescript-eslint/eslint-plugin": "^8.45.0",
83
- "eslint": "^9.36.0",
60
+ "@typescript-eslint/eslint-plugin": "^8.47.0",
61
+ "eslint": "^9.39.1",
84
62
  "jasmine": "5.3.1",
85
63
  "jasmine-spec-reporter": "7.0.0",
86
- "semver": "7.7.2",
64
+ "semver": "7.7.3",
87
65
  "tree-kill": "1.2.2",
88
66
  "webpack-cli": "^6.0.1"
89
67
  },
package/CVClientLA.md DELETED
@@ -1,85 +0,0 @@
1
- **POWER BI CUSTOM VISUALS – STANDARD VISUALIZATION LICENSE TERMS**
2
-
3
- These license terms are an agreement between you and the visualization developer. Please read them.
4
- They apply to the visualization for Power BI you download from the Public AppSource store, including any updates
5
- or supplements for the visualization (the “Visualization”), unless the Visualization comes with separate
6
- terms, in which case those terms apply.
7
-
8
- **BY DOWNLOADING OR USING THE VISUALIZATION, OR ATTEMPTING TO DO ANY OF THESE, YOU
9
- ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, YOU HAVE NO RIGHT TO AND MUST NOT
10
- DOWNLOAD OR USE THE VISUALIZATION.**
11
-
12
- **The Visualization developer means the entity licensing the Visualization to you, as identified in the
13
- Public AppSource store.**
14
-
15
- **If you comply with these license terms, you have the rights below.**
16
-
17
- 1. **INSTALLATION AND USE RIGHTS.** You may install and use any number of copies of the Visualization
18
- for use with a product or service that supports the Power BI visual interface.
19
-
20
- 2. **INTERNET-BASED SERVICES.**
21
- **a. Consent for Internet-Based or Wireless Services.** The Visualization connects to computer systems
22
- over the Internet, which may include via a wireless network. Using the Visualization operates as your
23
- consent to the transmission of standard device information (including but not limited to technical
24
- information about your device, system and Visualization software, and peripherals) for internet-based
25
- or wireless services.
26
- **b. Misuse of Internet-based Services.** You may not use any Internet-based service in any way that could
27
- harm it or impair anyone else’s use of it or the wireless network. You may not use the service to try to
28
- gain unauthorized access to any service, data, account or network by any means.
29
- 3. **SCOPE OF LICENSE.** The Visualization is licensed, not sold. This agreement only gives you some rights
30
- to use the Visualization. Visualization developer reserves all other rights. Unless applicable law gives you
31
- more rights despite this limitation, you may use the Visualization only as expressly permitted in this
32
- agreement. You may not
33
- • work around any technical limitations in the Visualization; or
34
- • reverse engineer, decompile or disassemble the Visualization, except and only to the extent that
35
- applicable law expressly permits, despite this limitation.
36
- 4. **DOCUMENTATION.** If documentation is provided with the Visualization, you may copy and use the
37
- documentation for personal reference purposes.
38
- 5. **TECHNOLOGY AND EXPORT RESTRICTIONS.** The Visualization may be subject to United States or
39
- international technology control or export laws and regulations. You must comply with all domestic and
40
- international export laws and regulations that apply to the technology used or supported by the
41
- Visualization. These laws include restrictions on destinations, end users and end use. For information on
42
- Microsoft branded products, see www.microsoft.com/exporting.
43
- 6. **SUPPORT SERVICES.** Microsoft is not responsible for providing support services for the Visualization. If
44
- Microsoft is the Visualization developer, it may provide support services, but is not obligated to do so
45
- under this agreement. Contact the Visualization developer to determine what support services are
46
- available.
47
- 7. **ENTIRE AGREEMENT.** This agreement, any applicable Visualization developer privacy policy, and the
48
- terms for supplements and updates are the entire agreement between you and Visualization developer
49
- for the Visualization. If Microsoft is the Visualization developer, this agreement does not change the
50
- terms of your relationship with Microsoft with regard to Power BI, Microsoft Office, the Public AppSource store, or
51
- any other Microsoft product or service (which is governed by the software license terms that
52
- accompanied, or terms of use that are associated with, the applicable product or service).
53
- 8. **APPLICABLE LAW.**
54
- a. **United States. If you acquired the Visualization in the United States, Washington state law governs
55
- the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of
56
- laws principles. The laws of the state where you live govern all other claims, including claims under
57
- state consumer protection laws, unfair competition laws, and in tort.**
58
- b. **Outside the United States. If you acquired the Visualization in any other country, the laws of that
59
- country apply.**
60
-
61
- 9. **LEGAL EFFECT.** This agreement describes certain legal rights. You may have other rights under the
62
- laws of your state or country. This agreement does not change your rights under the laws of your state
63
- or country if the laws of your state or country do not permit it to do so.
64
- 10. **DISCLAIMER OF WARRANTY. TO THE FULLEST EXTENT PERMITTED BY LAW, (A) THE VISUALIZATION
65
- IS LICENSED "AS-IS," "WITH ALL FAULTS," AND "AS AVAILABLE" AND YOU BEAR ALL RISK OF USING IT;
66
- (B) THE VISUALIZATION DEVELOPER, ON BEHALF OF ITSELF, MICROSOFT (IF MICROSOFT IS NOT THE
67
- VISUALIZATION DEVELOPER), AND EACH OF OUR RESPECTIVE AFFILIATES, VENDORS, AGENTS AND
68
- SUPPLIERS, GIVES NO EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS IN RELATION TO THE
69
- VISUALIZATION; (C) YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS UNDER YOUR LOCAL LAWS
70
- THAT THIS AGREEMENT CANNOT CHANGE; AND (D) VISUALIZATION DEVELOPER AND MICROSOFT
71
- EXCLUDE ANY IMPLIED WARRANTIES OR CONDITIONS, INCLUDING THOSE OF MERCHANTABILITY,
72
- FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.**
73
- 11. **LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. TO THE EXTENT NOT PROHIBITED
74
- BY LAW, YOU CAN RECOVER FROM THE VISUALIZATION DEVELOPER ONLY DIRECT DAMAGES UP TO
75
- THE AMOUNT YOU PAID FOR THE VISUALIZATION OR $1.00, WHICHEVER IS GREATER. YOU WILL NOT,
76
- AND WAIVE ANY RIGHT TO, SEEK TO RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL,
77
- LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES FROM THE VISUALIZATION DEVELOPER.**
78
- **This limitation applies to
79
- • anything related to the Visualization or services made available through the Visualization; and
80
- • claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence,
81
- or other tort to the extent permitted by applicable law.
82
- It also applies even if
83
- • repair, replacement or a refund for the Visualization does not fully compensate you for any losses;
84
- or
85
- • Visualization developer knew or should have known about the possibility of the damages.**