Skip to content

Commit

Permalink
feat: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
pghorpade committed May 21, 2024
0 parents commit 8634739
Show file tree
Hide file tree
Showing 102 changed files with 14,972 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
16 changes: 16 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
CRAFT_ENDPOINT = "https://test-craft.library.ucla.edu/api"
# LOCAL craft
# CRAFT_ENDPOINT = "http://craftcms.ddev.site//api"
LIBCAL_ENDPOINT = "https://test.proxy.calendar.library.ucla.edu/"
S3_BUCKET = "https://static.library.ucla.edu/"
SITEMAP_HOST="http://localhost:3000"
ES_URL = ""
ESApiKey = "bTVkUnk0VUI5TTBkaHFsM3RBdno6RXprS3V5OXlRZGlPUXFqQ2FydTh0UQ=="

### Local setup for indexing begin
ES_ALIAS = "apps-dev-current-library-website"
ES_INDEX_PREFIX = "apps-dev-parinita-local-website"
ES_TEMP_INDEX_PREFIX_LIBGUIDES = "apps-dev-parinita-local-libguides"
ES_READ_KEY = ""
ES_WRITE_KEY = ""
LIBGUIDES_ES_INDEX = "apps-dev-libguides"
7 changes: 7 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.nuxt-storybook/
.nuxt/
node_modules/
storybook-static/
.output
dist

15 changes: 15 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
module.exports = {
root: true,
extends: ["@nuxtjs/eslint-config-typescript"],
"rules": {
"@typescript-eslint/comma-dangle": "off",
"n/prefer-global/process": "off",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "off",
"space-before-function-paren": "off",
"comma-dangle": "off",
"operator-linebreak": "off",
"curly": "off",
"brace-style": "off",
}
};
75 changes: 75 additions & 0 deletions .github/ISSUE_TEMPLATE/page-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
name: Page Request
about: Use this to define a Page that a developer can build.
title: Page Request - {PageRoute}
labels: ""
assignees: ""
---

## Page Description

This Page is used {where} to display {what}. Be sure to explain any variants or hover states.

## Design

Please also see attached screenshots for quick reference.

- Desktop: https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=7%3A56
- Mobile: https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=7%3A58

If no mobile designs provided, please use your best judgment for responsiveness.

## Slots

Name and description of any slots needed.

## Props

```js
props: {
exampleObject: {
// Mock: api.page
type: Object,
default: () => {}
},
exampleArray: {
// Mock: api.pages
type: Array,
default: () => []
},
exampleNumber: {
type: Number,
default: 0
},
exampleString: {
type: String,
default: ""
},
exampleBoolean: {
type: Boolean,
default: true
}
}
```

## Developer Tips

List any developer tips here

1. `--color-example` for the font color

## Events

Describe any events that should be emitted by this component.

1. `menuOpened` when {something} is clicked on

## Child components

List out any components that are used by this new Page.

1. `required-component` is used for {what}

## Screenshots

