Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 21 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# EditorConfig helps maintain consistent coding styles
# https://editorconfig.org

root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.{yml,yaml}]
indent_size = 2

[Makefile]
indent_style = tab
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,11 @@ storybook-static
pnpm-lock.yaml
/test-results/
.nx
coverage/
coverage/

# Nuxt
.nuxt/
.output/

# API Extractor temp files
**/api-report/temp/
98 changes: 98 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import reactHooks from "eslint-plugin-react-hooks"
import storybook from "eslint-plugin-storybook"
import eslintPluginBetterTailwindcss from "eslint-plugin-better-tailwindcss"
import tsdoc from "eslint-plugin-tsdoc"
import pluginVue from "eslint-plugin-vue"
import vueParser from "vue-eslint-parser"
import globals from "globals"
import tseslint from "typescript-eslint"
import path from "node:path"
Expand All @@ -28,6 +30,8 @@ const config = tseslint.config([
"**/examples/nextjs-pages-router/next-env.d.ts",
"**/examples/nextjs-app-router-custom-components/.next/**",
"**/examples/nextjs-app-router-custom-components/next-env.d.ts",
"**/examples/nuxt-app/.nuxt/**",
"**/examples/nuxt-app/.output/**",
],
},
eslint.configs.recommended,
Expand Down Expand Up @@ -152,6 +156,100 @@ const config = tseslint.config([
},
},
},
{
name: "elements-vue",
files: ["packages/elements-vue/**/*.vue"],
languageOptions: {
parser: vueParser,
globals: {
...globals.browser,
},
parserOptions: {
parser: tsParser,
ecmaVersion: 2021,
sourceType: "module",
extraFileExtensions: [".vue"],
},
},
plugins: {
vue: pluginVue,
"better-tailwindcss": eslintPluginBetterTailwindcss,
},
rules: {
...pluginVue.configs["flat/recommended"].rules,
// Disable rules that conflict with Prettier
"vue/html-self-closing": "off",
"vue/max-attributes-per-line": "off",
"vue/singleline-html-element-content-newline": "off",
"vue/multiline-html-element-content-newline": "off",
"vue/html-indent": "off",
"vue/html-closing-bracket-newline": "off",
// Enable tailwindcss rules
...eslintPluginBetterTailwindcss.configs["recommended-error"].rules,
"better-tailwindcss/enforce-consistent-line-wrapping": "off",
"better-tailwindcss/no-unregistered-classes": [
"error",
{ ignore: ["ory-elements"] },
],
},
settings: {
"better-tailwindcss": {
entryPoint: "packages/elements-vue/src/theme/default/styles.css",
},
},
},
{
name: "elements-vue-ts",
files: ["packages/elements-vue/**/*.ts"],
ignores: ["packages/elements-vue/**/*.vue"],
languageOptions: {
parser: tsParser,
parserOptions: {
ecmaVersion: 2021,
sourceType: "module",
},
},
},
{
name: "nuxt",
files: ["packages/nuxt/**/*.ts"],
languageOptions: {
parser: tsParser,
parserOptions: {
ecmaVersion: 2021,
sourceType: "module",
},
},
},
{
name: "nuxt-app",
files: ["examples/nuxt-app/**/*.vue"],
languageOptions: {
parser: vueParser,
globals: {
...globals.browser,
},
parserOptions: {
parser: tsParser,
ecmaVersion: 2021,
sourceType: "module",
extraFileExtensions: [".vue"],
},
},
plugins: {
vue: pluginVue,
},
rules: {
...pluginVue.configs["flat/recommended"].rules,
// Disable rules that conflict with Prettier
"vue/html-self-closing": "off",
"vue/max-attributes-per-line": "off",
"vue/singleline-html-element-content-newline": "off",
"vue/multiline-html-element-content-newline": "off",
"vue/html-indent": "off",
"vue/html-closing-bracket-newline": "off",
},
},
{
name: "tests",
files: ["**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts", "**/*.spec.tsx"],
Expand Down
13 changes: 13 additions & 0 deletions examples/nuxt-app/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Ory SDK URL - Replace with your Ory project URL
# Can be set via NUXT_PUBLIC_ORY_SDK_URL or ORY_SDK_URL
NUXT_PUBLIC_ORY_SDK_URL=https://your-project.projects.oryapis.com

# API Token for SAML and OIDC support (optional)
# Required for proper URL rewriting in federated authentication flows
ORY_PROJECT_API_TOKEN=

# Optional: Force a specific cookie domain
# NUXT_ORY_FORCE_COOKIE_DOMAIN=

# Optional: Additional headers to forward to Ory (comma-separated)
# NUXT_ORY_FORWARD_ADDITIONAL_HEADERS=
31 changes: 31 additions & 0 deletions examples/nuxt-app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Nuxt dev/build outputs
.output
.data
.nuxt
.nitro
.cache
dist

# Node dependencies
node_modules

# Logs
logs
*.log

# Misc
.DS_Store
.fleet
.idea

# Local env files
.env
.env.*
!.env.example

# Vercel/Netlify
.vercel
.netlify

# TypeScript
*.tsbuildinfo
Loading
Loading