This commit is contained in:
Ohad Bitton 2022-11-10 20:59:11 +02:00
Родитель a5d8f5fd31
Коммит b3709e89a7
7 изменённых файлов: 39 добавлений и 393 удалений

Просмотреть файл

@ -1,346 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Carved Rock Fitness</title>
<link
href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700"
rel="stylesheet"
/>
<link
href="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/bootstrap/bootstrap-reboot.min.css"
rel="stylesheet"
/>
<link
href="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/bootstrap/bootstrap.css"
rel="stylesheet"
/>
<link
href="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/bootstrap/bootstrap-grid.css"
rel="stylesheet"
/>
<link href="css/main.css" rel="stylesheet" />
<script
src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"
></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin="anonymous"
></script>
<script src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/js/bootstrap.min.js"></script>
</head>
<body>
<div class="crf">
<!-- NAVIGATION -->
<nav class="navbar navbar-expand flex-column flex-md-row header-nav--nav">
<div class="container">
<div class="d-md-flex justify-content-between">
<div
class="navbar-brand d-flex justify-content-between align-items-center"
>
<a href="#"
><img
alt="Carved Rock Fitness"
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/logos/carved-rock-logo.png"
/></a>
<button
aria-controls="navbarNav"
aria-expanded="false"
aria-label="Toggle navigation"
class="navbar-toggle"
data-target="#navbarNav"
data-toggle="collapse"
type="button"
>
<span class="icon-bar"></span><span class="icon-bar"></span
><span class="icon-bar"></span>
</button>
</div>
<div
class="collapse navbar-collapse justify-content-center align-items-center"
id="navbarNav"
>
<div class="header-nav--main">
<form
class="form-inline form-inline d-none d-sm-none d-md-block"
>
<input
aria-label="Search"
class="form-control"
placeholder="What can we help you find?"
type="search"
/>
<button class="btn btn-default" type="submit">SEARCH</button>
</form>
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">Clothing</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Footwear</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Equipment</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Bags &amp; Travel</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Trail Reviews</a>
</li>
</ul>
</div>
<div
class="header-nav--utilities d-flex align-items-center justify-content-end flex-row-reverse flex-row flex-md-row"
>
<div class="account d-flex flex-column">
John Doe <a href="#">Log Out</a>
</div>
<div class="image">
<img
alt="John Doe"
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/profile-pic.jpg"
/>
</div>
</div>
</div>
</div>
</div>
</nav>
<!-- MOBILE SEARCH -->
<section class="header-nav--search d-block d-sm-block d-md-none">
<form class="form-inline form-inline">
<input
aria-label="Search"
class="form-control"
placeholder="What can we help you find?"
type="search"
/>
</form>
</section>
<!-- HEADER -->
<div class="jumbotron jumbotron-fluid crf-hero d-flex">
<div
class="container d-flex flex-column justify-content-center align-items-sm-stretch align-items-md-center"
>
<h1 class="col-sm-12">GET A GRIP</h1>
<h2>20% OFF</h2>
<p class="lead">THROUGHOUT THE SEASON</p>
</div>
</div>
<!-- SALE BANNER -->
<div class="container crf-cigar-banner">
<div class="row">
<div
class="crf-cigar-banner--container d-flex justify-content-center align-items-center"
>
<img
alt="Brown Boots"
class="order-sm-0 order-md-0"
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/img-brownboots.jpg"
/>
<div class="crf-cigar-banner--text order-sm-2 order-md-1">
<div class="text-light">Couples retreat weekend</div>
<div class="text-secondary">Save an extra 20%</div>
<div class="text-primary">when you buy 2 pairs of boots</div>
</div>
<img
alt="Grey Boots"
class="order-sm-1 order-md-2"
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/img-greyboots.jpg"
/>
</div>
</div>
</div>
<!-- STORIES -->
<div class="container crf-story">
<div class="row">
<div class="col-lg-3 col-md-6">
<a href="#">
<div class="crf-story--image">
<img
alt="Splash Chic"
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/story-1.jpg"
/>
</div>
<div class="crf-story--text">
<h3>Splash Chic</h3>
<div>Women's Wet Gear</div>
</div></a
>
</div>
<div class="col-lg-3 col-md-6">
<a href="#">
<div class="crf-story--image">
<img
alt="Kid Klimbers"
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/story-2.jpg"
/>
</div>
<div class="crf-story--text">
<h3>Kid Klimbers</h3>
<div>Children's Gear</div>
</div></a
>
</div>
<div class="col-lg-3 col-md-6">
<a href="#">
<div class="crf-story--image">
<img
alt="Pack It In"
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/story-4.jpg"
/>
</div>
<div class="crf-story--text">
<h3>Pack It In</h3>
<div>Camping Gear</div>
</div></a
>
</div>
<div class="col-lg-3 col-md-6">
<a href="#">
<div class="crf-story--image">
<img
alt="Nature's AC"
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/story-3.jpg"
/>
</div>
<div class="crf-story--text">
<h3>Nature's AC</h3>
<div>Men's Shorts</div>
</div></a
>
</div>
</div>
</div>
<!-- VISTAS -->
<div class="container crf-full-banner">
<div class="row">
<div class="col d-md-flex align-items-md-stretch flex-md-nowrap">
<div class="crf-full-banner--image flex-sm-grow-1">
<h4 class="d-lg-none">Trail Review</h4>
</div>
<div
class="crf-full-banner--text d-flex flex-column align-items-center justify-content-center flex-sm-grow-1"
>
<h4>Trail Review</h4>
<div>Asphalt</div>
<div>National Park</div>
<a class="btn btn-default" href="#">See Review</a>
</div>
</div>
</div>
</div>
<!-- FOOTER -->
<footer class="d-flex justify-content-stretch">
<div class="crf-footer--category">
<div class="container">
<div
class="row row d-md-flex justify-content-between flex-sm-column flex-lg-row"
>
<div class="crf-footer--links active">
<div class="crf-footer--header text-primary">
Customer Support
</div>
<ul>
<li><a href="#">Contact Us</a></li>
<li><a href="#">Order Tracker</a></li>
<li><a href="#">Returns &amp; Refunds</a></li>
<li><a href="#">Size Guide</a></li>
<li><a href="#">Store Locator</a></li>
<li><a href="#">Site Map</a></li>
</ul>
</div>
<div class="crf-footer--links">
<div class="crf-footer--header text-primary">Company Info</div>
<ul>
<li><a href="#">About Us</a></li>
<li><a href="#">Careers</a></li>
<li><a href="#">Press</a></li>
<li><a href="#">Sustainability</a></li>
<li><a href="#">Affiliates</a></li>
<li><a href="#">Students</a></li>
<li><a href="#">Mobile Apps</a></li>
</ul>
</div>
<div class="crf-footer--links">
<div class="crf-footer--header text-primary">
Privacy &amp; Terms
</div>
<ul>
<li><a href="#">Privacy &amp; Security</a></li>
<li><a href="#">Statement</a></li>
<li><a href="#">Terms &amp; Conditions</a></li>
</ul>
</div>
<div class="crf-footer--links crf-footer--social">
<div
class="crf-footer--header text-primary d-lg-block d-none d-sm-none"
>
Follow Us
</div>
<ul class="d-lg-block d-none d-sm-none">
<li><a href="#" class="crf-footer--icon twitter"></a></li>
<li><a href="#" class="crf-footer--icon facebook"></a></li>
<li><a href="#" class="crf-footer--icon pinterest"></a></li>
<li><a href="#" class="crf-footer--icon instagram"></a></li>
<li><a href="#" class="crf-footer--icon googleplus"></a></li>
</ul>
<div class="crf-footer--newsletter">
<div class="crf-footer--header">Email Updates</div>
<div class="crf-footer--subheader">
Exclusive sales, special offers, and more.
</div>
<input
type="text"
class="form-control"
placeholder="Enter email address"
/>
<button class="btn btn-primary">Sign up</button>
</div>
</div>
<div
class="crf-footer--links crf-footer-m--social d-block d-lg-none"
>
<div class="crf-footer--header text-primary">Follow Us</div>
<ul>
<li><a href="#" class="crf-footer--icon twitter"></a></li>
<li><a href="#" class="crf-footer--icon facebook"></a></li>
<li><a href="#" class="crf-footer--icon pinterest"></a></li>
<li><a href="#" class="crf-footer--icon instagram"></a></li>
<li><a href="#" class="crf-footer--icon googleplus"></a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="crf-footer--logo d-flex">
<div
class="container justify-content-start align-items-center d-flex flex-column"
>
<img
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/logos/pluralsight-white.png"
/>
<div>
This site is created for demonstrative purposes only and does not
offer any real products or services.
</div>
</div>
</div>
<div class="crf-footer--copyright text-primary">@Pluralsight 2018</div>
</footer>
</div>
<script src="index.js"></script>
</body>
</html>