{attach screenshots}
22 changes: 22 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Connected to [APPS-](https://jira.library.ucla.edu/browse/APPS-)

**Page/Pages Created/updated:** {filename}.vue from #{issue number}

**Notes:**

{Any notes about what you built. How does it work? Anything missing?}

**Time Report:**

This took me {x} hours to build this.

**Checklist:**

- [ ] I added github label for semantic versioning
- [ ] I double checked it looks like the designs
- [ ] I completed any required mobile breakpoint styling
- [ ] I completed any required hover state styling
- [ ] I included a working spec file
- [ ] I added notes above about how long it took to build this component
- [ ] UX has reviewed this PR
- [ ] I assigned this PR to someone to review
52 changes: 52 additions & 0 deletions .github/configs/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
categories:
- title: 🚀 Features and Improvements
labels:
- feature
- enhancement
- performance
- refactor
- title: 🌈 Chore and Updates
labels:
- documentation
- chore
- test
- ci
- title: 🐛 Bug Fixes
labels:
- bugfix
- fix
- title: 🧰 Breaking Changes
label: breaking
version-resolver:
major:
labels:
- breaking
minor:
labels:
- enhancement
- feature
- performance
- refactor
patch:
labels:
- bugfix
- documentation
- fix
- chore
- test
- ci
default: patch
tag-template: $RESOLVED_VERSION
name-template: v$RESOLVED_VERSION
change-template: '* $TITLE (#$NUMBER)'
change-title-escapes: ''
exclude-labels:
- skip-changelog
template: |
## What’s Changed
$CHANGES
## Contributors
$CONTRIBUTORS
46 changes: 46 additions & 0 deletions .github/workflows/auto-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Website Release

# Performs a Website release using Netlify when a new GitHub release has been published
on:
# push:
# tags:
# - production
schedule:
- cron: '00 8,20 * * *' # 8,20 UTC = noon and midnight PST, 1am and 1pm PDT

jobs:
nuxt-prod:
name: Netlify deploy
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
with:
ref: production
- uses: ./.github/workflows/setup-workspace
- run: npm run generate
env:
CRAFT_ENDPOINT: ${{ secrets.CRAFT_PROD_ENDPOINT }}
LIBCAL_ENDPOINT: ${{ secrets.LIBCAL_ENDPOINT }}
S3_BUCKET: 'https://static.library.ucla.edu/'
SITEMAP_HOST: ${{ secrets.SITEMAP_URL_PROD }}
ES_URL: ${{ secrets.ES_URL }}
ESApiKey: ${{ secrets.ESApiKey }}
ES_READ_KEY: ${{ secrets.ES_READ_KEY_PROD }}
ES_WRITE_KEY: ${{ secrets.ES_WRITE_KEY_PROD }}
ES_ALIAS: ${{ secrets.ES_ALIAS_PROD }}
ES_INDEX_PREFIX: ${{ secrets.ES_INDEX_PREFIX_PROD }}
ES_TEMP_INDEX_PREFIX_LIBGUIDES: ${{secrets.ES_TEMP_INDEX_PREFIX_LIBGUIDES_PROD}}
LIBGUIDES_ES_INDEX: ${{secrets.LIBGUIDES_ES_INDEX_PROD}}
- name: Deploy to Netlify on release
uses: nwtgck/actions-netlify@v2 #
with:
production-deploy: true
deploy-message: https://github.com/UCLALibrary/library-website-nuxt/commit/${{ github.sha }}
github-token: ${{ secrets.GITHUB_TOKEN }}
publish-dir: ./dist
fails-without-credentials: true
github-deployment-environment: production
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_PROD_LIBRARY_SITE_ID }}
125 changes: 125 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: Run CI Suite

on:
push:
branches: [nuxt3.x]
pull_request:
branches: [nuxt3.x]

concurrency:
group: ci-${{ github.ref_name=='nuxt3.x' && github.sha || github.ref_name }} # Cancel runs for previous version of PR, but not main (after merge). For hacked ternary, see https://github.com/actions/runner/issues/409#issuecomment-727565588
cancel-in-progress: true

jobs:
eslint:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
- uses: ./.github/workflows/setup-workspace
- run: pnpm run lint
- uses: EndBug/add-and-commit@v9
with:
message: 'chore: linter autofixes'
default_author: github_actions

