Skip to content

Commit

Permalink
feat(nuxt): implement nuxt module
Browse files Browse the repository at this point in the history
  • Loading branch information
oktaysenkan committed Oct 5, 2024
1 parent e04c14b commit 25856d1
Show file tree
Hide file tree
Showing 7 changed files with 125 additions and 5 deletions.
4 changes: 1 addition & 3 deletions apps/vite-vue/src/App.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
<script setup lang="ts">
import { Iconify } from "@oktaytest/vue";
</script>
<script setup lang="ts"></script>

<template>
<main>
Expand Down
5 changes: 3 additions & 2 deletions apps/vite-vue/src/main.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { createApp } from "vue";
// import Iconify from "@oktaytest/vue";
import Iconify from "@oktaytest/vue";

import App from "./App.vue";

import "./style.css";

const app = createApp(App);

// app.use(Iconify);
app.use(Iconify);

app.mount("#app");
28 changes: 28 additions & 0 deletions packages/nuxt/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
node_modules
.pnp
.pnp.js


# misc
.DS_Store
*.pem

# build
dist

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env.local
.env.development.local
.env.test.local
.env.production.local

# turbo
.turbo
33 changes: 33 additions & 0 deletions packages/nuxt/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "@oktaytest/nuxt",
"version": "0.0.109",
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"files": [
"dist"
],
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
}
},
"publishConfig": {
"access": "public"
},
"scripts": {
"build": "tsup",
"dev": "tsup --watch",
"clean": "rm -rf dist"
},
"devDependencies": {
"@oktaytest/typescript-config": "*",
"tsup": "^8.0.1",
"typescript": "^5.3.3"
},
"dependencies": {
"@nuxt/kit": "^3.11.2",
"@oktaytest/core": "*"
}
}
40 changes: 40 additions & 0 deletions packages/nuxt/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import { addComponent, defineNuxtModule } from "@nuxt/kit";
import {
getIconsFilePath,
getResolveAlias,
loadIcons,
type IconifyOptions,
} from "@oktaytest/core";

const defaultOptions: IconifyOptions = {
icons: [],
type: "esm",
};

export default defineNuxtModule<IconifyOptions>({
meta: {
name: "nuxt-iconify",
configKey: "iconify",
},
defaults: defaultOptions,
async setup(options, nuxt) {
addComponent({
name: "Iconify",
export: "Iconify",
filePath: "@oktaytest/vue",
});

const alias = getResolveAlias();

nuxt.options.alias = {
...nuxt.options.alias,
[alias]: getIconsFilePath(options),
};

nuxt.addHooks({
"app:resolve": async () => {
await loadIcons(options);
},
});
},
});
8 changes: 8 additions & 0 deletions packages/nuxt/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"extends": "@oktaytest/typescript-config/react-native-library",
"include": ["."],
"exclude": ["dist", "build", "node_modules"],
"compilerOptions": {
"strict": true
}
}
12 changes: 12 additions & 0 deletions packages/nuxt/tsup.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { defineConfig, Options } from "tsup";

export default defineConfig((options: Options) => ({
entry: {
index: "src/index.ts",
},
clean: true,
format: ["cjs", "esm"],
externals: ["@nuxt/schema"],
dts: true,
...options,
}));

0 comments on commit 25856d1

Please sign in to comment.