powerbi-visuals-tools 5.0.0 → 5.0.2

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,12 @@
2
2
 
3
3
  This page contains information about changes to the PowerBI Visual Tools (pbiviz).
4
4
 
5
+ ## 5.0.2
6
+ * Implemented common solution for webpack loaders on different environments
7
+
8
+ ## 5.0.1
9
+ * Fixed broken imports in webpack.config for some cases
10
+
5
11
  ## 5.0.0
6
12
  * Migrated to TypeScript
7
13
  * Migrated to eslint
@@ -1,28 +1,28 @@
1
1
  -----BEGIN PRIVATE KEY-----
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==
2
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDcT14WFy3xc94j
3
+ g+IaxeRiqlaq1H6HW/AEba5EAw4qEOiS2cH08XV0khrAgovMMf79pqknI428Gv1J
4
+ l4x18xw72oTCqzp9r+M9iL2y7Xj1zSZIJwKEfA0Msg6kcAxfaPb3zS/wv+4XEjh9
5
+ TZ1mUwtojv+fUuLNluMZBInx6cxck0QbhRbSRc824Q4DGSQY694f4xfTWgrM553g
6
+ RLu0LtPLkp4nJDBRE27OD3a6gKLmMck/IjZza0J/MDpIE1pGjbU5soKE0SPgcGUG
7
+ L3abOPLIR1eGl8PruummfmK4czmwl9raUHagGc9GbLQsiNNX4m/MTvMODkluRtYT
8
+ a9VG2zcLAgMBAAECggEAHMpgdMmVrvKh6ok/IJmQ5ZX2GoAHgv/wR1vgBLJThQrN
9
+ ofdEIhL18wRu646D32z/Mj236E38pULvq9DawcVCAM5nQBtpWuiD7VQz2jCveIvV
10
+ P2OdsBuYBvsz76hW7ZcFg0+0vqUOY8R1Tma4tZkPqhvZ6wPFcPGRfwD5V/xiQQyd
11
+ qbi5b9nkhOPkV+Ohgm+dAoVIbz/xMRrwje0COecZjdpioxiR/Qlalp1BXTDKjUG8
12
+ qDfSoy5aHTj8NnllmiPppszt/AUhjltXPPCXc2kt6hCFL2WpFfzaIAmoi7Vd8Dzh
13
+ 7EzG911nfIrxbPh72Vn+bKde55JCXRAczmJj+f9i5QKBgQDyh/Sk70QEKSi0r/g0
14
+ wliFlxTjUXJXnCTTBTw+CGS09pNOxXlgaSPhtQGcOHgQpaDR6CZStqt82SR+0HDD
15
+ bgr83pykvHG3mUMdQPwZ2K0lba3hVmgG7iuOoWnaqpy5FwsOI87uFqKmNwt+UbI0
16
+ W5MmOaN2y8FnaqaNkXLos0j79wKBgQDoi39AvnSjOwW23+Z4sxGuWNJryiAARwpk
17
+ H/Wj452ovBmdQztvttCcRLbfM9HKAxojRATQ+w6OMusX674ldCqrANAMPAv6/f4F
18
+ JnSeBshw4RwyWnySuGyiTD3l2v8HqIush60PtsiphHqp0aJ7XFLhiJKoyHmw8FE9
19
+ qE0s8x8QjQKBgQDmsF0KeS+oCYJXg73CaU2MHC3ZHwJ0xOfd9G/dzVwFKTjqxzjx
20
+ dHCV4vbaInhJ1VFH99pj+K7bPSvSl+96ZHR9HD3BECHWcih9be+dohTnshCfcvHW
21
+ DbtOmsg2HuydvYZdd7//hXZGRbtf9tNbq/Mme9K5T4vyE2bC56N2Jfp49wKBgF3c
22
+ +KdUeNXuG/dd1rQ/a1KZTY3ujw4tnpcdg1P8qwWRrzEYEySbgQaigcIEM5i7udAk
23
+ Q2FrBMwG53fHUv/hLNvLPy7BCgDshpzjkcy7ZiqR4oS8m23JfSfhaFagF7KqqH4i
24
+ YYtnNwWdkLl9AX2TnWylaLUx/lSaG+CsT0Jme9J9AoGBAKASSFQZMK5Jgdo61uQW
25
+ WLytmx7lZI6JuS7ddrkqYk8GMFgftiDw1a1oq6/IxhaNvIj90SOWM1MInujthKe0
26
+ CTsqDXUoapxCppRZE454Oip/64gWCFiRvc5hoE8qBOywgg9kiWiTfw+TDFRMnf7i
27
+ SynIx4iHxhoK5vg8VAqHGzPD
28
28
  -----END PRIVATE KEY-----
