Skip to content

Commit a508e7e

Browse files
committed
feat: add vue nuxt packages
1 parent af41bad commit a508e7e

304 files changed

Lines changed: 101051 additions & 23579 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# EditorConfig helps maintain consistent coding styles
2+
# https://editorconfig.org
3+
4+
root = true
5+
6+
[*]
7+
charset = utf-8
8+
end_of_line = lf
9+
indent_style = space
10+
indent_size = 2
11+
insert_final_newline = true
12+
trim_trailing_whitespace = true
13+
14+
[*.md]
15+
trim_trailing_whitespace = false
16+
17+
[*.{yml,yaml}]
18+
indent_size = 2
19+
20+
[Makefile]
21+
indent_style = tab

.gitignore

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,11 @@ storybook-static
3434
pnpm-lock.yaml
3535
/test-results/
3636
.nx
37-
coverage/
37+
coverage/
38+
39+
# Nuxt
40+
.nuxt/
41+
.output/
42+
43+
# API Extractor temp files
44+
**/api-report/temp/

eslint.config.mjs

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import reactHooks from "eslint-plugin-react-hooks"
77
import storybook from "eslint-plugin-storybook"
88
import eslintPluginBetterTailwindcss from "eslint-plugin-better-tailwindcss"
99
import tsdoc from "eslint-plugin-tsdoc"
10+
import pluginVue from "eslint-plugin-vue"
11+
import vueParser from "vue-eslint-parser"
1012
import globals from "globals"
1113
import tseslint from "typescript-eslint"
1214
import path from "node:path"
@@ -28,6 +30,8 @@ const config = tseslint.config([
2830
"**/examples/nextjs-pages-router/next-env.d.ts",
2931
"**/examples/nextjs-app-router-custom-components/.next/**",
3032
"**/examples/nextjs-app-router-custom-components/next-env.d.ts",
33+
"**/examples/nuxt-app/.nuxt/**",
34+
"**/examples/nuxt-app/.output/**",
3135
],
3236
},
3337
eslint.configs.recommended,
@@ -152,6 +156,100 @@ const config = tseslint.config([
152156
},
153157
},
154158
},
159+
{
160+
name: "elements-vue",
161+
files: ["packages/elements-vue/**/*.vue"],
162+
languageOptions: {
163+
parser: vueParser,
164+
globals: {
165+
...globals.browser,
166+
},
167+
parserOptions: {
168+
parser: tsParser,
169+
ecmaVersion: 2021,
170+
sourceType: "module",
171+
extraFileExtensions: [".vue"],
172+
},
173+
},
174+
plugins: {
175+
vue: pluginVue,
176+
"better-tailwindcss": eslintPluginBetterTailwindcss,
177+
},
178+
rules: {
179+
...pluginVue.configs["flat/recommended"].rules,
180+
// Disable rules that conflict with Prettier
181+
"vue/html-self-closing": "off",
182+
"vue/max-attributes-per-line": "off",
183+
"vue/singleline-html-element-content-newline": "off",
184+
"vue/multiline-html-element-content-newline": "off",
185+
"vue/html-indent": "off",
186+
"vue/html-closing-bracket-newline": "off",
187+
// Enable tailwindcss rules
188+
...eslintPluginBetterTailwindcss.configs["recommended-error"].rules,
189+
"better-tailwindcss/enforce-consistent-line-wrapping": "off",
190+
"better-tailwindcss/no-unregistered-classes": [
191+
"error",
192+
{ ignore: ["ory-elements"] },
193+
],
194+
},
195+
settings: {
196+
"better-tailwindcss": {
197+
entryPoint: "packages/elements-vue/src/theme/default/styles.css",
198+
},
199+
},
200+
},
201+
{
202+
name: "elements-vue-ts",
203+
files: ["packages/elements-vue/**/*.ts"],
204+
ignores: ["packages/elements-vue/**/*.vue"],
205+
languageOptions: {
206+
parser: tsParser,
207+
parserOptions: {
208+
ecmaVersion: 2021,
209+
sourceType: "module",
210+
},
211+
},
212+
},
213+
{
214+
name: "nuxt",
215+
files: ["packages/nuxt/**/*.ts"],
216+
languageOptions: {
217+
parser: tsParser,
218+
parserOptions: {
219+
ecmaVersion: 2021,
220+
sourceType: "module",
221+
},
222+
},
223+
},
224+
{
225+
name: "nuxt-app",
226+
files: ["examples/nuxt-app/**/*.vue"],
227+
languageOptions: {
228+
parser: vueParser,
229+
globals: {
230+
...globals.browser,
231+
},
232+
parserOptions: {
233+
parser: tsParser,
234+
ecmaVersion: 2021,
235+
sourceType: "module",
236+
extraFileExtensions: [".vue"],
237+
},
238+
},
239+
plugins: {
240+
vue: pluginVue,
241+
},
242+
rules: {
243+
...pluginVue.configs["flat/recommended"].rules,
244+
// Disable rules that conflict with Prettier
245+
"vue/html-self-closing": "off",
246+
"vue/max-attributes-per-line": "off",
247+
"vue/singleline-html-element-content-newline": "off",
248+
"vue/multiline-html-element-content-newline": "off",
249+
"vue/html-indent": "off",
250+
"vue/html-closing-bracket-newline": "off",
251+
},
252+
},
155253
{
156254
name: "tests",
157255
files: ["**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts", "**/*.spec.tsx"],

examples/nuxt-app/.env.example

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Ory SDK URL - Replace with your Ory project URL
2+
# Can be set via NUXT_PUBLIC_ORY_SDK_URL or ORY_SDK_URL
3+
NUXT_PUBLIC_ORY_SDK_URL=https://your-project.projects.oryapis.com
4+
5+
# API Token for SAML and OIDC support (optional)
6+
# Required for proper URL rewriting in federated authentication flows
7+
ORY_PROJECT_API_TOKEN=
8+
9+
# Optional: Force a specific cookie domain
10+
# NUXT_ORY_FORCE_COOKIE_DOMAIN=
11+
12+
# Optional: Additional headers to forward to Ory (comma-separated)
13+
# NUXT_ORY_FORWARD_ADDITIONAL_HEADERS=

examples/nuxt-app/.gitignore

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Nuxt dev/build outputs
2+
.output
3+
.data
4+
.nuxt
5+
.nitro
6+
.cache
7+
dist
8+
9+
# Node dependencies
10+
node_modules
11+
12+
# Logs
13+
logs
14+
*.log
15+
16+
# Misc
17+
.DS_Store
18+
.fleet
19+
.idea
20+
21+
# Local env files
22+
.env
23+
.env.*
24+
!.env.example
25+
26+
# Vercel/Netlify
27+
.vercel
28+
.netlify
29+
30+
# TypeScript
31+
*.tsbuildinfo

0 commit comments

Comments
 (0)