Skip to content

Commit 947fb44

Browse files
committed
fix(wc): disable export minification
1 parent 33e2133 commit 947fb44

File tree

9 files changed

+172
-49
lines changed

9 files changed

+172
-49
lines changed

.github/workflows/publish.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ jobs:
4242
node_version: ${{ env.node_version }}
4343
pnpm_version: ${{ env.pnpm_version }}
4444

45+
- uses: actions/cache/save@v3
46+
id: cache
47+
with:
48+
path: dist
49+
key: ${{ github.ref }}-${{ github.run_id }}-build
50+
4551
- name: Publish to npm
4652
if: ${{ inputs.skip-npm != true }}
4753
run: |
@@ -51,12 +57,6 @@ jobs:
5157
env:
5258
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
5359

54-
- uses: actions/cache/save@v3
55-
id: cache
56-
with:
57-
path: dist
58-
key: ${{ github.ref }}-${{ github.run_id }}-build
59-
6060

6161
publish-store:
6262
name: Publish extension

package.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@
3030
"clear": "rimraf dist",
3131
"dist": "pnpm run clear && esno scripts/prepare.ts",
3232
"serve": "vite",
33+
"serve:static": "http-server dist",
3334
"dev": "cross-env NODE_ENV=development run-p dist serve",
34-
"build": "cross-env NODE_ENV=production pnpm run dist && vue-tsc --noEmit && vite build",
35+
"dev:web": "VITE_BUILD_DEV=true VITE_WEB=true pnpm run build && pnpm run serve:static",
36+
"build": "cross-env NODE_ENV=production pnpm run dist && vue-tsc --noEmit && vite build --emptyOutDir",
3537
"build:web": "VITE_WEB=true pnpm run build",
3638
"test:unit": "vitest run --environment jsdom --coverage",
3739
"test:watch": "vitest --environment jsdom",
@@ -88,6 +90,7 @@
8890
"esno": "^0.17.0",
8991
"extract-changelog-release": "^1.0.2",
9092
"fs-extra": "^11.1.1",
93+
"http-server": "^14.1.1",
9194
"husky": "^8.0.3",
9295
"jsdom": "^22.1.0",
9396
"jsonc-eslint-parser": "^2.1.0",

pnpm-lock.yaml

+119-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

+9-26
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,20 @@
1-
import AppWeb from '~/components/web/AppWeb.ce.vue';
2-
import { createElementInstance } from '~/views/common';
1+
import type { DefineComponent, WebComponents } from '~/views/web/define-component';
2+
import type { TraktExtensionComponent } from '~/views/web/web-component';
33

4-
const TraktExtensionWc = createElementInstance(AppWeb);
5-
6-
enum WebComponents {
7-
TraktExtension = 'wc-trakt-extension',
8-
}
9-
10-
type DefineComponent = (component?: WebComponents) => void;
11-
12-
export const defineComponent: DefineComponent = (component: WebComponents = WebComponents.TraktExtension) => {
13-
if (customElements.get(component)) {
14-
console.warn(`Custom element '${component}' is already defined.`);
15-
} else {
16-
customElements.define(component, TraktExtensionWc);
17-
}
18-
};
19-
20-
export const baseUrl = 'trakt-extension';
4+
const baseUrl = 'trakt-extension';
215

226
type TraktExtension = {
23-
baseUrl: typeof baseUrl;
24-
component: typeof TraktExtensionWc;
25-
defineComponent: typeof defineComponent;
26-
default: typeof defineComponent;
7+
WebComponents: WebComponents;
8+
defineComponent: DefineComponent;
9+
default: DefineComponent;
2710
};
2811

2912
// register global typings
3013
declare module 'vue' {
3114
export interface GlobalComponents {
32-
TraktExtension: TraktExtension['component'];
15+
TraktExtension: TraktExtensionComponent;
3316
}
3417
}
3518

36-
export type { TraktExtension };
37-
export default defineComponent;
19+
export type { TraktExtension, TraktExtensionComponent, DefineComponent };
20+
export { baseUrl };

src/main.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
import defineComponent from './index';
1+
import { defineComponent } from '~/views/web';
22

33
defineComponent();

src/views/web/define-component.ts

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { TraktExtensionWc } from '~/views/web/web-component';
2+
3+
export enum WebComponents {
4+
TraktExtension = 'wc-trakt-extension',
5+
}
6+
7+
export type DefineComponent = (component?: WebComponents) => void;
8+
9+
export function defineComponent(component: WebComponents = WebComponents.TraktExtension): DefineComponent {
10+
if (customElements.get(component)) {
11+
console.warn(`Custom element '${component}' is already defined.`);
12+
} else {
13+
customElements.define(component, TraktExtensionWc);
14+
}
15+
}
16+
17+
export default defineComponent;

src/views/web/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { defineComponent } from './define-component';

src/views/web/web-component.ts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import AppWeb from '~/components/web/AppWeb.ce.vue';
2+
import { createElementInstance } from '~/views/common/create-wc';
3+
4+
export const TraktExtensionWc = createElementInstance(AppWeb);
5+
6+
export type TraktExtensionComponent = typeof TraktExtensionWc;

0 commit comments

Comments
 (0)