Compare commits

..

1 Commits

Author SHA1 Message Date
Sung-Hyun Kang
82f50f6b1f Added VNext feature matrix 2025-08-14 20:46:45 -05:00
17 changed files with 36911 additions and 829 deletions

11
package-lock.json generated
View File

@@ -443,9 +443,15 @@
"license": "0BSD" "license": "0BSD"
}, },
"node_modules/@azure/cosmos": { "node_modules/@azure/cosmos": {
<<<<<<< HEAD
"version": "4.2.0-beta.1",
"resolved": "https://registry.npmjs.org/@azure/cosmos/-/cosmos-4.2.0-beta.1.tgz",
"integrity": "sha512-mREONehm1DxjEKXGaNU6Wmpf9Ckb9IrhKFXhDFVs45pxmoEb3y2s/Ub0owuFmqlphpcS1zgtYQn5exn+lwnJuQ==",
=======
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmjs.org/@azure/cosmos/-/cosmos-4.5.0.tgz", "resolved": "https://registry.npmjs.org/@azure/cosmos/-/cosmos-4.5.0.tgz",
"integrity": "sha512-JsTh4twb6FcwP7rJwxQiNZQ/LGtuF6gmciaxY9Rnp6/A325Lhsw/SH4R2ArpT0yCvozbZpweIwdPfUkXVBtp5w==", "integrity": "sha512-JsTh4twb6FcwP7rJwxQiNZQ/LGtuF6gmciaxY9Rnp6/A325Lhsw/SH4R2ArpT0yCvozbZpweIwdPfUkXVBtp5w==",
>>>>>>> master
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@azure/abort-controller": "^2.1.2", "@azure/abort-controller": "^2.1.2",
@@ -493,7 +499,12 @@
"node_modules/@azure/cosmos/node_modules/tslib": { "node_modules/@azure/cosmos/node_modules/tslib": {
"version": "2.8.1", "version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
<<<<<<< HEAD
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"license": "0BSD"
=======
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
>>>>>>> master
}, },
"node_modules/@azure/identity": { "node_modules/@azure/identity": {
"version": "4.5.0", "version": "4.5.0",

36675
preview/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -36,7 +36,7 @@ export const tokenProvider = async (requestInfo: Cosmos.RequestInfo) => {
return authorizationToken; return authorizationToken;
} }
if (configContext.platform === Platform.Emulator || configContext.platform === Platform.VNextEmulator) { if (configContext.platform === Platform.Emulator) {
// TODO This SDK method mutates the headers object. Find a better one or fix the SDK. // TODO This SDK method mutates the headers object. Find a better one or fix the SDK.
await Cosmos.setAuthorizationTokenHeaderUsingMasterKey(verb, resourceId, resourceType, headers, EmulatorMasterKey); await Cosmos.setAuthorizationTokenHeaderUsingMasterKey(verb, resourceId, resourceType, headers, EmulatorMasterKey);
return decodeURIComponent(headers.authorization); return decodeURIComponent(headers.authorization);
@@ -119,7 +119,7 @@ export const requestPlugin: Cosmos.Plugin<any> = async (requestContext, diagnost
}; };
export const endpoint = () => { export const endpoint = () => {
if (configContext.platform === Platform.Emulator || configContext.platform === Platform.VNextEmulator) { if (configContext.platform === Platform.Emulator) {
// In worker scope, _global(self).parent does not exist // In worker scope, _global(self).parent does not exist
const location = _global.parent ? _global.parent.location : _global.location; const location = _global.parent ? _global.parent.location : _global.location;
return configContext.EMULATOR_ENDPOINT || location.origin; return configContext.EMULATOR_ENDPOINT || location.origin;

View File

@@ -216,7 +216,7 @@ export async function initializeConfiguration(): Promise<ConfigContext> {
const AAD_ENDPOINT = params.get("aadEndpoint") || ""; const AAD_ENDPOINT = params.get("aadEndpoint") || "";
updateConfigContext({ AAD_ENDPOINT }); updateConfigContext({ AAD_ENDPOINT });
} }
if (params.has("platform") && configContext.platform !== Platform.VNextEmulator) { if (params.has("platform")) {
const platform = params.get("platform"); const platform = params.get("platform");
switch (platform) { switch (platform) {
default: default:
@@ -226,6 +226,7 @@ export async function initializeConfiguration(): Promise<ConfigContext> {
case Platform.Fabric: case Platform.Fabric:
case Platform.Hosted: case Platform.Hosted:
case Platform.Emulator: case Platform.Emulator:
case Platform.VNextEmulator:
updateConfigContext({ platform }); updateConfigContext({ platform });
} }
} }

View File

@@ -10,7 +10,6 @@ import { useDatabases } from "Explorer/useDatabases";
import { isFabric, isFabricNative } from "Platform/Fabric/FabricUtil"; import { isFabric, isFabricNative } from "Platform/Fabric/FabricUtil";
import { Action } from "Shared/Telemetry/TelemetryConstants"; import { Action } from "Shared/Telemetry/TelemetryConstants";
import { traceOpen } from "Shared/Telemetry/TelemetryProcessor"; import { traceOpen } from "Shared/Telemetry/TelemetryProcessor";
import { areAdvancedScriptsSupported } from "Utils/PlatformFeatureUtils";
import { ReactTabKind, useTabs } from "hooks/useTabs"; import { ReactTabKind, useTabs } from "hooks/useTabs";
import React from "react"; import React from "react";
import AddCollectionIcon from "../../images/AddCollection.svg"; import AddCollectionIcon from "../../images/AddCollection.svg";
@@ -131,7 +130,6 @@ export const createCollectionContextMenuButton = (
} }
if ( if (
areAdvancedScriptsSupported(configContext.platform) &&
configContext.platform !== Platform.Fabric && configContext.platform !== Platform.Fabric &&
(userContext.apiType === "SQL" || userContext.apiType === "Gremlin") (userContext.apiType === "SQL" || userContext.apiType === "Gremlin")
) { ) {

View File

@@ -1336,7 +1336,7 @@ export class SettingsComponent extends React.Component<SettingsComponentProps, S
}); });
} }
if (isFeatureSupported(PlatformFeature.ComputedProperties) && this.shouldShowComputedPropertiesEditor) { if (this.shouldShowComputedPropertiesEditor) {
tabs.push({ tabs.push({
tab: SettingsV2TabTypes.ComputedPropertiesTab, tab: SettingsV2TabTypes.ComputedPropertiesTab,
content: <ComputedPropertiesComponent {...computedPropertiesComponentProps} />, content: <ComputedPropertiesComponent {...computedPropertiesComponentProps} />,

View File

@@ -45,7 +45,7 @@ export class ScaleComponent extends React.Component<ScaleComponentProps> {
constructor(props: ScaleComponentProps) { constructor(props: ScaleComponentProps) {
super(props); super(props);
this.isEmulator = configContext.platform === Platform.Emulator || configContext.platform === Platform.VNextEmulator; this.isEmulator = configContext.platform === Platform.Emulator;
this.offer = this.props.database?.offer() || this.props.collection?.offer(); this.offer = this.props.database?.offer() || this.props.collection?.offer();
this.databaseId = this.props.database?.id() || this.props.collection.databaseId; this.databaseId = this.props.database?.id() || this.props.collection.databaseId;
this.collectionId = this.props.collection?.id(); this.collectionId = this.props.collection?.id();

View File

@@ -53,7 +53,6 @@ export function createStaticCommandBarButtons(
}; };
if ( if (
isFeatureSupported(PlatformFeature.SynapseLink) &&
configContext.platform !== Platform.Fabric && configContext.platform !== Platform.Fabric &&
userContext.apiType !== "Tables" && userContext.apiType !== "Tables" &&
userContext.apiType !== "Cassandra" userContext.apiType !== "Cassandra"

View File

@@ -728,7 +728,7 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
/> />
)} )}
{isFeatureSupported(PlatformFeature.UniqueKeys) && !isFabricNative() && userContext.apiType === "SQL" && ( {!isFabricNative() && userContext.apiType === "SQL" && (
<Stack style={{ marginTop: -2, marginBottom: -4 }}> <Stack style={{ marginTop: -2, marginBottom: -4 }}>
{UniqueKeysHeader()} {UniqueKeysHeader()}
{this.state.uniqueKeys.map((uniqueKey: string, i: number): JSX.Element => { {this.state.uniqueKeys.map((uniqueKey: string, i: number): JSX.Element => {
@@ -901,9 +901,7 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
</CollapsibleSectionComponent> </CollapsibleSectionComponent>
</Stack> </Stack>
)} )}
{isFeatureSupported(PlatformFeature.AdvancedContainerSettings) && {!isFabricNative() && userContext.apiType !== "Tables" && (
!isFabricNative() &&
userContext.apiType !== "Tables" && (
<CollapsibleSectionComponent <CollapsibleSectionComponent
title="Advanced" title="Advanced"
isExpandedByDefault={false} isExpandedByDefault={false}
@@ -956,22 +954,16 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
styles={{ styles={{
text: { fontSize: 12 }, text: { fontSize: 12 },
checkbox: { width: 12, height: 12 }, checkbox: { width: 12, height: 12 },
label: { label: { padding: 0, alignItems: "center", wordWrap: "break-word", whiteSpace: "break-spaces" },
padding: 0,
alignItems: "center",
wordWrap: "break-word",
whiteSpace: "break-spaces",
},
}} }}
onChange={(ev: React.FormEvent<HTMLElement>, isChecked: boolean) => onChange={(ev: React.FormEvent<HTMLElement>, isChecked: boolean) =>
this.setState({ useHashV1: isChecked, subPartitionKeys: [] }) this.setState({ useHashV1: isChecked, subPartitionKeys: [] })
} }
/> />
<Text variant="small"> <Text variant="small">
<Icon iconName="InfoSolid" className="removeIcon" /> To ensure compatibility with older SDKs, <Icon iconName="InfoSolid" className="removeIcon" /> To ensure compatibility with older SDKs, the
the created container will use a legacy partitioning scheme that supports partition key values created container will use a legacy partitioning scheme that supports partition key values of size
of size only up to 101 bytes. If this is enabled, you will not be able to use hierarchical only up to 101 bytes. If this is enabled, you will not be able to use hierarchical partition keys.{" "}
partition keys.{" "}
<Link href="https://aka.ms/cosmos-large-pk" target="_blank"> <Link href="https://aka.ms/cosmos-large-pk" target="_blank">
Learn more Learn more
</Link> </Link>
@@ -1143,10 +1135,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
// } // }
private shouldShowCollectionThroughputInput(): boolean { private shouldShowCollectionThroughputInput(): boolean {
if (!isFeatureSupported(PlatformFeature.ContainerThroughput)) {
return false;
}
if (isServerlessAccount()) { if (isServerlessAccount()) {
return false; return false;
} }

View File

@@ -202,7 +202,7 @@ export const SettingsPane: FunctionComponent<{ explorer: Explorer }> = ({
const styles = useStyles(); const styles = useStyles();
const explorerVersion = configContext.gitSha; const explorerVersion = configContext.gitSha;
const isEmulator = configContext.platform === Platform.Emulator || configContext.platform === Platform.VNextEmulator; const isEmulator = configContext.platform === Platform.Emulator;
const shouldShowQueryPageOptions = userContext.apiType === "SQL"; const shouldShowQueryPageOptions = userContext.apiType === "SQL";
const showRetrySettings = const showRetrySettings =
(userContext.apiType === "SQL" || userContext.apiType === "Tables" || userContext.apiType === "Gremlin") && (userContext.apiType === "SQL" || userContext.apiType === "Tables" || userContext.apiType === "Gremlin") &&

View File

@@ -21,12 +21,7 @@ import { useCommandBar } from "../Menus/CommandBar/CommandBarComponentAdapter";
import { useSelectedNode } from "../useSelectedNode"; import { useSelectedNode } from "../useSelectedNode";
export const shouldShowScriptNodes = (): boolean => { export const shouldShowScriptNodes = (): boolean => {
return ( return !isFabric() && configContext.platform !== Platform.Emulator && (userContext.apiType === "SQL" || userContext.apiType === "Gremlin");
!isFabric() &&
configContext.platform !== Platform.Emulator &&
configContext.platform !== Platform.VNextEmulator &&
(userContext.apiType === "SQL" || userContext.apiType === "Gremlin")
);
}; };
const TreeDatabaseIcon = <DatabaseRegular fontSize={16} />; const TreeDatabaseIcon = <DatabaseRegular fontSize={16} />;

View File

@@ -29,9 +29,6 @@ export enum PlatformFeature {
ThroughputBucketing = "ThroughputBucketing", ThroughputBucketing = "ThroughputBucketing",
ComputedProperties = "ComputedProperties", ComputedProperties = "ComputedProperties",
AnalyticalStore = "AnalyticalStore", AnalyticalStore = "AnalyticalStore",
UniqueKeys = "UniqueKeys",
ContainerThroughput = "ContainerThroughput",
AdvancedContainerSettings = "AdvancedContainerSettings",
// CRUD Operations - Database // CRUD Operations - Database
CreateDatabase = "CreateDatabase", CreateDatabase = "CreateDatabase",
@@ -66,7 +63,6 @@ const FEATURE_MATRIX: ReadonlyMap<Platform, ReadonlySet<PlatformFeature>> = new
Platform.VNextEmulator, Platform.VNextEmulator,
new Set<PlatformFeature>([ new Set<PlatformFeature>([
PlatformFeature.Queries, PlatformFeature.Queries,
PlatformFeature.UniqueKeys,
PlatformFeature.CreateDatabase, PlatformFeature.CreateDatabase,
PlatformFeature.ReadDatabase, PlatformFeature.ReadDatabase,

View File

@@ -1,5 +1,4 @@
import { PartitionKey, PartitionKeyDefinition } from "@azure/cosmos"; import { PartitionKey, PartitionKeyDefinition } from "@azure/cosmos";
import { configContext, Platform } from "ConfigContext";
import { getRUThreshold, ruThresholdEnabled } from "Shared/StorageUtility"; import { getRUThreshold, ruThresholdEnabled } from "Shared/StorageUtility";
import { userContext } from "UserContext"; import { userContext } from "UserContext";
import { logConsoleWarning } from "Utils/NotificationConsoleUtils"; import { logConsoleWarning } from "Utils/NotificationConsoleUtils";
@@ -67,11 +66,7 @@ export function buildDocumentsQueryPartitionProjections(
} }
}); });
const fullAccess = `${collectionAlias}${projectedProperty}`; const fullAccess = `${collectionAlias}${projectedProperty}`;
if ( if (!isSystemPartitionKey) {
!isSystemPartitionKey &&
configContext.platform !== Platform.Emulator &&
configContext.platform !== Platform.VNextEmulator
) {
const wrappedProjection = `IIF(IS_DEFINED(${fullAccess}), ${fullAccess}, {})`; const wrappedProjection = `IIF(IS_DEFINED(${fullAccess}), ${fullAccess}, {})`;
projections.push(wrappedProjection); projections.push(wrappedProjection);
} else { } else {

View File

@@ -35,92 +35,214 @@
<div class="container-fluid"> <div class="container-fluid">
<ul class="nav nav-tabs qslevel"> <ul class="nav nav-tabs qslevel">
<li class="active"> <li class="active">
<a data-toggle="tab" href="#net"> <a data-toggle="tab" href="#net"
<img class="qsmenuicons" src="../images/dotnet.png" alt=".NET" /> .NET ><img class="qsmenuicons" src="../images/dotnet.png" alt=".NET platform" />.NET</a
</a> >
</li> </li>
<li> <li>
<a data-toggle="tab" href="#java"> <img class="qsmenuicons" src="../images/java.png" alt="Java" /> Java </a> <a data-toggle="tab" href="#corenet"
><img class="qsmenuicons" src="../images/dotnet.png" alt=".NET Core platform" />.NET Core</a
>
</li> </li>
<li> <li>
<a data-toggle="tab" href="#nodejs"> <a data-toggle="tab" href="#Java"
<img class="qsmenuicons" src="../images/nodejs.png" alt="Node.js" /> Node.js ><img class="qsmenuicons" src="../images/java.png" alt="Java platform" />Java</a
</a> >
</li> </li>
<li> <li>
<a data-toggle="tab" href="#python"> <a data-toggle="tab" href="#NodeJs"
<img class="qsmenuicons" src="../images/python.png" alt="Python" /> Python ><img class="qsmenuicons" src="../images/nodejs.png" alt="Node.js platform" />Node.js</a
</a> >
</li> </li>
<li> <li>
<a data-toggle="tab" href="#go"> <img class="qsmenuicons" src="../images/golang.svg" alt="Go" /> Go </a> <a data-toggle="tab" href="#Python"
</li> ><img class="qsmenuicons" src="../images/python.png" alt="Python platform" />Python</a
<li> >
<a data-toggle="tab" href="#springboot">
<img class="qsmenuicons" src="../images/springboot.svg" alt="Spring Boot" /> Spring Boot
</a>
</li> </li>
</ul> </ul>
<div class="tab-content tab-content-override">
<div class="tab-content">
<div id="net" class="tab-pane fade in active"> <div id="net" class="tab-pane fade in active">
<div class="sampleApp"> <div class="netApp">
<div class="numbersize numbersizePadding">1</div> <div class="numbersize numbersizePadding">1</div>
<div class="numberheading"> <div class="numberheading">
Create a new .NET app Open and run a sample .NET app
<p> <p>
Follow this We created a sample .NET app connected to your Azure Cosmos DB Emulator instance. Download, extract,
<a href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-dotnet" target="_blank" build and run the app.
>tutorial </p>
</a> <a href="quickstart/DocumentDB-Quickstart-DotNet.zip"
to create a new .NET app connected to Azure Cosmos DB. ><button class="btncreatecoll">Download</button></a
>
</div>
</div>
<div class="netApp">
<div class="numbersize">2</div>
<div class="numberheading">
Learn more about Azure Cosmos DB
<ul>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/samples/dotnet"
>Code Samples</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/docs">Documentation</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/pricing">Pricing</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/capacity-planner"
>Capacity Planner</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/stackoverflow">Forum</a>
</li>
</ul>
</div>
</div>
</div>
<div id="corenet" class="tab-pane fade">
<div class="netApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Open and run a sample .NET Core app
<p>
We created a sample .NET Core app connected to your Azure Cosmos DB Emulator instance. Download,
extract, build and run the app.
</p>
<a href="quickstart/DocumentDB-Quickstart-DotNetCore.zip"
><button class="btncreatecoll">Download</button></a
>
</div>
</div>
<div class="netApp">
<div class="numbersize">2</div>
<div class="numberheading">
Learn more about Azure Cosmos DB.
<ul>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/samples/dotnet"
>Code Samples</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/docs">Documentation</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/pricing">Pricing</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/capacity-planner"
>Capacity Planner</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/stackoverflow">Forum</a>
</li>
</ul>
</div>
</div>
</div>
<div id="Java" class="tab-pane fade">
<div class="step1">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Open and run a sample Java app
<p>
We created a sample Java app connected to your Azure Cosmos DB Emulator instance. Download, extract,
build and run the app.
</p>
<a href="quickstart/DocumentDB-Quickstart-Java.zip"><button class="btncreatecoll">Download</button></a>
<p>
Follow instructions in the readme.md to setup prerequisites needed to run Java web apps, if you
havent already.
</p> </p>
</div> </div>
</div> </div>
<div class="learn-more"></div>
<div class="step1">
<div class="numbersize">2</div>
<div class="numberheading">
Learn more about Azure Cosmos DB.
<ul>
<!--<li><a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/samples/java">Code Samples</a></li>-->
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/docs">Documentation</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/pricing">Pricing</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/capacity-planner"
>Capacity Planner</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/stackoverflow">Forum</a>
</li>
</ul>
</div>
</div>
</div> </div>
<div id="java" class="tab-pane fade"> <div id="NodeJs" class="tab-pane fade">
<div class="sampleApp"> <div class="step1">
<div class="numbersize numbersizePadding">1</div> <div class="numbersize numbersizePadding">1</div>
<div class="numberheading"> <div class="numberheading">
Create a new Java app Open and run a sample Node.js app
<p> <p>
Follow this We created a sample Node.js app connected to your Azure Cosmos DB Emulator instance. Download,
<a href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-java" target="_blank" extract, build and run the app.
>tutorial </p>
</a> <a href="quickstart/DocumentDB-Quickstart-NodeJs.zip"
to create a new Java app connected to Azure Cosmos DB. ><button class="btncreatecoll">Download</button></a
>
<p>
Run <strong>npm install</strong> and <strong>npm start</strong>, and navigate to
<a href="http://localhost:3000" _targe="blank">http://localhost:3000</a>.
</p> </p>
</div> </div>
</div> </div>
<div class="learn-more"></div>
<div class="step1">
<div class="numbersize">2</div>
<div class="numberheading">
Learn more about Azure Cosmos DB.
<ul>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/samples/nodejs"
>Code Samples</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/docs">Documentation</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/pricing">Pricing</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/capacity-planner"
>Capacity Planner</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/stackoverflow">Forum</a>
</li>
</ul>
</div>
</div>
</div> </div>
<div id="nodejs" class="tab-pane fade"> <div id="Python" class="tab-pane fade">
<div class="sampleApp"> <div class="pythonApp">
<div class="numbersize numbersizePadding">1</div> <div class="numbersize numbersizePadding">1</div>
<div class="numberheading"> <div class="numberheading">
Create a new Node.js app Create a new Python app.
<p>
Follow this
<a
href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-nodejs?pivots=programming-language-ts"
target="_blank"
>tutorial
</a>
to create a new Node.js app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
<div id="python" class="tab-pane fade">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Python app
<p> <p>
Follow this Follow this
<a href="https://aka.ms/cosmos-db-emulator/tutorial/python" target="_blank">tutorial</a> <a href="https://aka.ms/cosmos-db-emulator/tutorial/python" target="_blank">tutorial</a>
@@ -128,73 +250,42 @@
</p> </p>
</div> </div>
</div> </div>
<div class="learn-more"></div>
</div>
<div id="go" class="tab-pane fade"> <div class="pythonApp">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Go app
<p>
Follow this
<a href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-go" target="_blank">tutorial</a>
to create a new Go app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
<div id="springboot" class="tab-pane fade">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Spring Boot app
<p>
Follow this
<a
href="https://learn.microsoft.com/azure/cosmos-db/nosql/tutorial-springboot-azure-kubernetes-service"
target="_blank"
>tutorial</a
>
to create a new Spring Boot app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
</div>
</div>
</div>
<template id="learnMoreTpl">
<div class="app-block">
<div class="numbersize">2</div> <div class="numbersize">2</div>
<div class="numberheading"> <div class="numberheading">
Learn more about Azure Cosmos DB Learn more about Azure Cosmos DB.
<ul> <ul>
<li> <li>
<a href="https://azurecosmosdb.github.io/gallery/?tags=example" target="_blank" class="atags" <a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/samples/python"
>Code Samples</a >Code Samples</a
> >
</li> </li>
<li><a href="https://aka.ms/cosmos-db-emulator/docs" target="_blank" class="atags">Documentation</a></li>
<li><a href="https://aka.ms/cosmos-db-emulator/pricing" target="_blank" class="atags">Pricing</a></li>
<li> <li>
<a href="https://cosmos.azure.com/capacitycalculator/" target="_blank" class="atags">Capacity planner</a> <a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/docs">Documentation</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/pricing">Pricing</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/capacity-planner"
>Capacity planner</a
>
</li>
<li>
<a
target="_blank"
class="atags"
href="https://social.msdn.microsoft.com/forums/azure/home?forum=AzureDocumentDB"
>Forum</a
>
</li> </li>
<li><a href="https://aka.ms/cosmos-db-emulator/stackoverflow" target="_blank" class="atags">Forum</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</template> </div>
</div>
<script> </div>
document.querySelectorAll(".learn-more").forEach((slot) => { </div>
const node = document.getElementById("learnMoreTpl").content.cloneNode(true);
slot.appendChild(node);
});
</script>
</body> </body>
</html> </html>

View File

@@ -35,92 +35,214 @@
<div class="container-fluid"> <div class="container-fluid">
<ul class="nav nav-tabs qslevel"> <ul class="nav nav-tabs qslevel">
<li class="active"> <li class="active">
<a data-toggle="tab" href="#net"> <a data-toggle="tab" href="#net"
<img class="qsmenuicons" src="../images/dotnet.png" alt=".NET" /> .NET ><img class="qsmenuicons" src="../images/dotnet.png" alt=".NET platform" />.NET</a
</a> >
</li> </li>
<li> <li>
<a data-toggle="tab" href="#java"> <img class="qsmenuicons" src="../images/java.png" alt="Java" /> Java </a> <a data-toggle="tab" href="#corenet"
><img class="qsmenuicons" src="../images/dotnet.png" alt=".NET Core platform" />.NET Core</a
>
</li> </li>
<li> <li>
<a data-toggle="tab" href="#nodejs"> <a data-toggle="tab" href="#Java"
<img class="qsmenuicons" src="../images/nodejs.png" alt="Node.js" /> Node.js ><img class="qsmenuicons" src="../images/java.png" alt="Java platform" />Java</a
</a> >
</li> </li>
<li> <li>
<a data-toggle="tab" href="#python"> <a data-toggle="tab" href="#NodeJs"
<img class="qsmenuicons" src="../images/python.png" alt="Python" /> Python ><img class="qsmenuicons" src="../images/nodejs.png" alt="Node.js platform" />Node.js</a
</a> >
</li> </li>
<li> <li>
<a data-toggle="tab" href="#go"> <img class="qsmenuicons" src="../images/golang.svg" alt="Go" /> Go </a> <a data-toggle="tab" href="#Python"
</li> ><img class="qsmenuicons" src="../images/python.png" alt="Python platform" />Python</a
<li> >
<a data-toggle="tab" href="#springboot">
<img class="qsmenuicons" src="../images/springboot.svg" alt="Spring Boot" /> Spring Boot
</a>
</li> </li>
</ul> </ul>
<div class="tab-content tab-content-override">
<div class="tab-content">
<div id="net" class="tab-pane fade in active"> <div id="net" class="tab-pane fade in active">
<div class="sampleApp"> <div class="netApp">
<div class="numbersize numbersizePadding">1</div> <div class="numbersize numbersizePadding">1</div>
<div class="numberheading"> <div class="numberheading">
Create a new .NET app Open and run a sample .NET app
<p> <p>
Follow this We created a sample .NET app connected to your Azure Cosmos DB Emulator instance. Download, extract,
<a href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-dotnet" target="_blank" build and run the app.
>tutorial </p>
</a> <a href="quickstart/DocumentDB-Quickstart-DotNet.zip"
to create a new .NET app connected to Azure Cosmos DB. ><button class="btncreatecoll">Download</button></a
>
</div>
</div>
<div class="netApp">
<div class="numbersize">2</div>
<div class="numberheading">
Learn more about Azure Cosmos DB
<ul>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/samples/dotnet"
>Code Samples</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/docs">Documentation</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/pricing">Pricing</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/capacity-planner"
>Capacity Planner</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/stackoverflow">Forum</a>
</li>
</ul>
</div>
</div>
</div>
<div id="corenet" class="tab-pane fade">
<div class="netApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Open and run a sample .NET Core app
<p>
We created a sample .NET Core app connected to your Azure Cosmos DB Emulator instance. Download,
extract, build and run the app.
</p>
<a href="quickstart/DocumentDB-Quickstart-DotNetCore.zip"
><button class="btncreatecoll">Download</button></a
>
</div>
</div>
<div class="netApp">
<div class="numbersize">2</div>
<div class="numberheading">
Learn more about Azure Cosmos DB.
<ul>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/samples/dotnet"
>Code Samples</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/docs">Documentation</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/pricing">Pricing</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/capacity-planner"
>Capacity Planner</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/stackoverflow">Forum</a>
</li>
</ul>
</div>
</div>
</div>
<div id="Java" class="tab-pane fade">
<div class="step1">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Open and run a sample Java app
<p>
We created a sample Java app connected to your Azure Cosmos DB Emulator instance. Download, extract,
build and run the app.
</p>
<a href="quickstart/DocumentDB-Quickstart-Java.zip"><button class="btncreatecoll">Download</button></a>
<p>
Follow instructions in the readme.md to setup prerequisites needed to run Java web apps, if you
havent already.
</p> </p>
</div> </div>
</div> </div>
<div class="learn-more"></div>
<div class="step1">
<div class="numbersize">2</div>
<div class="numberheading">
Learn more about Azure Cosmos DB.
<ul>
<!--<li><a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/samples/java">Code Samples</a></li>-->
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/docs">Documentation</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/pricing">Pricing</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/capacity-planner"
>Capacity Planner</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/stackoverflow">Forum</a>
</li>
</ul>
</div>
</div>
</div> </div>
<div id="java" class="tab-pane fade"> <div id="NodeJs" class="tab-pane fade">
<div class="sampleApp"> <div class="step1">
<div class="numbersize numbersizePadding">1</div> <div class="numbersize numbersizePadding">1</div>
<div class="numberheading"> <div class="numberheading">
Create a new Java app Open and run a sample Node.js app
<p> <p>
Follow this We created a sample Node.js app connected to your Azure Cosmos DB Emulator instance. Download,
<a href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-java" target="_blank" extract, build and run the app.
>tutorial </p>
</a> <a href="quickstart/DocumentDB-Quickstart-NodeJs.zip"
to create a new Java app connected to Azure Cosmos DB. ><button class="btncreatecoll">Download</button></a
>
<p>
Run <strong>npm install</strong> and <strong>npm start</strong>, and navigate to
<a href="http://localhost:3000" _targe="blank">http://localhost:3000</a>.
</p> </p>
</div> </div>
</div> </div>
<div class="learn-more"></div>
<div class="step1">
<div class="numbersize">2</div>
<div class="numberheading">
Learn more about Azure Cosmos DB.
<ul>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/samples/nodejs"
>Code Samples</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/docs">Documentation</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/pricing">Pricing</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/capacity-planner"
>Capacity Planner</a
>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/stackoverflow">Forum</a>
</li>
</ul>
</div>
</div>
</div> </div>
<div id="nodejs" class="tab-pane fade"> <div id="Python" class="tab-pane fade">
<div class="sampleApp"> <div class="pythonApp">
<div class="numbersize numbersizePadding">1</div> <div class="numbersize numbersizePadding">1</div>
<div class="numberheading"> <div class="numberheading">
Create a new Node.js app Create a new Python app.
<p>
Follow this
<a
href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-nodejs?pivots=programming-language-ts"
target="_blank"
>tutorial
</a>
to create a new Node.js app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
<div id="python" class="tab-pane fade">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Python app
<p> <p>
Follow this Follow this
<a href="https://aka.ms/cosmos-db-emulator/tutorial/python" target="_blank">tutorial</a> <a href="https://aka.ms/cosmos-db-emulator/tutorial/python" target="_blank">tutorial</a>
@@ -128,73 +250,42 @@
</p> </p>
</div> </div>
</div> </div>
<div class="learn-more"></div>
</div>
<div id="go" class="tab-pane fade"> <div class="pythonApp">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Go app
<p>
Follow this
<a href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-go" target="_blank">tutorial</a>
to create a new Go app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
<div id="springboot" class="tab-pane fade">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Spring Boot app
<p>
Follow this
<a
href="https://learn.microsoft.com/azure/cosmos-db/nosql/tutorial-springboot-azure-kubernetes-service"
target="_blank"
>tutorial</a
>
to create a new Spring Boot app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
</div>
</div>
</div>
<template id="learnMoreTpl">
<div class="app-block">
<div class="numbersize">2</div> <div class="numbersize">2</div>
<div class="numberheading"> <div class="numberheading">
Learn more about Azure Cosmos DB Learn more about Azure Cosmos DB.
<ul> <ul>
<li> <li>
<a href="https://azurecosmosdb.github.io/gallery/?tags=example" target="_blank" class="atags" <a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/samples/python"
>Code Samples</a >Code Samples</a
> >
</li> </li>
<li><a href="https://aka.ms/cosmos-db-emulator/docs" target="_blank" class="atags">Documentation</a></li>
<li><a href="https://aka.ms/cosmos-db-emulator/pricing" target="_blank" class="atags">Pricing</a></li>
<li> <li>
<a href="https://cosmos.azure.com/capacitycalculator/" target="_blank" class="atags">Capacity planner</a> <a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/docs">Documentation</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/pricing">Pricing</a>
</li>
<li>
<a target="_blank" class="atags" href="https://aka.ms/cosmos-db-emulator/capacity-planner"
>Capacity planner</a
>
</li>
<li>
<a
target="_blank"
class="atags"
href="https://social.msdn.microsoft.com/forums/azure/home?forum=AzureDocumentDB"
>Forum</a
>
</li> </li>
<li><a href="https://aka.ms/cosmos-db-emulator/stackoverflow" target="_blank" class="atags">Forum</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</template> </div>
</div>
<script> </div>
document.querySelectorAll(".learn-more").forEach((slot) => { </div>
const node = document.getElementById("learnMoreTpl").content.cloneNode(true);
slot.appendChild(node);
});
</script>
</body> </body>
</html> </html>

View File

@@ -1,179 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0" />
<title>Azure Cosmos DB Emulator (SQL)</title>
</head>
<body>
<div id="divQuickStart">
<div class="Introlines">
<p class="Introline1">Congratulations! Your Azure Cosmos DB emulator is running.</p>
<p class="Introline2">Now, let's connect a sample app to it.</p>
<div id="divQuickStartConnections">
<p class="Introline2">URI</p>
<input type="text" class="codeblock" readonly value="<%= endpointUri %>" />
<p class="Introline2">Primary Key</p>
<input type="text" class="codeblock" readonly value="<%= primaryKey %>" />
<p class="Introline2">Primary Connection String</p>
<input type="text" class="codeblock" readonly value="<%= primaryConnString %>" />
</div>
<p class="Introline3"><b>Choose a platform</b></p>
</div>
<div class="container-fluid">
<ul class="nav nav-tabs qslevel">
<li class="active">
<a data-toggle="tab" href="#net"> <img class="qsmenuicons" src="images/dotnet.png" alt=".NET" /> .NET </a>
</li>
<li>
<a data-toggle="tab" href="#java"><img class="qsmenuicons" src="images/java.png" alt="Java" /> Java</a>
</li>
<li>
<a data-toggle="tab" href="#nodejs"
><img class="qsmenuicons" src="images/nodejs.png" alt="Node.js" /> Node.js</a
>
</li>
<li>
<a data-toggle="tab" href="#python"
><img class="qsmenuicons" src="images/python.png" alt="Python" /> Python</a
>
</li>
<li>
<a data-toggle="tab" href="#go"><img class="qsmenuicons" src="images/golang.svg" alt="Go" /> Go</a>
</li>
<li>
<a data-toggle="tab" href="#springboot"
><img class="qsmenuicons" src="images/springboot.svg" alt="Spring Boot" /> Spring Boot</a
>
</li>
</ul>
<div class="tab-content">
<div id="net" class="tab-pane fade in active">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new .NET app
<p>
Follow this
<a href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-dotnet" target="_blank"
>tutorial</a
>
to create a new .NET app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
<div id="java" class="tab-pane fade">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Java app
<p>
Follow this
<a href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-java" target="_blank"
>tutorial</a
>
to create a new Java app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
<div id="nodejs" class="tab-pane fade">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Node.js app
<p>
Follow this
<a
href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-nodejs?pivots=programming-language-ts"
target="_blank"
>tutorial</a
>
to create a new Node.js app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
<div id="python" class="tab-pane fade">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Python app
<p>
Follow this <a href="https://aka.ms/cosmos-db-emulator/tutorial/python" target="_blank">tutorial</a>
to create a new Python app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
<div id="go" class="tab-pane fade">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Go app
<p>
Follow this
<a href="https://learn.microsoft.com/azure/cosmos-db/nosql/quickstart-go" target="_blank">tutorial</a>
to create a new Go app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
<div id="springboot" class="tab-pane fade">
<div class="sampleApp">
<div class="numbersize numbersizePadding">1</div>
<div class="numberheading">
Create a new Spring Boot app
<p>
Follow this
<a
href="https://learn.microsoft.com/azure/cosmos-db/nosql/tutorial-springboot-azure-kubernetes-service"
target="_blank"
>tutorial</a
>
to create a new Spring Boot app connected to Azure Cosmos DB.
</p>
</div>
</div>
<div class="learn-more"></div>
</div>
</div>
</div>
</div>
<template id="learnMoreTpl">
<div class="app-block">
<div class="numbersize">2</div>
<div class="numberheading">
Learn more about Azure Cosmos DB
<ul>
<li>
<a href="https://azurecosmosdb.github.io/gallery/?tags=example" target="_blank" class="atags"
>Code Samples</a
>
</li>
<li><a href="https://aka.ms/cosmos-db-emulator/docs" target="_blank" class="atags">Documentation</a></li>
<li><a href="https://aka.ms/cosmos-db-emulator/pricing" target="_blank" class="atags">Pricing</a></li>
<li>
<a href="https://cosmos.azure.com/capacitycalculator/" target="_blank" class="atags">Capacity planner</a>
</li>
<li><a href="https://aka.ms/cosmos-db-emulator/stackoverflow" target="_blank" class="atags">Forum</a></li>
</ul>
</div>
</div>
</template>
<script>
document.querySelectorAll(".learn-more").forEach((slot) => {
const node = document.getElementById("learnMoreTpl").content.cloneNode(true);
slot.appendChild(node);
});
</script>
</body>
</html>

View File

@@ -122,23 +122,6 @@ module.exports = function (_env = {}, argv = {}) {
...(mode !== "production" && { testExplorer: "./test/testExplorer/TestExplorer.ts" }), ...(mode !== "production" && { testExplorer: "./test/testExplorer/TestExplorer.ts" }),
}; };
// Derive emulator endpoint components from EMULATOR_ENDPOINT (fallback to localhost defaults)
const rawEndpoint = process.env.EMULATOR_ENDPOINT || (ishttps ? "https://localhost:8081/" : "http://localhost:8081/");
let endpointProtocol = ishttps ? "https" : "http";
let endpointHost = "localhost";
let endpointPort = "8081";
try {
const u = new URL(rawEndpoint);
endpointProtocol = u.protocol.replace(":", "");
endpointHost = u.hostname;
endpointPort = u.port || (endpointProtocol === "https" ? "443" : "80");
} catch (e) {
// Ignore parse errors and keep defaults
}
const endpointUri = `${endpointProtocol}://${endpointHost}:${endpointPort}`;
const primaryKeyConst = "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==";
const primaryConnString = `AccountEndpoint=${endpointUri}/;AccountKey=${primaryKeyConst}`;
const htmlWebpackPlugins = [ const htmlWebpackPlugins = [
new HtmlWebpackPlugin({ new HtmlWebpackPlugin({
filename: "explorer.html", filename: "explorer.html",
@@ -151,15 +134,16 @@ module.exports = function (_env = {}, argv = {}) {
chunks: ["terminal"], chunks: ["terminal"],
}), }),
//todo - dynamically include apis //todo - dynamically include apis
new HtmlWebpackPlugin({ ishttps
? new HtmlWebpackPlugin({
filename: "quickstart.html", filename: "quickstart.html",
template: "src/quickstart-sql.template.ejs", template: "src/quickstart-sql-only.html",
chunks: ["quickstart"],
})
: new HtmlWebpackPlugin({
filename: "quickstart.html",
template: "src/quickstart-sql-only-http.html",
chunks: ["quickstart"], chunks: ["quickstart"],
templateParameters: {
endpointUri,
primaryKey: primaryKeyConst,
primaryConnString,
},
}), }),
new HtmlWebpackPlugin({ new HtmlWebpackPlugin({
filename: "index.html", filename: "index.html",
@@ -236,7 +220,6 @@ module.exports = function (_env = {}, argv = {}) {
{ from: "DataExplorer.proj" }, { from: "DataExplorer.proj" },
{ from: "web.config" }, { from: "web.config" },
{ from: "quickstart/*.zip" }, { from: "quickstart/*.zip" },
{ from: "images", to: "images" },
], ],
}), }),
new EnvironmentPlugin(envVars), new EnvironmentPlugin(envVars),