Просмотреть файл

@ -1,7 +1,7 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
import moment from 'moment'
import moment from "moment"
export enum WellKnownDataSet {
PrimaryResult = "PrimaryResult",

Просмотреть файл

@ -13,7 +13,9 @@ export class AadHelper {
throw new Error("Invalid string builder - missing dataSource");
}
if (!!kcsb.applicationClientId && !!kcsb.applicationKey) {
if (!!kcsb.aadUserId && !!kcsb.password) {
this.tokenProvider = new TokenProvider.UserPassTokenProvider(kcsb.dataSource, kcsb.aadUserId, kcsb.password, kcsb.authorityId);
} else if (!!kcsb.applicationClientId && !!kcsb.applicationKey) {
this.tokenProvider = new TokenProvider.ApplicationKeyTokenProvider(
kcsb.dataSource,
kcsb.applicationClientId,

Просмотреть файл

@ -1,6 +1,6 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
import { AzureCliCredential, ManagedIdentityCredential, ClientSecretCredential, ClientCertificateCredential, ClientCertificateCredentialOptions, ClientCertificatePEMCertificate, DeviceCodeCredential, DeviceCodeInfo } from "@azure/identity";
import { AzureCliCredential, ManagedIdentityCredential, ClientSecretCredential, ClientCertificateCredential, ClientCertificateCredentialOptions, ClientCertificatePEMCertificate, DeviceCodeCredential, DeviceCodeInfo, UsernamePasswordCredential } from "@azure/identity";
import { TokenCredential } from "@azure/core-auth";
import { InteractiveBrowserCredential } from "@azure/identity";
import { CloudInfo, CloudSettings } from "./cloudSettings";
@ -229,6 +229,32 @@ export class AzCliTokenProvider extends AzureIdentityProvider {
}
}
/**
* Acquire a token from MSAL with username and password
*/
export class UserPassTokenProvider extends AzureIdentityProvider {
userName: string;
password: string;
homeAccountId?: string;
constructor(kustoUri: string, userName: string, password: string, authorityId: string) {
super(kustoUri, authorityId, undefined);
this.userName = userName;
this.password = password;
}
getCredential(): TokenCredential {
return new UsernamePasswordCredential(this.authorityId!, this.cloudInfo.KustoClientAppId, this.userName, this.password);
}
context(): Record<string, any> {
return {
...super.context(),
userName: this.userName,
homeAccountId: this.homeAccountId,
};
}
}
/**
* Acquire a token from Device Login flow

Просмотреть файл

@ -4,26 +4,6 @@ import 'webpack-dev-server';
const webpack = require('webpack');
let production = process.env.NODE_ENV === "production";
// let crypto;
// try {crypto = require.resolve("crypto-browserify")
// } catch {}
// let assert;
// try {assert = require.resolve("assert")
// } catch {}
// let http;
// try {http = require.resolve("stream-http")
// } catch {}
// let crypto;
// try {crypto = require.resolve("crypto-browserify")
// } catch {}
// let crypto;
// try {crypto = require.resolve("crypto-browserify")
// } catch {}
let config = {
entry: {
index: "./src/index",

Просмотреть файл

@ -6,7 +6,8 @@
"module": "dist-esm/src/index.js",
"types": "dist-esm/src/index.d.ts",
"scripts": {
"build": "tsc"
"build": "tsc",
"webpack": "webpack serve"
},
"engines": {
"node": ">= 14.0.0"
@ -46,7 +47,8 @@
"https": false,
"http": false,
"crypto": false,
"stream": "readable-stream",
"stream": "stream-browserify",
"zlib": "browserify-zlib",
"./dist-esm/src/streamUtils.js": "./dist-esm/src/streamUtils.browser.js",
"./dist-esm/src/fileDescriptor.js": "./dist-esm/src/fileDescriptor.browser.js",
"./dist-esm/src/ingestClient.js": "./dist-esm/src/ingestClient.browser.ts"
@ -63,13 +65,14 @@
"azure-kusto-data": "^3.4.3",
"browserify-zlib": "0.2.0",
"moment": "^2.29.4",
"readable-stream": "~2.1.0",
"root": "file:../..",
"stream-array": "^1.1.2",
"stream-to-array": "^2.3.0",
"tmp-promise": "^3.0.3",
"uuid": "^8.3.2",
"uuid-validate": "0.0.3"
"uuid-validate": "0.0.3",
"stream-browserify": "3.0.0"
},
"gitHead": "f8a5dae26d6d2ca2ab8b95953bb9b88a02e8e35d",
"devDependencies": {

Просмотреть файл

@ -14,14 +14,6 @@ let config = {
filename: "[name].js",
path: path.resolve(__dirname, "dist"),
},
// plugins:
// // Work around for Buffer is undefined:
// // https://github.com/webpack/changelog-v5/issues/10
// // Required for "rhea" package
// new webpack.ProvidePlugin({
// Buffer: ['buffer', 'Buffer'],
// })
// ,
module: {
rules: [
{
@ -33,18 +25,7 @@ let config = {
},
resolve: {
aliasFields: ['browser'],
fallback: {
crypto:require.resolve('crypto-browserify') ,
assert :require.resolve('assert'),
http : require.resolve('stream-http'),
https: require.resolve('https-browserify'),
stream: require.resolve('stream-browserify'),
buffer: require.resolve('buffer'),
zlib: require.resolve('browserify-zlib'),
url: false,
"fs": false
},
fallback:{ "stream": require.resolve("stream-browserify")},
extensions: [".ts", ".js"],
},
devtool: "inline-source-map",