percy-instructions:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Comment with percy instructions
uses: bubkoo/auto-comment@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
pullRequestOpened: >
# Percy Screenshots
In order to conserve our percy screenshot allowance, percy is not configured to run automatically. Please make sure the PR is ready and all other checks are passing, then start it manually:
1. Visit https://github.com/UCLALibrary/library-website-nuxt/actions/workflows/percy.yml
2. Click the 'Run workflow' button in the blue bar.
3. Select the correct branch for this PR and click 'Run workflow' again to confirm.
nuxt:
name: Nuxt build / Cypress tests / Netlify deploy
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- uses: ./.github/workflows/setup-workspace
- name: Cache built static site
uses: actions/cache@v3
with:
path: .output/public
key: nuxt-site-${{ github.sha }}
- name: Sets env vars for PR preview
run: |
echo "ES_INDEX=${{secrets.ES_INDEX_TEST}}-deploy-preview" >> $GITHUB_ENV
echo "ES_ALIAS=${{secrets.ES_ALIAS_TEST}}-deploy-preview" >> $GITHUB_ENV
if: github.ref_name!='nuxt3.x'
- name: Sets env vars for nuxt3.x merge
run: |
echo "ES_INDEX=${{secrets.ES_INDEX_TEST}}" >> $GITHUB_ENV
echo "ES_ALIAS=${{secrets.ES_ALIAS_TEST}}" >> $GITHUB_ENV
if: github.ref_name=='nuxt3.x'
- run: pnpm run generate
env:
CRAFT_ENDPOINT: ${{ secrets.CRAFT_ENDPOINT }}
LIBCAL_ENDPOINT: ${{ secrets.LIBCAL_ENDPOINT }}
S3_BUCKET: 'https://static.library.ucla.edu/'
SITEMAP_HOST: ${{ secrets.SITEMAP_URL_TEST }}
ES_URL: ${{ secrets.ES_URL }}
ESApiKey: ${{ secrets.ESApiKey }}
ES_READ_KEY: ${{ secrets.ES_READ_KEY_TEST }}
ES_WRITE_KEY: ${{ secrets.ES_WRITE_KEY_TEST }}
ES_ALIAS: ${{ env.ES_ALIAS }}-${{ github.event.pull_request.number }}
ES_INDEX_PREFIX: ${{secrets.ES_INDEX_PREFIX_TEST}}
ES_TEMP_INDEX_PREFIX_LIBGUIDES: ${{secrets.ES_TEMP_INDEX_PREFIX_LIBGUIDES_TEST}}
LIBGUIDES_ES_INDEX: ${{secrets.LIBGUIDES_ES_INDEX_TEST}}
- name: Deploy to Netlify (preview)
if: github.ref_name!='nuxt3.x'
uses: nwtgck/actions-netlify@v2 #
with:
production-deploy: false
deploy-message: https://github.com/UCLALibrary/library-website-nuxt/pull/${{ github.event.pull_request.number }}
alias: deploy-preview-${{ github.event.pull_request.number }}
github-token: ${{ secrets.GITHUB_TOKEN }}
overwrites-pull-request-comment: true
publish-dir: .output/public
fails-without-credentials: true
github-deployment-environment: ${{ github.event_name }}-${{ github.event.number }}
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID_NUXT3X }}
- uses: cypress-io/github-action@v5
with:
start: pnpm dlx serve .output/public
wait-on: http://127.0.0.1:3000
env:
CRAFT_ENDPOINT: ${{ secrets.CRAFT_ENDPOINT }}
LIBCAL_ENDPOINT: ${{ secrets.LIBCAL_ENDPOINT }}
S3_BUCKET: 'https://static.library.ucla.edu/'
SITEMAP_HOST: ${{ secrets.SITEMAP_URL_TEST }}
ESApiKey: ${{ secrets.ESApiKey }}
ES_READ_KEY: ${{ secrets.ES_READ_KEY_TEST }}
ES_WRITE_KEY: ${{ secrets.ES_WRITE_KEY_TEST }}
ES_ALIAS: ${{ secrets.ES_ALIAS_TEST }}
ES_INDEX_PREFIX: ${{ secrets.ES_INDEX_PREFIX_TEST }}
ES_TEMP_INDEX_PREFIX_LIBGUIDES: ${{secrets.ES_TEMP_INDEX_PREFIX_LIBGUIDES_TEST}}
LIBGUIDES_ES_INDEX: ${{secrets.LIBGUIDES_ES_INDEX_TEST}}
- name: Deploy to Netlify (merged)
if: github.ref_name=='nuxt3.x'
uses: nwtgck/actions-netlify@v2 #
with:
production-deploy: true
deploy-message: https://github.com/UCLALibrary/library-website-nuxt/commit/${{ github.sha }}
github-token: ${{ secrets.GITHUB_TOKEN }}
publish-dir: .output/public
fails-without-credentials: true
github-deployment-environment: production
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID_NUXT3X }}
15 changes: 15 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# .github/workflows/e2e.yml
# test the deployed Netlify site
name: e2e
on:
deployment:
jobs:
show-event:
runs-on: ubuntu-20.04
steps:
- run: echo "Testing netlify url "
- name: Dump entire event
env:
EVENT: ${{ toJson(github.event) }}
run: echo "$EVENT"
- run: echo "{{ github.event.node.latestStatus.environmentUrl }}"
Loading

0 comments on commit 8634739

Please sign in to comment.