From a028bfd8f8a5da6e92ac2c6618387f6dfffdcd7c Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 7 Mar 2023 15:30:09 +0100
Subject: [PATCH 001/134] make context-provider test independent of external
libs
---
.../provide/context-provider.controller.test.ts | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.test.ts b/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.test.ts
index 70ba73eacb..621ae25a1a 100644
--- a/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.test.ts
+++ b/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.test.ts
@@ -1,27 +1,26 @@
-import { expect, fixture, html } from '@open-wc/testing';
+import { expect, fixture, defineCE } from '@open-wc/testing';
import { UmbContextConsumer } from '../consume/context-consumer';
import { UmbContextProviderController } from './context-provider.controller';
-import { UmbControllerHostTestElement, UmbLitElement } from '@umbraco-cms/element';
+import { UmbLitElement } from '@umbraco-cms/element';
class MyClass {
prop = 'value from provider';
}
+class ControllerHostElement extends UmbLitElement {}
+const controllerHostElement = defineCE(ControllerHostElement);
+
describe('UmbContextProviderController', () => {
let instance: MyClass;
let provider: UmbContextProviderController;
let element: UmbLitElement;
beforeEach(async () => {
- element = await fixture(html``);
+ element = await fixture(`<${controllerHostElement}>${controllerHostElement}>`);
instance = new MyClass();
provider = new UmbContextProviderController(element, 'my-test-context', instance);
});
- it('is defined with its own instance', () => {
- expect(element).to.be.instanceOf(UmbControllerHostTestElement);
- });
-
describe('Public API', () => {
describe('properties', () => {
it('has a unique property', () => {
From 8d47bf2c6c5fc601e1e4181cd1c52a75d5929dcc Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 7 Mar 2023 15:30:57 +0100
Subject: [PATCH 002/134] move context provider and host elements into src/core
folder to avoid exposing them to the public
---
src/Umbraco.Web.UI.Client/.storybook/preview.js | 9 +++++----
src/Umbraco.Web.UI.Client/libs/element/index.out.ts | 1 -
src/Umbraco.Web.UI.Client/libs/element/index.ts | 2 --
.../context-provider.element.test.ts | 2 +-
.../context-provider}/context-provider.element.ts | 11 ++++++++---
.../controller-host/controller-host-test.element.ts} | 6 +++---
.../controller-host/controller-host-test.test.ts} | 6 +++---
.../src/installer/shared/utils.story-helpers.ts | 2 +-
8 files changed, 21 insertions(+), 18 deletions(-)
delete mode 100644 src/Umbraco.Web.UI.Client/libs/element/index.out.ts
rename src/Umbraco.Web.UI.Client/{libs/element => src/core/context-provider}/context-provider.element.test.ts (95%)
rename src/Umbraco.Web.UI.Client/{libs/element => src/core/context-provider}/context-provider.element.ts (81%)
rename src/Umbraco.Web.UI.Client/{libs/element/controller-host.element.ts => src/core/controller-host/controller-host-test.element.ts} (79%)
rename src/Umbraco.Web.UI.Client/{libs/element/controller-host.element.test.ts => src/core/controller-host/controller-host-test.test.ts} (86%)
diff --git a/src/Umbraco.Web.UI.Client/.storybook/preview.js b/src/Umbraco.Web.UI.Client/.storybook/preview.js
index 8f05c5ff07..943845e252 100644
--- a/src/Umbraco.Web.UI.Client/.storybook/preview.js
+++ b/src/Umbraco.Web.UI.Client/.storybook/preview.js
@@ -25,8 +25,9 @@ import { UMB_MODAL_CONTEXT_TOKEN, UmbModalContext } from '../src/core/modal';
import { umbExtensionsRegistry } from '../libs/extensions-api';
+import '../src/core/context-provider/context-provider.element';
+import '../src/core/controller-host/controller-host-test.element';
import '../src/backoffice/shared/components/backoffice-frame/backoffice-notification-container.element';
-import '../libs/element/context-provider.element';
import '../src/backoffice/shared/components/backoffice-frame/backoffice-modal-container.element';
import '../src/backoffice/shared/components/code-block/code-block.element';
import '../src/backoffice/shared/components/workspace/workspace-layout/workspace-layout.element';
@@ -68,7 +69,7 @@ const documentTypeStoreProvider = (story) => html`
const modalContextProvider = (story) => html`
${story()}
@@ -118,9 +119,9 @@ export const parameters = {
{
name: 'White',
value: '#ffffff',
- },
+ },
],
- },
+ },
};
setCustomElements(customElementManifests);
diff --git a/src/Umbraco.Web.UI.Client/libs/element/index.out.ts b/src/Umbraco.Web.UI.Client/libs/element/index.out.ts
deleted file mode 100644
index 18d6126ccc..0000000000
--- a/src/Umbraco.Web.UI.Client/libs/element/index.out.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './element.mixin';
diff --git a/src/Umbraco.Web.UI.Client/libs/element/index.ts b/src/Umbraco.Web.UI.Client/libs/element/index.ts
index 411fa84341..4048b79c02 100644
--- a/src/Umbraco.Web.UI.Client/libs/element/index.ts
+++ b/src/Umbraco.Web.UI.Client/libs/element/index.ts
@@ -1,4 +1,2 @@
export * from './element.mixin';
export * from './lit-element.element';
-export * from './context-provider.element';
-export * from './controller-host.element';
diff --git a/src/Umbraco.Web.UI.Client/libs/element/context-provider.element.test.ts b/src/Umbraco.Web.UI.Client/src/core/context-provider/context-provider.element.test.ts
similarity index 95%
rename from src/Umbraco.Web.UI.Client/libs/element/context-provider.element.test.ts
rename to src/Umbraco.Web.UI.Client/src/core/context-provider/context-provider.element.test.ts
index b9f622014a..b2f6c44311 100644
--- a/src/Umbraco.Web.UI.Client/libs/element/context-provider.element.test.ts
+++ b/src/Umbraco.Web.UI.Client/src/core/context-provider/context-provider.element.test.ts
@@ -1,7 +1,7 @@
import { expect, fixture, html } from '@open-wc/testing';
import { customElement } from 'lit/decorators.js';
import { UmbContextProviderElement } from './context-provider.element';
-import { UmbLitElement } from './lit-element.element';
+import { UmbLitElement } from '@umbraco-cms/element';
@customElement('umb-context-test')
export class ContextTestElement extends UmbLitElement {
diff --git a/src/Umbraco.Web.UI.Client/libs/element/context-provider.element.ts b/src/Umbraco.Web.UI.Client/src/core/context-provider/context-provider.element.ts
similarity index 81%
rename from src/Umbraco.Web.UI.Client/libs/element/context-provider.element.ts
rename to src/Umbraco.Web.UI.Client/src/core/context-provider/context-provider.element.ts
index 9d04a92ab2..5ffda8935e 100644
--- a/src/Umbraco.Web.UI.Client/libs/element/context-provider.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/core/context-provider/context-provider.element.ts
@@ -1,17 +1,16 @@
import { html } from 'lit';
import { customElement, property } from 'lit/decorators.js';
-import { UmbLitElement } from './lit-element.element';
+import { UmbLitElement } from '@umbraco-cms/element';
import type { UmbControllerHostInterface } from '@umbraco-cms/controller';
@customElement('umb-context-provider')
export class UmbContextProviderElement extends UmbLitElement {
-
/**
* The value to provide to the context.
* @required
*/
@property({ type: Object, attribute: false })
- create?: (host:UmbControllerHostInterface) => unknown;
+ create?: (host: UmbControllerHostInterface) => unknown;
/**
* The value to provide to the context.
@@ -44,3 +43,9 @@ export class UmbContextProviderElement extends UmbLitElement {
return html``;
}
}
+
+declare global {
+ interface HTMLElementTagNameMap {
+ 'umb-context-provider': UmbContextProviderElement;
+ }
+}
diff --git a/src/Umbraco.Web.UI.Client/libs/element/controller-host.element.ts b/src/Umbraco.Web.UI.Client/src/core/controller-host/controller-host-test.element.ts
similarity index 79%
rename from src/Umbraco.Web.UI.Client/libs/element/controller-host.element.ts
rename to src/Umbraco.Web.UI.Client/src/core/controller-host/controller-host-test.element.ts
index 85dbc727fa..2b628489ce 100644
--- a/src/Umbraco.Web.UI.Client/libs/element/controller-host.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/core/controller-host/controller-host-test.element.ts
@@ -1,7 +1,7 @@
-import { html } from 'lit';
+import { html } from 'lit-html';
import { customElement, property } from 'lit/decorators.js';
-import { UmbLitElement } from './lit-element.element';
-import type { UmbControllerHostInterface } from '@umbraco-cms/controller';
+import { UmbControllerHostInterface } from '@umbraco-cms/controller';
+import { UmbLitElement } from '@umbraco-cms/element';
@customElement('umb-controller-host-test')
export class UmbControllerHostTestElement extends UmbLitElement {
diff --git a/src/Umbraco.Web.UI.Client/libs/element/controller-host.element.test.ts b/src/Umbraco.Web.UI.Client/src/core/controller-host/controller-host-test.test.ts
similarity index 86%
rename from src/Umbraco.Web.UI.Client/libs/element/controller-host.element.test.ts
rename to src/Umbraco.Web.UI.Client/src/core/controller-host/controller-host-test.test.ts
index 8cc3e58aaf..5409840806 100644
--- a/src/Umbraco.Web.UI.Client/libs/element/controller-host.element.test.ts
+++ b/src/Umbraco.Web.UI.Client/src/core/controller-host/controller-host-test.test.ts
@@ -1,9 +1,9 @@
import { expect, fixture, html } from '@open-wc/testing';
import { customElement } from 'lit/decorators.js';
-import { UmbControllerHostTestElement } from './controller-host.element';
-import { UmbLitElement } from './lit-element.element';
+import { UmbControllerHostTestElement } from './controller-host-test.element';
+import { UmbLitElement } from '@umbraco-cms/element';
import { UmbContextProviderController } from '@umbraco-cms/context-api';
-import { UmbControllerHostInterface } from '@umbraco-cms/controller';
+import type { UmbControllerHostInterface } from '@umbraco-cms/controller';
@customElement('umb-controller-host-test-consumer')
export class ControllerHostTestConsumerElement extends UmbLitElement {
diff --git a/src/Umbraco.Web.UI.Client/src/installer/shared/utils.story-helpers.ts b/src/Umbraco.Web.UI.Client/src/installer/shared/utils.story-helpers.ts
index bc0852f15f..7b03df75c4 100644
--- a/src/Umbraco.Web.UI.Client/src/installer/shared/utils.story-helpers.ts
+++ b/src/Umbraco.Web.UI.Client/src/installer/shared/utils.story-helpers.ts
@@ -1,6 +1,6 @@
import { html } from 'lit-html';
import { UmbInstallerContext } from '../installer.context';
-import '../../../libs/element/context-provider.element';
+import '../../core/context-provider/context-provider.element';
export const installerContextProvider = (story: any, installerContext = new UmbInstallerContext()) => html`
Date: Tue, 7 Mar 2023 15:31:15 +0100
Subject: [PATCH 003/134] install plugin to build declarations for modules
---
src/Umbraco.Web.UI.Client/package-lock.json | 56 +++++++++++++++++++++
src/Umbraco.Web.UI.Client/package.json | 1 +
2 files changed, 57 insertions(+)
diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json
index 7979cc6c6e..3698a72442 100644
--- a/src/Umbraco.Web.UI.Client/package-lock.json
+++ b/src/Umbraco.Web.UI.Client/package-lock.json
@@ -66,6 +66,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"rollup": "^3.10.0",
+ "rollup-plugin-dts": "^5.2.0",
"rollup-plugin-esbuild": "^5.0.0",
"rollup-plugin-url": "^3.0.1",
"storybook": "^7.0.0-beta.59",
@@ -16329,6 +16330,40 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/rollup-plugin-dts": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-5.2.0.tgz",
+ "integrity": "sha512-B68T/haEu2MKcz4kNUhXB8/h5sq4gpplHAJIYNHbh8cp4ZkvzDvNca/11KQdFrB9ZeKucegQIotzo5T0JUtM8w==",
+ "dev": true,
+ "dependencies": {
+ "magic-string": "^0.29.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/Swatinem"
+ },
+ "optionalDependencies": {
+ "@babel/code-frame": "^7.18.6"
+ },
+ "peerDependencies": {
+ "rollup": "^3.0.0",
+ "typescript": "^4.1"
+ }
+ },
+ "node_modules/rollup-plugin-dts/node_modules/magic-string": {
+ "version": "0.29.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz",
+ "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.13"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/rollup-plugin-esbuild": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-5.0.0.tgz",
@@ -30876,6 +30911,27 @@
"fsevents": "~2.3.2"
}
},
+ "rollup-plugin-dts": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-5.2.0.tgz",
+ "integrity": "sha512-B68T/haEu2MKcz4kNUhXB8/h5sq4gpplHAJIYNHbh8cp4ZkvzDvNca/11KQdFrB9ZeKucegQIotzo5T0JUtM8w==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.18.6",
+ "magic-string": "^0.29.0"
+ },
+ "dependencies": {
+ "magic-string": {
+ "version": "0.29.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz",
+ "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/sourcemap-codec": "^1.4.13"
+ }
+ }
+ }
+ },
"rollup-plugin-esbuild": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-5.0.0.tgz",
diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json
index 16befe9624..4c618010b5 100644
--- a/src/Umbraco.Web.UI.Client/package.json
+++ b/src/Umbraco.Web.UI.Client/package.json
@@ -114,6 +114,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"rollup": "^3.10.0",
+ "rollup-plugin-dts": "^5.2.0",
"rollup-plugin-esbuild": "^5.0.0",
"rollup-plugin-url": "^3.0.1",
"storybook": "^7.0.0-beta.59",
From 8fd2bf910c54fbe4052b84e667cf2f70dff419eb Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 7 Mar 2023 15:31:56 +0100
Subject: [PATCH 004/134] build declarations for libraries
---
.../libs/backend-api/rollup.config.js | 4 +--
.../libs/context-api/rollup.config.js | 4 +--
.../libs/controller/rollup.config.js | 4 ---
.../libs/element/rollup.config.js | 5 ++-
.../libs/entity-action/rollup.config.js | 4 ---
.../libs/events/rollup.config.js | 4 ---
.../libs/extensions-api/rollup.config.js | 4 ---
.../libs/extensions-registry/rollup.config.js | 4 ---
.../libs/notification/rollup.config.js | 4 ---
.../libs/observable-api/rollup.config.js | 4 ---
.../libs/resources/rollup.config.js | 4 +--
.../libs/router/rollup.config.js | 4 ---
.../libs/store/rollup.config.js | 4 ---
.../libs/utils/rollup.config.js | 4 +--
.../libs/workspace/rollup.config.js | 4 +--
.../utils/rollup.config.js | 32 +++++++++++++------
16 files changed, 34 insertions(+), 59 deletions(-)
delete mode 100644 src/Umbraco.Web.UI.Client/libs/controller/rollup.config.js
delete mode 100644 src/Umbraco.Web.UI.Client/libs/entity-action/rollup.config.js
delete mode 100644 src/Umbraco.Web.UI.Client/libs/events/rollup.config.js
delete mode 100644 src/Umbraco.Web.UI.Client/libs/extensions-api/rollup.config.js
delete mode 100644 src/Umbraco.Web.UI.Client/libs/extensions-registry/rollup.config.js
delete mode 100644 src/Umbraco.Web.UI.Client/libs/notification/rollup.config.js
delete mode 100644 src/Umbraco.Web.UI.Client/libs/observable-api/rollup.config.js
delete mode 100644 src/Umbraco.Web.UI.Client/libs/router/rollup.config.js
delete mode 100644 src/Umbraco.Web.UI.Client/libs/store/rollup.config.js
diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/backend-api/rollup.config.js
index 945c0afe88..44c6c08405 100644
--- a/src/Umbraco.Web.UI.Client/libs/backend-api/rollup.config.js
+++ b/src/Umbraco.Web.UI.Client/libs/backend-api/rollup.config.js
@@ -1,4 +1,4 @@
import config from '../../utils/rollup.config.js';
-export default {
+export default [
...config,
-};
+];
diff --git a/src/Umbraco.Web.UI.Client/libs/context-api/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/context-api/rollup.config.js
index 945c0afe88..44c6c08405 100644
--- a/src/Umbraco.Web.UI.Client/libs/context-api/rollup.config.js
+++ b/src/Umbraco.Web.UI.Client/libs/context-api/rollup.config.js
@@ -1,4 +1,4 @@
import config from '../../utils/rollup.config.js';
-export default {
+export default [
...config,
-};
+];
diff --git a/src/Umbraco.Web.UI.Client/libs/controller/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/controller/rollup.config.js
deleted file mode 100644
index 945c0afe88..0000000000
--- a/src/Umbraco.Web.UI.Client/libs/controller/rollup.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import config from '../../utils/rollup.config.js';
-export default {
- ...config,
-};
diff --git a/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js
index e106b525af..44c6c08405 100644
--- a/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js
+++ b/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js
@@ -1,5 +1,4 @@
import config from '../../utils/rollup.config.js';
-export default {
+export default [
...config,
- input: 'index.out.ts'
-};
+];
diff --git a/src/Umbraco.Web.UI.Client/libs/entity-action/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/entity-action/rollup.config.js
deleted file mode 100644
index 945c0afe88..0000000000
--- a/src/Umbraco.Web.UI.Client/libs/entity-action/rollup.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import config from '../../utils/rollup.config.js';
-export default {
- ...config,
-};
diff --git a/src/Umbraco.Web.UI.Client/libs/events/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/events/rollup.config.js
deleted file mode 100644
index 945c0afe88..0000000000
--- a/src/Umbraco.Web.UI.Client/libs/events/rollup.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import config from '../../utils/rollup.config.js';
-export default {
- ...config,
-};
diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/extensions-api/rollup.config.js
deleted file mode 100644
index 945c0afe88..0000000000
--- a/src/Umbraco.Web.UI.Client/libs/extensions-api/rollup.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import config from '../../utils/rollup.config.js';
-export default {
- ...config,
-};
diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/extensions-registry/rollup.config.js
deleted file mode 100644
index 945c0afe88..0000000000
--- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/rollup.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import config from '../../utils/rollup.config.js';
-export default {
- ...config,
-};
diff --git a/src/Umbraco.Web.UI.Client/libs/notification/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/notification/rollup.config.js
deleted file mode 100644
index 945c0afe88..0000000000
--- a/src/Umbraco.Web.UI.Client/libs/notification/rollup.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import config from '../../utils/rollup.config.js';
-export default {
- ...config,
-};
diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/observable-api/rollup.config.js
deleted file mode 100644
index 945c0afe88..0000000000
--- a/src/Umbraco.Web.UI.Client/libs/observable-api/rollup.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import config from '../../utils/rollup.config.js';
-export default {
- ...config,
-};
diff --git a/src/Umbraco.Web.UI.Client/libs/resources/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/resources/rollup.config.js
index 945c0afe88..44c6c08405 100644
--- a/src/Umbraco.Web.UI.Client/libs/resources/rollup.config.js
+++ b/src/Umbraco.Web.UI.Client/libs/resources/rollup.config.js
@@ -1,4 +1,4 @@
import config from '../../utils/rollup.config.js';
-export default {
+export default [
...config,
-};
+];
diff --git a/src/Umbraco.Web.UI.Client/libs/router/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/router/rollup.config.js
deleted file mode 100644
index 945c0afe88..0000000000
--- a/src/Umbraco.Web.UI.Client/libs/router/rollup.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import config from '../../utils/rollup.config.js';
-export default {
- ...config,
-};
diff --git a/src/Umbraco.Web.UI.Client/libs/store/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/store/rollup.config.js
deleted file mode 100644
index 945c0afe88..0000000000
--- a/src/Umbraco.Web.UI.Client/libs/store/rollup.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import config from '../../utils/rollup.config.js';
-export default {
- ...config,
-};
diff --git a/src/Umbraco.Web.UI.Client/libs/utils/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/utils/rollup.config.js
index 945c0afe88..44c6c08405 100644
--- a/src/Umbraco.Web.UI.Client/libs/utils/rollup.config.js
+++ b/src/Umbraco.Web.UI.Client/libs/utils/rollup.config.js
@@ -1,4 +1,4 @@
import config from '../../utils/rollup.config.js';
-export default {
+export default [
...config,
-};
+];
diff --git a/src/Umbraco.Web.UI.Client/libs/workspace/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/workspace/rollup.config.js
index 945c0afe88..44c6c08405 100644
--- a/src/Umbraco.Web.UI.Client/libs/workspace/rollup.config.js
+++ b/src/Umbraco.Web.UI.Client/libs/workspace/rollup.config.js
@@ -1,4 +1,4 @@
import config from '../../utils/rollup.config.js';
-export default {
+export default [
...config,
-};
+];
diff --git a/src/Umbraco.Web.UI.Client/utils/rollup.config.js b/src/Umbraco.Web.UI.Client/utils/rollup.config.js
index e096f7cfb6..75f6f28cfe 100644
--- a/src/Umbraco.Web.UI.Client/utils/rollup.config.js
+++ b/src/Umbraco.Web.UI.Client/utils/rollup.config.js
@@ -1,15 +1,27 @@
import esbuild from 'rollup-plugin-esbuild';
import pluginJson from '@rollup/plugin-json';
import { nodeResolve } from '@rollup/plugin-node-resolve';
+import dts from 'rollup-plugin-dts';
-/** @type {import('rollup').RollupOptions} */
-export default {
- input: 'index.ts',
- external: [/^@umbraco-cms\//],
- output: {
- file: 'dist/index.js',
- format: 'es',
- sourcemap: true,
+/** @type {import('rollup').RollupOptions[]} */
+export default [
+ {
+ input: 'index.ts',
+ external: [/^@umbraco-cms\//, /^lit/],
+ output: {
+ file: 'dist/index.js',
+ format: 'es',
+ sourcemap: true
+ },
+ plugins: [nodeResolve(), pluginJson(), esbuild()]
},
- plugins: [nodeResolve(), pluginJson(), esbuild({ sourceMap: true })],
-};
+ {
+ input: 'index.ts',
+ external: [/^@umbraco-cms\//, /^lit/],
+ output: {
+ file: './dist/index.d.ts',
+ format: 'es'
+ },
+ plugins: [dts()],
+ }
+];
From bf81279cebdcd3f1d1c13532b3060c1fda72f178 Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 7 Mar 2023 15:32:58 +0100
Subject: [PATCH 005/134] optimise import of repository type
---
.../src/backoffice/media/media/repository/media.repository.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts
index c5fd5107e7..2ffa1d8383 100644
--- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts
@@ -1,8 +1,8 @@
-import type { RepositoryTreeDataSource } from '../../../../../libs/repository/repository-tree-data-source.interface';
import { MediaTreeServerDataSource } from './sources/media.tree.server.data';
import { UmbMediaTreeStore, UMB_MEDIA_TREE_STORE_CONTEXT_TOKEN } from './media.tree.store';
import { UmbMediaDetailStore, UMB_MEDIA_DETAIL_STORE_CONTEXT_TOKEN } from './media.detail.store';
import { UmbMediaDetailServerDataSource } from './sources/media.detail.server.data';
+import type { RepositoryTreeDataSource } from '@umbraco-cms/repository';
import { UmbControllerHostInterface } from '@umbraco-cms/controller';
import { UmbContextConsumerController } from '@umbraco-cms/context-api';
import { ProblemDetailsModel } from '@umbraco-cms/backend-api';
From f7ac39b352f6fa8df5ef29302d34485879c878ca Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 7 Mar 2023 15:40:16 +0100
Subject: [PATCH 006/134] optimise config of dts
---
src/Umbraco.Web.UI.Client/utils/rollup.config.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Umbraco.Web.UI.Client/utils/rollup.config.js b/src/Umbraco.Web.UI.Client/utils/rollup.config.js
index 75f6f28cfe..1f50c0ba4b 100644
--- a/src/Umbraco.Web.UI.Client/utils/rollup.config.js
+++ b/src/Umbraco.Web.UI.Client/utils/rollup.config.js
@@ -17,7 +17,7 @@ export default [
},
{
input: 'index.ts',
- external: [/^@umbraco-cms\//, /^lit/],
+ external: [/^@umbraco-cms\//],
output: {
file: './dist/index.d.ts',
format: 'es'
From 17e0866f325e0c8efff7363ba1c573266101db51 Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 7 Mar 2023 15:40:28 +0100
Subject: [PATCH 007/134] only consider index.module.ts for export
---
src/Umbraco.Web.UI.Client/libs/element/index.module.ts | 1 +
src/Umbraco.Web.UI.Client/libs/element/rollup.config.js | 8 +++++---
2 files changed, 6 insertions(+), 3 deletions(-)
create mode 100644 src/Umbraco.Web.UI.Client/libs/element/index.module.ts
diff --git a/src/Umbraco.Web.UI.Client/libs/element/index.module.ts b/src/Umbraco.Web.UI.Client/libs/element/index.module.ts
new file mode 100644
index 0000000000..18d6126ccc
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/libs/element/index.module.ts
@@ -0,0 +1 @@
+export * from './element.mixin';
diff --git a/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js
index 44c6c08405..d3af596f5f 100644
--- a/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js
+++ b/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js
@@ -1,4 +1,6 @@
import config from '../../utils/rollup.config.js';
-export default [
- ...config,
-];
+
+config[0].input = 'index.module.ts';
+config[1].input = 'index.module.ts';
+
+export default config;
From 0ffc7d4b20617fac9f85c2f986c1307bac800e2e Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 7 Mar 2023 15:57:12 +0100
Subject: [PATCH 008/134] move router library into src/core to avoid exposing
it to the public
---
src/Umbraco.Web.UI.Client/src/app.ts | 4 ++--
.../src/backoffice/backoffice.element.ts | 2 --
.../{libs => src/core}/router/index.ts | 1 +
.../{libs => src/core}/router/router-slot-change.event.ts | 0
.../{libs => src/core}/router/router-slot-init.event.ts | 0
.../{libs => src/core}/router/router-slot.element.ts | 6 ++++--
src/Umbraco.Web.UI.Client/tsconfig.json | 2 +-
src/Umbraco.Web.UI.Client/web-test-runner.config.mjs | 5 ++---
8 files changed, 10 insertions(+), 10 deletions(-)
rename src/Umbraco.Web.UI.Client/{libs => src/core}/router/index.ts (81%)
rename src/Umbraco.Web.UI.Client/{libs => src/core}/router/router-slot-change.event.ts (100%)
rename src/Umbraco.Web.UI.Client/{libs => src/core}/router/router-slot-init.event.ts (100%)
rename src/Umbraco.Web.UI.Client/{libs => src/core}/router/router-slot.element.ts (90%)
diff --git a/src/Umbraco.Web.UI.Client/src/app.ts b/src/Umbraco.Web.UI.Client/src/app.ts
index 2b389e431d..3dafb8e9df 100644
--- a/src/Umbraco.Web.UI.Client/src/app.ts
+++ b/src/Umbraco.Web.UI.Client/src/app.ts
@@ -7,14 +7,14 @@ import '@umbraco-ui/uui-modal-container';
import '@umbraco-ui/uui-modal-dialog';
import '@umbraco-ui/uui-modal-sidebar';
import 'element-internals-polyfill';
-import '@umbraco-cms/router';
-import type { Guard, IRoute } from 'router-slot/model';
+import './core/router/router-slot.element';
import { UUIIconRegistryEssential } from '@umbraco-ui/uui';
import { css, html } from 'lit';
import { customElement, property, state } from 'lit/decorators.js';
+import type { Guard, IRoute } from '@umbraco-cms/router';
import { UmbLitElement } from '@umbraco-cms/element';
import { tryExecuteAndNotify } from '@umbraco-cms/resources';
import { OpenAPI, RuntimeLevelModel, ServerResource } from '@umbraco-cms/backend-api';
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts
index cee5fd1db9..31d1af18bc 100644
--- a/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts
@@ -49,8 +49,6 @@ import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api';
import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification';
import { UmbLitElement } from '@umbraco-cms/element';
-import '@umbraco-cms/router';
-
// Domains
import './settings';
import './documents';
diff --git a/src/Umbraco.Web.UI.Client/libs/router/index.ts b/src/Umbraco.Web.UI.Client/src/core/router/index.ts
similarity index 81%
rename from src/Umbraco.Web.UI.Client/libs/router/index.ts
rename to src/Umbraco.Web.UI.Client/src/core/router/index.ts
index 9ba378560a..75fd79f5e4 100644
--- a/src/Umbraco.Web.UI.Client/libs/router/index.ts
+++ b/src/Umbraco.Web.UI.Client/src/core/router/index.ts
@@ -1,3 +1,4 @@
+export * from 'router-slot';
export * from './router-slot.element';
export * from './router-slot-change.event';
export * from './router-slot-init.event';
diff --git a/src/Umbraco.Web.UI.Client/libs/router/router-slot-change.event.ts b/src/Umbraco.Web.UI.Client/src/core/router/router-slot-change.event.ts
similarity index 100%
rename from src/Umbraco.Web.UI.Client/libs/router/router-slot-change.event.ts
rename to src/Umbraco.Web.UI.Client/src/core/router/router-slot-change.event.ts
diff --git a/src/Umbraco.Web.UI.Client/libs/router/router-slot-init.event.ts b/src/Umbraco.Web.UI.Client/src/core/router/router-slot-init.event.ts
similarity index 100%
rename from src/Umbraco.Web.UI.Client/libs/router/router-slot-init.event.ts
rename to src/Umbraco.Web.UI.Client/src/core/router/router-slot-init.event.ts
diff --git a/src/Umbraco.Web.UI.Client/libs/router/router-slot.element.ts b/src/Umbraco.Web.UI.Client/src/core/router/router-slot.element.ts
similarity index 90%
rename from src/Umbraco.Web.UI.Client/libs/router/router-slot.element.ts
rename to src/Umbraco.Web.UI.Client/src/core/router/router-slot.element.ts
index 8bf9e2a175..a343c9acf4 100644
--- a/src/Umbraco.Web.UI.Client/libs/router/router-slot.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/core/router/router-slot.element.ts
@@ -1,7 +1,9 @@
-import { IRoute, RouterSlot } from 'router-slot';
+import type { IRoute } from 'router-slot/model';
+import { RouterSlot } from 'router-slot';
import { LitElement, PropertyValueMap } from 'lit';
import { customElement, property } from 'lit/decorators.js';
-import { UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/router';
+import { UmbRouterSlotInitEvent } from './router-slot-init.event';
+import { UmbRouterSlotChangeEvent } from './router-slot-change.event';
/**
* @element umb-router-slot-element
diff --git a/src/Umbraco.Web.UI.Client/tsconfig.json b/src/Umbraco.Web.UI.Client/tsconfig.json
index 1e55e986af..73ddb9a903 100644
--- a/src/Umbraco.Web.UI.Client/tsconfig.json
+++ b/src/Umbraco.Web.UI.Client/tsconfig.json
@@ -35,7 +35,7 @@
"@umbraco-cms/entity-action": ["libs/entity-action"],
"@umbraco-cms/workspace": ["libs/workspace"],
"@umbraco-cms/utils": ["libs/utils"],
- "@umbraco-cms/router": ["libs/router"],
+ "@umbraco-cms/router": ["src/core/router"],
"@umbraco-cms/test-utils": ["libs/test-utils"],
"@umbraco-cms/repository": ["libs/repository"],
"@umbraco-cms/resources": ["libs/resources"],
diff --git a/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs b/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs
index bcdbcb895c..70be4bf8f8 100644
--- a/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs
+++ b/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs
@@ -55,8 +55,8 @@ export default {
'@umbraco-cms/utils': './libs/utils/index.ts',
'@umbraco-cms/test-utils': './libs/test-utils/index.ts',
'@umbraco-cms/resources': './libs/resources/index.ts',
- '@umbraco-cms/repository': './libs/repository',
- '@umbraco-cms/router': './libs/router/index.ts',
+ '@umbraco-cms/repository': './libs/repository/index.ts',
+ '@umbraco-cms/router': './src/core/router/index.ts',
},
},
},
@@ -82,7 +82,6 @@ export default {