@@ -1,19 +1,19 @@
1
1
  -----BEGIN CERTIFICATE-----
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==
2
+ MIIDCTCCAfGgAwIBAgIUZ3eBL/atb8r3cFYxPfYt9iD+HjAwDQYJKoZIhvcNAQEL
3
+ BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDgwMTE1MjM0MloXDTI0MDcz
4
+ MTE1MjM0MlowFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
5
+ AAOCAQ8AMIIBCgKCAQEA3E9eFhct8XPeI4PiGsXkYqpWqtR+h1vwBG2uRAMOKhDo
6
+ ktnB9PF1dJIawIKLzDH+/aapJyONvBr9SZeMdfMcO9qEwqs6fa/jPYi9su149c0m
7
+ SCcChHwNDLIOpHAMX2j2980v8L/uFxI4fU2dZlMLaI7/n1LizZbjGQSJ8enMXJNE
8
+ G4UW0kXPNuEOAxkkGOveH+MX01oKzOed4ES7tC7Ty5KeJyQwURNuzg92uoCi5jHJ
9
+ PyI2c2tCfzA6SBNaRo21ObKChNEj4HBlBi92mzjyyEdXhpfD67rppn5iuHM5sJfa
10
+ 2lB2oBnPRmy0LIjTV+JvzE7zDg5JbkbWE2vVRts3CwIDAQABo1MwUTAdBgNVHQ4E
11
+ FgQUFk6Ui7+8kloWFs48trbUw0MHxrcwHwYDVR0jBBgwFoAUFk6Ui7+8kloWFs48
12
+ trbUw0MHxrcwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAjJ78
13
+ 8iUuC1JEuCpgNeD3xQtZGaOFxrpoTgqsOKhXETQ5D0vQi32elHONaknzmlRIgzuN
14
+ KaBWSfZ1pjiWx2rnU0n9MzULLRKbyYNjj9FvfZv/twNS6uvbJQQp8aLvqNOE5+ge
15
+ wqA++cdPc0jUH0n0+35luIU3EUVIs9LlXQM+E6oSnZ72QCB2f0kIAENVapZgERhG
16
+ 3/OCPm9OAwpT8Uq+XEqXmdnslcJ1URbkQ6PHlMGuP5AMVB0p9gwVkd4S55d40i9h
17
+ GlxakNGKGg6HNyz/SGmQSmjl4W1lGhgyT7J3NUhSIMjqc6JXF4eoHuKgtBouRh7D
18
+ kaDRt73qYpB3iYQzcA==
19
19
  -----END CERTIFICATE-----
@@ -6,12 +6,12 @@ import webpack from 'webpack';
6
6
  import util from 'util';
7
7
  const exec = util.promisify(processExec);
8
8
  import { exec as processExec } from 'child_process';
9
+ import lodashCloneDeep from 'lodash.clonedeep';
9
10
  import ExtraWatchWebpackPlugin from 'extra-watch-webpack-plugin';
10
11
  import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
11
12
  import { PowerBICustomVisualsWebpackPlugin } from 'powerbi-visuals-webpack-plugin';
12
13
  import ConsoleWriter from './ConsoleWriter.js';
13
14
  import { resolveCertificate } from "./CertificateTools.js";
14
- import lodashCloneDeep from 'lodash.clonedeep';
15
15
  import { readJsonFromRoot, readJsonFromVisual } from './utils.js';
16
16
  const config = readJsonFromRoot('config.json');
17
17
  const npmPackage = readJsonFromRoot('package.json');
