Skip to content

Commit

Permalink
feat: Custom element correct registration and SSG/SSR support
Browse files Browse the repository at this point in the history
  • Loading branch information
altrusl committed Feb 9, 2024
1 parent a4208d7 commit 43dcec9
Show file tree
Hide file tree
Showing 9 changed files with 39 additions and 23 deletions.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<title>Release Timeline</title>
</head>
<body class="dark">
<div id="app" />
<div id="release-timeline" />
<script type="module" src="/src/main.ts"></script>
</body>
</html>
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "release-timeline",
"type": "module",
"version": "0.5.11",
"version": "0.5.23",
"private": false,
"source": "src/index.ts",
"author": "Ruslan Makarov",
Expand Down
3 changes: 1 addition & 2 deletions public/wc-demo.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Release Timeline CDN demo</title>
<script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script>
<script src="https://unpkg.com/release-timeline/dist/ce.umd.js"></script>
<!-- <script src="ce.umd.js"></script> -->
<script src="https://unpkg.com/release-timeline/dist/index.umd.js"></script>
<link href="https://unpkg.com/release-timeline/dist/animated-background.css" rel="stylesheet" />
<script>
window.rt_options = {
Expand Down
13 changes: 7 additions & 6 deletions src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@
import { ref } from "vue";
import ReleaseTimeline from "./ReleaseTimeline.vue";
import { DefaultOptions as options } from "./options";
import { DefaultOptions } from "./options";
import { mergeObjects } from "./utils";
import "./css/animated-background.css";
const props = defineProps({
initOptions: Object,
default: () => ({}),
});
const options = mergeObjects(DefaultOptions, props.initOptions);
const key = ref(0);
// configure options
options.github.owner = "vuesence";
options.github.repo = "release-timeline";
function changeRepo() {
const url = prompt("Please enter Github Repo url", "https://github.com/vitejs/vite.git");
const pathParts = url.split("/").filter(part => part); // Remove empty parts
Expand Down
2 changes: 1 addition & 1 deletion src/TimelineItemIssues.vue
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const tabs = [
];
if (props.options.display.release.defaultOpenTab) {
curTab.value = props.options.display.release.defaultOpenTab;
toggle(props.options.display.release.defaultOpenTab);
}
function toggle(_tab: string) {
Expand Down
21 changes: 14 additions & 7 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
import { defineCustomElement } from "vue";
import ReleaseTimelineCE from "./ReleaseTimeline.ce.vue";
import ReleaseTimeline from "./ReleaseTimeline.vue";
import { createApp, defineCustomElement } from "vue";
import { DefaultOptions } from "./options";
import ReleaseTimeline from "./ReleaseTimeline.vue";
import App from "./App.vue";

if (globalThis.window) {
import("./ReleaseTimeline.ce.vue").then((module) => {
window.customElements.define("release-timeline", defineCustomElement(module));
});
}

// function initCE() {
window.customElements.define("release-timeline", defineCustomElement(ReleaseTimelineCE));
// }
function mountRT(initOptions) {
const app = createApp(App, { initOptions });
app.mount("#release-timeline");
}

export { ReleaseTimeline, DefaultOptions };
export { ReleaseTimeline, DefaultOptions, mountRT };

export {};
12 changes: 10 additions & 2 deletions src/main.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
import { createApp } from "vue";
import App from "./App.vue";

const app = createApp(App);
app.mount("#app");
// configure options
const initOptions = {
github: {
owner: "vuesence",
repo: "release-timeline",
},
};

const app = createApp(App, { initOptions });
app.mount("#release-timeline");
6 changes: 3 additions & 3 deletions src/options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ export const DefaultOptions = {
span: 200,
},
display: {
animatedBackground: true,
animatedBackgroundForLightTheme: false,
// animatedBackground: true,
// animatedBackgroundForLightTheme: false,
release: {
name: true,
username: true,
Expand All @@ -40,7 +40,7 @@ export const DefaultOptions = {
hidePullUsername: false,
hideCommitUsername: true,
hideMergeCommits: true,
// defaultOpenTab: "pulls",
defaultOpenTab: "pulls",
},
},
};
1 change: 1 addition & 0 deletions vite.config-lib.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export default defineConfig({
globals: {
vue: "Vue",
},
inlineDynamicImports: true,
},
},
},
Expand Down

0 comments on commit 43dcec9

Please sign in to comment.