diff --git a/samples/ManagementSite/Alloy.ManagementSite.csproj b/samples/ManagementSite/Alloy.ManagementSite.csproj index e31f2f3..ff64536 100644 --- a/samples/ManagementSite/Alloy.ManagementSite.csproj +++ b/samples/ManagementSite/Alloy.ManagementSite.csproj @@ -1,34 +1,36 @@  - - net6.0 - NU5100;NU1803;NU1605;NU1504; - 12.23.0 - 12.20.1 - 0.1.1-inte-380 - 12.20.1 - 5.8.2 - - - - - - - - - - - - - - - - - - - + + net6.0 + NU5100;NU1803;NU1605;NU1504; + 12.30.0 + 12.21.4 + 1.0.0-pre-541 + 12.20.1 + 5.9.0 + + + + + + + + + + + + + + + + + + + - - + + + + @@ -36,17 +38,17 @@ - - - - - - - - - - - - NU5100;NU1803;NU1605;NU1504; - + + + + + + + + + + + + NU5100;NU1803;NU1605;NU1504; + diff --git a/samples/ManagementSite/Controllers/ReactController.cs b/samples/ManagementSite/Controllers/ReactController.cs index c5b9ef5..7986af2 100644 --- a/samples/ManagementSite/Controllers/ReactController.cs +++ b/samples/ManagementSite/Controllers/ReactController.cs @@ -1,9 +1,11 @@ -using EPiServer.Cms.Shell; +using EPiServer; +using EPiServer.Core; +using EPiServer.Forms.Implementation.Elements; +using EPiServer.ServiceLocation; +using EPiServer.SpecializedProperties; using EPiServer.Web; using EPiServer.Web.Routing; using Microsoft.AspNetCore.Mvc; -using Optimizely.Cms.Preview1.Content; -using Optimizely.Cms.Preview1.Content.Models; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -13,11 +15,8 @@ namespace AlloyMvcTemplates.Controllers; [ApiController] public class ReactController : ControllerBase { - private readonly IContentRepository _contentRepositoryInteApi; - - public ReactController(IContentRepository contentRepositoryInteApi) + public ReactController() { - _contentRepositoryInteApi = contentRepositoryInteApi; } [HttpGet("GetFormInPageByUrl")] @@ -32,18 +31,30 @@ public async Task GetFormInPageByUrl(string url) } CancellationTokenSource source = new CancellationTokenSource(); CancellationToken token = source.Token; - var key = ContentKey.FormatAsKey(content.ContentGuid); + + var contentLoader = ServiceLocator.Current.GetInstance(); + + var pageContent = contentLoader.Get(content.ContentGuid); + var pageModel = new PageModel(); - var contentHeadless = await _contentRepositoryInteApi.GetAsync(key, content.LanguageBranch()); - if (contentHeadless is not null) + if (pageContent is not null) { - pageModel.Title = contentHeadless.DisplayName; + pageModel.Title = pageContent.Name; pageModel.PageUrl = UrlResolver.Current.GetUrl(content.ContentLink); - if (contentHeadless.Properties.ContainsKey("MainContentArea")) + if (pageContent.Property.Keys.Contains("MainContentArea")) { - pageModel.Childrens.AddRange(contentHeadless.Properties["MainContentArea"] as IList); + var contentArea = pageContent.Property["MainContentArea"] as PropertyContentArea; + foreach (var item in contentArea.PublicContentArea.FilteredItems) + { + var contentItem = contentLoader.Get(item.ContentLink); + + if(contentItem is FormContainerBlock) + { + pageModel.FormKeys.Add(contentItem.ContentGuid.ToString("N")); + } + } } } @@ -55,5 +66,5 @@ public class PageModel { public string Title { get; set; } public string PageUrl { get; set; } - public List Childrens { get; set; } = new List(); -} + public List FormKeys { get; set; } = new List(); +} \ No newline at end of file diff --git a/samples/ManagementSite/Nuget.config b/samples/ManagementSite/Nuget.config index 735016a..75cfdc2 100644 --- a/samples/ManagementSite/Nuget.config +++ b/samples/ManagementSite/Nuget.config @@ -19,7 +19,7 @@ - + diff --git a/samples/ManagementSite/Properties/launchSettings.json b/samples/ManagementSite/Properties/launchSettings.json index eee0d5d..a2802f7 100644 --- a/samples/ManagementSite/Properties/launchSettings.json +++ b/samples/ManagementSite/Properties/launchSettings.json @@ -12,7 +12,7 @@ "commandName": "Project", "launchBrowser": true, "launchUrl": "episerver/cms", - "applicationUrl": "http://localhost:8082", + "applicationUrl": "https://localhost:8082", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/samples/ManagementSite/Startup.cs b/samples/ManagementSite/Startup.cs index e2fa1c0..c8c513a 100644 --- a/samples/ManagementSite/Startup.cs +++ b/samples/ManagementSite/Startup.cs @@ -13,8 +13,6 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using Optimizely.Headless.Form.DependencyInjection; -using Optimizely.Headless.Form; using EPiServer.OpenIDConnect; using System; using static OpenIddict.Abstractions.OpenIddictConstants; @@ -22,7 +20,9 @@ using OpenIddict.Server; using System.Linq; using Microsoft.Extensions.DependencyInjection.Extensions; -using Optimizely.Cms.DependencyInjection; +using EPiServer.DependencyInjection; +using Optimizely.Cms.Forms.DependencyInjection; +using Optimizely.Cms.Forms; namespace Alloy.ManagementSite { @@ -33,7 +33,7 @@ public class Startup private readonly string _allowedOrigins = "_allowedOrigins"; private const string TestClientId = "TestClient"; private const string TestClientSecret = "TestClientSecret"; - private const string ClientEndpoint = "http://localhost:8082"; + private const string ClientEndpoint = "https://localhost:8082"; public Startup(IWebHostEnvironment environment, IConfiguration configuration) { @@ -46,7 +46,7 @@ public void ConfigureServices(IServiceCollection services) if (_environment.IsDevelopment()) { //NETCORE: Consider add appsettings support for this - + services.Configure(o => { o.OnPrepareResponse = context => @@ -57,7 +57,8 @@ public void ConfigureServices(IServiceCollection services) }); } - services.Configure(o => { + services.Configure(o => + { o.Enabled = false; }); @@ -89,7 +90,8 @@ public void ConfigureServices(IServiceCollection services) .AddContentDelivery(managementSiteOptions) .ConfigureDxp(managementSiteOptions, _configuration); - services.AddCors(opts => { + services.AddCors(opts => + { opts.AddPolicy(name: _allowedOrigins, builder => { builder.WithOrigins(managementSiteOptions.DeliverySite.Url) @@ -121,15 +123,15 @@ public void ConfigureServices(IServiceCollection services) }); }); - services.TryAddEnumerable(ServiceDescriptor.Singleton, HeadlessFormServiceOptionsPostConfigure>()); + services.TryAddEnumerable(ServiceDescriptor.Singleton, HeadlessFormServiceOptionsPostConfigure>()); // Register the Optimizely Headless Form API Services - services.AddOptimizelyHeadlessFormService(options => + services.AddOptimizelyFormsService(options => { options.EnableOpenApiDocumentation = true; options.FormCorsPolicy = new FormCorsPolicy { - AllowOrigins = new string[] { "http://localhost:3000" }, //Enter '*' to allow any origins, multiple origins separate by comma + AllowOrigins = new string[] { "*" }, //Enter '*' to allow any origins, multiple origins separate by comma AllowCredentials = true }; options.OpenIDConnectClients.Add(new() @@ -138,7 +140,7 @@ public void ConfigureServices(IServiceCollection services) }); }); - services.AddOptimizelyCmsContentOnEPiServerPreview1(); + services.AddContentGraph(OpenIDConnectOptionsDefaults.AuthenticationScheme); //Register ContentGraph for HeadlessForm services.AddContentDeliveryApi(op => @@ -174,7 +176,7 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) } } - public class HeadlessFormServiceOptionsPostConfigure : IPostConfigureOptions + public class HeadlessFormServiceOptionsPostConfigure : IPostConfigureOptions { private readonly OpenIddictServerOptions _options; @@ -183,7 +185,7 @@ public HeadlessFormServiceOptionsPostConfigure(IOptions _options = options.Value; } - public void PostConfigure(string name, HeadlessFormServiceOptions options) + public void PostConfigure(string name, OptimizelyFormsServiceOptions options) { foreach (var client in options.OpenIDConnectClients) { diff --git a/samples/ManagementSite/appsettings.json b/samples/ManagementSite/appsettings.json index 46c4c3c..30a0988 100644 --- a/samples/ManagementSite/appsettings.json +++ b/samples/ManagementSite/appsettings.json @@ -29,10 +29,10 @@ }, "Optimizely": { "ContentGraph": { - "GatewayAddress": "https://dev.cg.optimizely.com", - "AppKey": "YOUR-APP-KEY", - "Secret": "YOUR-SECRET-KEY", - "SingleKey": "YOUR-SINGLE-KEY", + "GatewayAddress": "", + "AppKey": "", + "Secret": "", + "SingleKey": "", "AllowSendingLog": "true", "ContentVersionSyncMode": "DraftAndPublishedOnly", "Include": { diff --git a/samples/NugetPackages/optimizely.cms.forms.contentgraph.1.0.0-pre-541.nupkg b/samples/NugetPackages/optimizely.cms.forms.contentgraph.1.0.0-pre-541.nupkg new file mode 100644 index 0000000..1f751c1 Binary files /dev/null and b/samples/NugetPackages/optimizely.cms.forms.contentgraph.1.0.0-pre-541.nupkg differ diff --git a/samples/NugetPackages/optimizely.cms.forms.core.1.0.0-pre-541.nupkg b/samples/NugetPackages/optimizely.cms.forms.core.1.0.0-pre-541.nupkg new file mode 100644 index 0000000..80dcd0a Binary files /dev/null and b/samples/NugetPackages/optimizely.cms.forms.core.1.0.0-pre-541.nupkg differ diff --git a/samples/NugetPackages/optimizely.cms.forms.service.1.0.0-pre-541.nupkg b/samples/NugetPackages/optimizely.cms.forms.service.1.0.0-pre-541.nupkg new file mode 100644 index 0000000..b6bdb4a Binary files /dev/null and b/samples/NugetPackages/optimizely.cms.forms.service.1.0.0-pre-541.nupkg differ diff --git a/samples/NugetPackages/optimizely.headless.form.contentgraph.0.1.1-inte-380.nupkg b/samples/NugetPackages/optimizely.headless.form.contentgraph.0.1.1-inte-380.nupkg deleted file mode 100644 index 41c6937..0000000 Binary files a/samples/NugetPackages/optimizely.headless.form.contentgraph.0.1.1-inte-380.nupkg and /dev/null differ diff --git a/samples/NugetPackages/optimizely.headless.form.core.0.1.1-inte-380.nupkg b/samples/NugetPackages/optimizely.headless.form.core.0.1.1-inte-380.nupkg deleted file mode 100644 index a458a60..0000000 Binary files a/samples/NugetPackages/optimizely.headless.form.core.0.1.1-inte-380.nupkg and /dev/null differ diff --git a/samples/NugetPackages/optimizely.headless.form.service.0.1.1-inte-380.nupkg b/samples/NugetPackages/optimizely.headless.form.service.0.1.1-inte-380.nupkg deleted file mode 100644 index 976331a..0000000 Binary files a/samples/NugetPackages/optimizely.headless.form.service.0.1.1-inte-380.nupkg and /dev/null differ diff --git a/samples/musicfestival-backend-dotnet/Controllers/ReactController.cs b/samples/musicfestival-backend-dotnet/Controllers/ReactController.cs deleted file mode 100644 index ee827ea..0000000 --- a/samples/musicfestival-backend-dotnet/Controllers/ReactController.cs +++ /dev/null @@ -1,53 +0,0 @@ -using EPiServer.Cms.Shell; -using EPiServer.Web; -using EPiServer.Web.Routing; -using Microsoft.AspNetCore.Mvc; -using Optimizely.Cms.Preview1.Content; -using Optimizely.Cms.Preview1.Content.Models; - -namespace AlloyMvcTemplates.Controllers; -[Route("api/[controller]")] -[ApiController] -public class ReactController : ControllerBase -{ - private readonly IContentRepository _contentRepositoryInteApi; - - public ReactController(IContentRepository contentRepositoryInteApi) - { - _contentRepositoryInteApi = contentRepositoryInteApi; - } - - [HttpGet("GetFormInPageByUrl")] - public async Task GetFormInPageByUrl(string url) - { - var builder = new EPiServer.UrlBuilder(url); - var content = UrlResolver.Current.Route(builder, ContextMode.Default); - - if (content is null) - { - return NoContent(); - } - CancellationTokenSource source = new CancellationTokenSource(); - CancellationToken token = source.Token; - var key = ContentKey.FormatAsKey(content.ContentGuid); - var pageModel = new PageModel(); - var contentHeadless = await _contentRepositoryInteApi.GetAsync(key, content.LanguageBranch()); - - pageModel.Title = contentHeadless.DisplayName; - pageModel.PageUrl = UrlResolver.Current.GetUrl(content.ContentLink); - - if (contentHeadless.Properties.ContainsKey("MainContentArea")) - { - pageModel.Childrens.AddRange(contentHeadless.Properties["MainContentArea"] as IList); - } - - return Ok(pageModel); - } -} - -public class PageModel -{ - public string Title { get; set; } - public string PageUrl { get; set; } - public List Childrens { get; set; } = new List(); -} diff --git a/samples/musicfestival-backend-dotnet/MusicFestival.Backend.csproj b/samples/musicfestival-backend-dotnet/MusicFestival.Backend.csproj index 854ab2a..1f4f4b7 100644 --- a/samples/musicfestival-backend-dotnet/MusicFestival.Backend.csproj +++ b/samples/musicfestival-backend-dotnet/MusicFestival.Backend.csproj @@ -5,16 +5,15 @@ MusicFestival.Backend enable enable - 12.26.0 - 12.20.1 - 12.20.1 - 5.8.2 - 0.1.1-inte-380 + 12.30.0 + 12.21.4 + 5.9.0 + 1.0.0-pre-541 - + @@ -28,19 +27,19 @@ - - - - + + + + - - - - + + + + diff --git a/samples/musicfestival-backend-dotnet/Startup.cs b/samples/musicfestival-backend-dotnet/Startup.cs index 473407c..eb3a653 100644 --- a/samples/musicfestival-backend-dotnet/Startup.cs +++ b/samples/musicfestival-backend-dotnet/Startup.cs @@ -13,9 +13,8 @@ using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; using OpenIddict.Server; -using Optimizely.Cms.DependencyInjection; -using Optimizely.Headless.Form; -using Optimizely.Headless.Form.DependencyInjection; +using Optimizely.Cms.Forms; +using Optimizely.Cms.Forms.DependencyInjection; // using Optimizely.ContentGraph.Cms.NetCore.ProxyUtils; @@ -30,7 +29,7 @@ public class Startup private readonly string _allowedOrigins = "_allowedOrigins"; private const string TestClientId = "TestClient"; private const string TestClientSecret = "TestClientSecret"; - private const string ClientEndpoint = "http://localhost:8082"; + private const string ClientEndpoint = "https://localhost:8082"; public Startup(IWebHostEnvironment webHostingEnvironment, IConfiguration configuration) { @@ -144,10 +143,11 @@ public void ConfigureServices(IServiceCollection services) o.IncludeInternalContentRoots = true; o.IncludeNumericContentIdentifier = true; }); - services.TryAddEnumerable(ServiceDescriptor.Singleton, HeadlessFormServiceOptionsPostConfigure>()); + + services.TryAddEnumerable(ServiceDescriptor.Singleton, HeadlessFormServiceOptionsPostConfigure>()); // Register the Optimizely Headless Form API Services - services.AddOptimizelyHeadlessFormService(options => + services.AddOptimizelyFormsService(options => { options.EnableOpenApiDocumentation = true; options.FormCorsPolicy = new FormCorsPolicy @@ -164,9 +164,8 @@ public void ConfigureServices(IServiceCollection services) services.AddContentGraph(OpenIDConnectOptionsDefaults.AuthenticationScheme); services.AddHostedService(); - services.AddOptimizelyHeadlessFormContentGraph(); + services.AddOptimizelyFormsContentGraph(); - services.AddOptimizelyCmsContentOnEPiServerPreview1(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) @@ -213,7 +212,7 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) }); } - public class HeadlessFormServiceOptionsPostConfigure : IPostConfigureOptions + public class HeadlessFormServiceOptionsPostConfigure : IPostConfigureOptions { private readonly OpenIddictServerOptions _options; @@ -222,7 +221,7 @@ public HeadlessFormServiceOptionsPostConfigure(IOptions _options = options.Value; } - public void PostConfigure(string name, HeadlessFormServiceOptions options) + public void PostConfigure(string name, OptimizelyFormsServiceOptions options) { foreach (var client in options.OpenIDConnectClients) { diff --git a/samples/musicfestival-backend-dotnet/appsettings.json b/samples/musicfestival-backend-dotnet/appsettings.json index 4aa1da6..3f7d2d6 100644 --- a/samples/musicfestival-backend-dotnet/appsettings.json +++ b/samples/musicfestival-backend-dotnet/appsettings.json @@ -16,10 +16,13 @@ "Secret": "", "SingleKey": "", "AllowSendingLog": "true", - "ContentVersionSyncMode": "All", - "SyncReferencingContents": "true", - "EnablePreviewTokens": "true" + "ContentVersionSyncMode": "DraftAndPublishedOnly", + "Include": { + "ContentIds": [], + "ContentTypes": [] + }, + "SyncReferencingContents": "true" } }, - "FRONT_END_URI": "" + "FRONT_END_URI": "http://localhost:3000" } diff --git a/samples/musicfestival-backend-dotnet/properties/launchSettings.json b/samples/musicfestival-backend-dotnet/properties/launchSettings.json index ce4a05d..0dc1584 100644 --- a/samples/musicfestival-backend-dotnet/properties/launchSettings.json +++ b/samples/musicfestival-backend-dotnet/properties/launchSettings.json @@ -1,10 +1,10 @@ -{ +{ "profiles": { "MusicFestival.Backend": { "commandName": "Project", "dotnetRunMessages": "true", "launchBrowser": true, - "applicationUrl": "http://localhost:8082", + "applicationUrl": "https://localhost:8082", "launchUrl": "episerver/cms", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" diff --git a/samples/musicfestival-frontend-react/.env b/samples/musicfestival-frontend-react/.env index c17695d..04727ce 100644 --- a/samples/musicfestival-frontend-react/.env +++ b/samples/musicfestival-frontend-react/.env @@ -1,7 +1,6 @@ REACT_APP_CG_PREVIEW_URL=https://cg.optimizely.com/content/v2 -REACT_APP_CONTENT_GRAPH_GATEWAY_URL=https://dev.cg.optimizely.com/content/v2?auth=INPUT_SINGLE_KEY_HERE +REACT_APP_CONTENT_GRAPH_GATEWAY_URL=https://dev.cg.optimizely.com/content/v2?auth= REACT_APP_LOGIN_CLIENT_ID=frontend -REACT_APP_ENDPOINT_GET_FORM_BY_PAGE_URL=http://localhost:8082/api/React/GetFormInPageByUrl?url= -REACT_APP_HEADLESS_FORM_BASE_URL=http://localhost:8082/ -REACT_APP_LOGIN_AUTHORITY=http://localhost:8082 +REACT_APP_HEADLESS_FORM_BASE_URL=https://localhost:8082/ +REACT_APP_LOGIN_AUTHORITY=https://localhost:8082 diff --git a/samples/sample-react-app/.env b/samples/sample-react-app/.env index 920d356..17fb9f6 100644 --- a/samples/sample-react-app/.env +++ b/samples/sample-react-app/.env @@ -1,4 +1,4 @@ -REACT_APP_ENDPOINT_GET_FORM_BY_PAGE_URL=http://localhost:8082/api/React/GetFormInPageByUrl?url= -REACT_APP_HEADLESS_FORM_BASE_URL=http://localhost:8082/ -REACT_APP_AUTH_BASEURL=http://localhost:8082/api/episerver/connect/token -REACT_APP_CONTENT_GRAPH_GATEWAY_URL=https://dev.cg.optimizely.com/content/v2?auth=INPUT_SINGLE_KEY_HERE \ No newline at end of file +REACT_APP_ENDPOINT_GET_FORM_BY_PAGE_URL=https://localhost:8082/api/React/GetFormInPageByUrl?url= +REACT_APP_HEADLESS_FORM_BASE_URL=https://localhost:8082/ +REACT_APP_AUTH_BASEURL=https://localhost:8082/api/episerver/connect/token +REACT_APP_CONTENT_GRAPH_GATEWAY_URL=https://dev.cg.optimizely.com/content/v2?auth= \ No newline at end of file diff --git a/samples/sample-react-app/src/App.tsx b/samples/sample-react-app/src/App.tsx index c363495..5c1634a 100644 --- a/samples/sample-react-app/src/App.tsx +++ b/samples/sample-react-app/src/App.tsx @@ -32,16 +32,16 @@ function App() {

{pageData.title}

- {pageData.childrens.map((c: any) => ( + {pageData.formKeys.map((formKey: any) => (
))}
diff --git a/src/@episerver/forms-sdk/src/form-loader/apiConstant.ts b/src/@episerver/forms-sdk/src/form-loader/apiConstant.ts index a3a72ce..e4ef6cf 100644 --- a/src/@episerver/forms-sdk/src/form-loader/apiConstant.ts +++ b/src/@episerver/forms-sdk/src/form-loader/apiConstant.ts @@ -1,4 +1,4 @@ export enum ApiConstant { apiVersion = "v1", - apiEndpoint = `_form/${ApiConstant.apiVersion}/form` + apiEndpoint = `_forms/${ApiConstant.apiVersion}/forms` } \ No newline at end of file diff --git a/yarn-error.log b/yarn-error.log new file mode 100644 index 0000000..0b9feb2 --- /dev/null +++ b/yarn-error.log @@ -0,0 +1,81 @@ +Arguments: + C:\Program Files\nodejs\node.exe C:\Users\liho\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js run build + +PATH: + C:\Program Files\PowerShell\7;C:\Program Files\Microsoft MPI\Bin\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files\WindowsPowerShell\Scripts;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\GitExtensions\;C:\Program Files\Java\jdk-10.0.2\bin;C:\Program Files\Git\cmd;C:\Program Files\dotnet\;C:\Users\liho\AppData\Local\SourceTree\app-3.4.9\tools\putty;C:\Users\liho\AppData\Local\SourceTree\app-3.4.9\tools\;C:\Program Files (x86)\Microsoft SQL Server\160\Tools\Binn\;C:\Program Files\Microsoft SQL Server\160\Tools\Binn\;C:\Program Files\Microsoft SQL Server\160\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\160\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Users\liho\appdata\local\programs\python\python312\Scripts;C:\Program Files\nodejs\;C:\Program Files\PowerShell\7\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\Microsoft MPI\Bin\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files\WindowsPowerShell\Scripts;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\GitExtensions\;C:\Program Files\Java\jdk-10.0.2\bin;C:\Program Files\Git\cmd;C:\Program Files\dotnet\;C:\Users\liho\AppData\Local\SourceTree\app-3.4.9\tools\putty;C:\Users\liho\AppData\Local\SourceTree\app-3.4.9\tools\;C:\Program Files (x86)\Microsoft SQL Server\160\Tools\Binn\;C:\Program Files\Microsoft SQL Server\160\Tools\Binn\;C:\Program Files\Microsoft SQL Server\160\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\160\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Users\liho\appdata\local\programs\python\python312\Scripts;C:\Program Files\nodejs\;C:\Program Files\PowerShell\7\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\liho\appdata\local\programs\python\python312\Scripts;C:\Users\liho\AppData\Local\Programs\Python\Python312\;C:\Users\liho\AppData\Local\Programs\Python\Python312\Scripts\;C:\Users\liho\AppData\Local\Yarn\bin\;C:\Users\liho\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\liho\.dotnet\tools;C:\Users\liho\AppData\Roaming\npm;C:\Users\liho\.dotnet\tools + +Yarn version: + 1.22.19 + +Node version: + 16.20.2 + +Platform: + win32 x64 + +Trace: + Error: Failed to replace env in config: ${AZURE_TOKEN} + at C:\Users\liho\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:94933:13 + at String.replace () + at envReplace (C:\Users\liho\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:94928:16) + at Function.normalizeConfig (C:\Users\liho\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:31938:69) + at NpmRegistry. (C:\Users\liho\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:31968:34) + at Generator.next () + at step (C:\Users\liho\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:310:30) + at C:\Users\liho\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:321:13 + +npm manifest: + { + "name": "content-headless-form-js-sdk", + "version": "1.0.0", + "description": "Workspace root", + "workspaces": [ + "src/@episerver/forms-react", + "src/@episerver/forms-sdk", + "samples/sample-react-app", + "samples/managementsite", + "samples/musicfestival-frontend-react", + "samples/musicfestival-backend-dotnet" + ], + "author": "Optimizely", + "license": "ISC", + "repository": { + "type": "git", + "url": "git+https://github.com/episerver/content-headless-form-js-sdk.git" + }, + "scripts": { + "setup-database": "setup.cmd", + "setup-backend": "npm run setup -w managementsite", + "setup-react-app": "npm install -w sample-react-app", + "setup-forms-sdk": "npm install -w @episerver/forms-sdk", + "setup-forms-react": "npm install -w @episerver/forms-react", + "setup": "npm run setup-forms-sdk && npm run setup-forms-react && npm run setup-react-app && npm run setup-backend && npm run setup-database", + "build-backend": "npm run build -w managementsite", + "build-forms-sdk": "npm run build -w @episerver/forms-sdk", + "build-forms-react": "npm run build -w @episerver/forms-react", + "build": "npm run build-forms-sdk && npm run build-forms-react", + "test-forms-sdk": "npm run test -w @episerver/forms-sdk", + "test": "npm run test-forms-sdk", + "start-backend": "npm start -w managementsite", + "start-frontend": "npm start -w sample-react-app", + "publish-forms-sdk": "npm publish -w @episerver/forms-sdk", + "publish-forms-react": "npm publish -w @episerver/forms-react", + "publish": "npm run publish-forms-sdk && npm run publish-forms-react", + "build-musicfestival": "npm run build -w music-festival", + "start-musicfestival": "npm start -w music-festival", + "build-musicfestival-backend": "npm run build -w musicfestival-backend", + "start-musicfestival-backend": "npm start -w musicfestival-backend" + + }, + "dependencies": { + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", + "@mui/material": "^5.15.15" + } + } + +yarn manifest: + No manifest + +Lockfile: + No lockfile