@@ -189,7 +189,7 @@ export default class WebPackWrap {
189
189
  test: /(\.ts)x?$/,
190
190
  use: [
191
191
  {
192
- loader: 'ts-loader',
192
+ loader: "ts-loader",
193
193
  options: tsOptions
194
194
  }
195
195
  ]
package/lib/utils.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs-extra';
2
2
  import https from "https";
3
3
  import path from "path";
4
- import os from "os";
4
+ import { fileURLToPath } from 'node:url';
5
5
  export function download(url, pathToFile) {
6
6
  return new Promise((resolve, reject) => {
7
7
  const fileStream = fs.createWriteStream(pathToFile);
@@ -19,9 +19,8 @@ export function createFolder(folderName) {
19
19
  return folder;
20
20
  }
21
21
  export function getRootPath() {
22
- const isLinux = os.platform() === "linux";
23
- const pathToDirectory = import.meta.url.split(isLinux ? "file://" : "file:///")[1];
24
- return path.join(pathToDirectory, "../..");
22
+ const pathToDirectory = fileURLToPath(import.meta.url);
23
+ return path.join(pathToDirectory, "..", "..");
25
24
  }
26
25
  export function readFileFromRoot(filePath) {
27
26
  return fs.readFileSync(path.join(getRootPath(), filePath), "utf8");
@@ -5,6 +5,7 @@ import TerserPlugin from "terser-webpack-plugin";
5
5
  import path from "path";
6
6
  import webpack from "webpack";
7
7
  const config = readJsonFromRoot("/config.json");
8
+ const rootPath = getRootPath();
8
9
  const webpackConfig = {
9
10
  entry: {
10
11
  'visual.js': ['./src/visual.ts']
@@ -36,7 +37,7 @@ const webpackConfig = {
36
37
  },
37
38
  {
38
39
  test: /\.json$/,
39
- loader: 'json-loader',
40
+ loader: "json-loader",
40
41
  type: "javascript/auto"
41
42
  },
42
43
  {
@@ -46,13 +47,13 @@ const webpackConfig = {
46
47
  loader: MiniCssExtractPlugin.loader
47
48
  },
48
49
  {
49
- loader: 'css-loader'
50
+ loader: "css-loader"
50
51
  },
51
52
  {
52
- loader: 'less-loader',
53
+ loader: "less-loader",
53
54
  options: {
54
55
  lessOptions: {
55
- paths: [path.resolve(getRootPath(), 'node_modules')]
56
+ paths: [path.resolve(rootPath, 'node_modules')]
56
57
  }
57
58
  }
58
59
  }
@@ -68,40 +69,44 @@ const webpackConfig = {
68
69
  }
69
70
  ]
70
71
  },
72
+ resolveLoader: {
73
+ modules: ['node_modules', path.resolve(rootPath, 'node_modules')],
74
+ },
71
75
  externals: {
72
76
  "powerbi-visuals-api": 'null'
73
77
  },
74
78
  resolve: {
75
79
  extensions: ['.tsx', '.ts', '.jsx', '.js', '.css'],
80
+ modules: ['node_modules', path.resolve(rootPath, 'node_modules')],
76
81
  fallback: {
77
- assert: path.resolve("../node-modules/assert/"),
78
- buffer: path.resolve("../node-modules/buffer/"),
79
- console: path.resolve("../node-modules/console-browserify/"),
80
- constants: path.resolve("../node-modules/constants-browserify/"),
81
- crypto: path.resolve("../node-modules/crypto-browserify/"),
82
- domain: path.resolve("../node-modules/domain-browser/"),
83
- events: path.resolve("../node-modules/events/"),
84
- http: path.resolve("../node-modules/stream-http/"),
85
- https: path.resolve("../node-modules/https-browserify/"),
86
- os: path.resolve("../node-modules/os-browserify/"),
87
- path: path.resolve("../node-modules/path-browserify/"),
88
- punycode: path.resolve("../node-modules/punycode/"),
89
- process: path.resolve("../node-modules/process/"),
90
- querystring: path.resolve("../node-modules/querystring-es3/"),
91
- stream: path.resolve("../node-modules/stream-browserify/"),
92
- _stream_duplex: path.resolve("../node-modules/readable-stream/"),
93
- _stream_passthrough: path.resolve("../node-modules/readable-stream/"),
94
- _stream_readable: path.resolve("../node-modules/readable-stream/"),
95
- _stream_transform: path.resolve("../node-modules/readable-stream/"),
96
- _stream_writable: path.resolve("../node-modules/readable-stream/"),
97
- string_decoder: path.resolve("../node-modules/string_decoder/"),
98
- sys: path.resolve("../node-modules/util/"),
99
- timers: path.resolve("../node-modules/timers-browserify/"),
100
- tty: path.resolve("../node-modules/tty-browserify/"),
101
- url: path.resolve("../node-modules/url/"),
102
- util: path.resolve("../node-modules/util/"),
103
- vm: path.resolve("../node-modules/vm-browserify/"),
104
- zlib: path.resolve("../node-modules/browserify-zlib/")
82
+ assert: "assert",
83
+ buffer: "buffer",
84
+ console: "console-browserify",
85
+ constants: "constants-browserify",
86
+ crypto: "crypto-browserify",
87
+ domain: "domain-browser",
88
+ events: "events",
89
+ http: "stream-http",
90
+ https: "https-browserify",
91
+ os: "os-browserify",
92
+ path: "path-browserify",
93
+ punycode: "punycode",
94
+ process: "process",
95
+ querystring: "querystring-es3",
96
+ stream: "stream-browserify",
97
+ _stream_duplex: "readable-stream",
98
+ _stream_passthrough: "readable-stream",
99
+ _stream_readable: "readable-stream",
100
+ _stream_transform: "readable-stream",
101
+ _stream_writable: "readable-stream",
102
+ string_decoder: "string_decoder",
103
+ sys: "util",
104
+ timers: "timers-browserify",
105
+ tty: "tty-browserify",
106
+ url: "url",
107
+ util: "util",
108
+ vm: "vm-browserify",
109
+ zlib: "browserify-zlib"
105
110
  }
106
111
  },
107
112
  output: {
@@ -124,7 +129,7 @@ const webpackConfig = {
124
129
  }
125
130
  },
126
131
  watchOptions: {
127
- ignored: ['node_modules/**']
132
+ ignored: ['node_modules", "**']
128
133
  },
129
134
  plugins: [
130
135
  new webpack.ProvidePlugin({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powerbi-visuals-tools",
3
- "version": "5.0.0",
3
+ "version": "5.0.2",
4
4
  "description": "Command line tool for creating and publishing visuals for Power BI",
5
5
  "main": "./bin/pbiviz.js",
6
6
  "type": "module",
@@ -43,7 +43,6 @@
43
43
  "css-loader": "^6.8.1",
44
44
  "domain-browser": "^4.22.0",
45
45
  "events": "^3.3.0",
46
- "terser-webpack-plugin": "^5.3.9",
47
46
  "extra-watch-webpack-plugin": "^1.0.3",
48
47
  "fs-extra": "^11.1.1",
49
48
  "https-browserify": "^1.0.0",
@@ -58,7 +57,7 @@
58
57
  "mini-css-extract-plugin": "^2.7.6",
59
58
  "os-browserify": "^0.3.0",
60
59
  "path-browserify": "^1.0.1",
61
- "powerbi-visuals-webpack-plugin": "^4.0.1",
60
+ "powerbi-visuals-webpack-plugin": "4.0.1",
62
61
  "process": "^0.11.10",
63
62
  "punycode": "^2.3.0",
64
63
  "querystring-es3": "^0.2.1",
@@ -66,9 +65,10 @@
66
65
  "stream-browserify": "^3.0.0",
67
66
  "stream-http": "^3.2.0",
68
67
  "string_decoder": "^1.3.0",
68
+ "terser-webpack-plugin": "^5.3.9",
69
69
  "timers-browserify": "^2.0.12",
70
70
  "ts-loader": "^9.4.4",
71
- "tty-browserify": "0.0.1",
71
+ "tty-browserify": "^0.0.1",
72
72
  "typescript": "^4.9.5",
73
73
  "url": "^0.11.1",
74
74
  "util": "^0.12.5",
@@ -78,13 +78,13 @@
78
78
  "webpack-dev-server": "^4.15.1"
79
79
  },
80
80
  "devDependencies": {
81
+ "@typescript-eslint/eslint-plugin": "^5.62.0",
81
82
  "eslint": "^8.45.0",
83
+ "eslint-plugin-powerbi-visuals": "^0.8.1",
82
84
  "jasmine": "5.0.2",
83
85
  "jasmine-spec-reporter": "7.0.0",
84
86
  "semver": "7.5.4",
85
87
  "tree-kill": "1.2.2",
86
- "@typescript-eslint/eslint-plugin": "^5.62.0",
87
- "eslint-plugin-powerbi-visuals": "^0.8.1",
88
88
  "webpack-cli": "^5.1.4"
89
89
  },
90
90
  "optionalDependencies": {
package/spec/.jshintrc DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "esversion": 6,
3
- "node": true,
4
- "jasmine": true
5
- }
@@ -1,31 +0,0 @@
1
- /*
2
- * Power BI Visual CLI
3
- *
4
- * Copyright (c) Microsoft Corporation
5
- * All rights reserved.
6
- * MIT License
7
- *
8
- * Permission is hereby granted, free of charge, to any person obtaining a copy
9
- * of this software and associated documentation files (the ""Software""), to deal
10
- * in the Software without restriction, including without limitation the rights
11
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- * copies of the Software, and to permit persons to whom the Software is
13
- * furnished to do so, subject to the following conditions:
14
- *
15
- * The above copyright notice and this permission notice shall be included in
16
- * all copies or substantial portions of the Software.
17
- *
18
- * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- * THE SOFTWARE.
25
- */
26
-
27
- "use strict";
28
-
29
- import FileSystem from './helpers/FileSystem.js';
30
-
31
- FileSystem.deleteTempDirectory();
@@ -1,57 +0,0 @@
1
- /*
2
- * Power BI Visual CLI
3
- *
4
- * Copyright (c) Microsoft Corporation
5
- * All rights reserved.
6
- * MIT License
7
- *
8
- * Permission is hereby granted, free of charge, to any person obtaining a copy
9
- * of this software and associated documentation files (the ""Software""), to deal
10
- * in the Software without restriction, including without limitation the rights
11
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- * copies of the Software, and to permit persons to whom the Software is
13
- * furnished to do so, subject to the following conditions:
14
- *
15
- * The above copyright notice and this permission notice shall be included in
16
- * all copies or substantial portions of the Software.
17
- *
18
- * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- * THE SOFTWARE.
25
- */
26
-
27
- "use strict";
28
-
29
- import fs from 'fs-extra';
30
- import path from 'path';
31
- import { getRootPath, readJsonFromRoot } from '../../lib/utils.js';
32
- import { createCertFile } from '../../lib/CertificateTools.js';
33
-
34
- const config = readJsonFromRoot('config.json');
35
-
36
- describe("E2E - pbiviz --install-cert", () => {
37
- beforeEach((done) => {
38
- createCertFile(config, false).then(done);
39
- });
40
-
41
- describe("pbiviz", () => {
42
- it("pbiviz --install-cert command should generate certificate", (done) => {
43
- const rootPath = getRootPath();
44
- const certPath = path.join(rootPath, config.server.certificate);
45
- const keyPath = path.join(rootPath, config.server.privateKey);
46
- const pfxPath = path.join(rootPath, config.server.pfx);
47
- const certExists = fs.existsSync(certPath);
48
- const keyExists = fs.existsSync(keyPath);
49
- const pfxExists = fs.existsSync(pfxPath);
50
-
51
- const result = (certExists && keyExists) || pfxExists;
52
-
53
- expect(result).toBeTruthy();
54
- done();
55
- });
56
- });
57
- });
@@ -1,79 +0,0 @@
1
- /*
2
- * Power BI Visual CLI
3
- *
4
- * Copyright (c) Microsoft Corporation
5
- * All rights reserved.
6
- * MIT License
7
- *
8
- * Permission is hereby granted, free of charge, to any person obtaining a copy
9
- * of this software and associated documentation files (the ""Software""), to deal
10
- * in the Software without restriction, including without limitation the rights
11
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- * copies of the Software, and to permit persons to whom the Software is
13
- * furnished to do so, subject to the following conditions:
14
- *
15
- * The above copyright notice and this permission notice shall be included in
16
- * all copies or substantial portions of the Software.
17
- *
18
- * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- * THE SOFTWARE.
25
- */
26
-
27
- "use strict";
28
-
29
- import fs from 'fs-extra';
30
- import path from 'path';
31
- import FileSystem from '../helpers/FileSystem.js';
32
- import { writeMetadata } from "./testUtils.js";
33
-
34
- const tempPath = FileSystem.getTempPath();
35
- const startPath = process.cwd();
36
-
37
- describe("E2E - pbiviz info", () => {
38
-
39
- const visualName = 'myvisualname';
40
- const visualPath = path.join(tempPath, visualName);
41
-
42
- beforeEach(() => {
43
- process.chdir(startPath);
44
- FileSystem.resetTempDirectory();
45
- process.chdir(tempPath);
46
- FileSystem.runPbiviz('new', visualName);
47
- process.chdir(visualPath);
48
-
49
- writeMetadata(visualPath);
50
- });
51
-
52
- afterAll(() => {
53
- process.chdir(startPath);
54
- FileSystem.deleteTempDirectory();
55
- });
56
-
57
- it("Should throw error if not in the visual root", () => {
58
- let error;
59
- process.chdir(tempPath);
60
-
61
- try {
62
- FileSystem.runPbiviz('info');
63
- } catch (e) {
64
- error = e;
65
- }
66
-
67
- expect(error).toBeDefined();
68
- expect(error.status).toBe(1);
69
- expect(error.message).toContain("Error: pbiviz.json not found. You must be in the root of a visual project to run this command");
70
-
71
- });
72
-
73
- it("Should output visual info", () => {
74
- const output = FileSystem.runPbiviz('info').toString();
75
- const visualConfig = fs.readJsonSync(path.join(visualPath, 'pbiviz.json')).visual;
76
- expect(output).toContain(visualName);
77
- expect(output).toContain(visualConfig.guid);
78
- });
79
- });