From e02ced186c0503223e1a1de9ab56e5ebf5d69b5a Mon Sep 17 00:00:00 2001 From: Crystal Ngai <“hokei@users.noreply.github.com”> Date: Tue, 9 Mar 2021 13:12:34 -0500 Subject: [PATCH] Deletes unused folders and adds CI --- .github/workflows/ci.yml | 122 +++++++++++++++++++++++++++++++++++ .storybook/addons.js | 4 -- .storybook/config.js | 14 ---- .storybook/webpack.config.js | 18 ------ .travis.yml | 39 ----------- CHANGELOG.md | 3 + package.json | 2 - 7 files changed, 125 insertions(+), 77 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .storybook/addons.js delete mode 100644 .storybook/config.js delete mode 100644 .storybook/webpack.config.js delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..434abb18 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,122 @@ +# For all PRs, this workflow will +# - Install deps +# - Lint +# - Typecheck +# - Test +name: CI + +on: + # will run on all PRs that are opened or updated (synchronized) + pull_request: + types: [opened, synchronize, reopened] + +jobs: + # changelog must be edited for every PR + changelog: + name: Updates Changelog + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: dangoslen/changelog-enforcer@v1.4.0 + with: + changeLogPath: "CHANGELOG.md" + skipLabel: "no-changelog" + + lint: + name: Lint + runs-on: ubuntu-latest + env: + CI: true + steps: + - uses: actions/checkout@v2 + - id: nvmrc + run: echo ::set-output name=NODE_VERSION::$(cat .nvmrc) + + - name: Use Node Version from nvmrc + uses: actions/setup-node@v1 + with: { node-version: "${{ steps.nvmrc.outputs.NODE_VERSION }}" } + + - name: Cache node modules + uses: actions/cache@v2 + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: Install Dependencies + run: npm install + + - name: Lint + run: npm run lint + + typecheck: + name: Typecheck + runs-on: ubuntu-latest + env: + CI: true + steps: + - uses: actions/checkout@v2 + - id: nvmrc + run: echo ::set-output name=NODE_VERSION::$(cat .nvmrc) + + - name: Use Node Version from nvmrc + uses: actions/setup-node@v1 + with: { node-version: "${{ steps.nvmrc.outputs.NODE_VERSION }}" } + + - name: Cache node modules + uses: actions/cache@v2 + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: Install Dependencies + run: npm install + + - name: Typecheck + run: node_modules/typescript/bin/tsc --noEmit + + test: + name: Test & Coverage + runs-on: ubuntu-latest + env: + CI: true + steps: + - uses: actions/checkout@v2 + - id: nvmrc + run: echo ::set-output name=NODE_VERSION::$(cat .nvmrc) + + - name: Use Node Version from nvmrc + uses: actions/setup-node@v1 + with: { node-version: "${{ steps.nvmrc.outputs.NODE_VERSION }}" } + + - name: Cache node modules + uses: actions/cache@v2 + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: Install Dependencies + run: npm install + + - name: Test + run: npm run test diff --git a/.storybook/addons.js b/.storybook/addons.js deleted file mode 100644 index 8e6a6949..00000000 --- a/.storybook/addons.js +++ /dev/null @@ -1,4 +0,0 @@ -import '@storybook/addon-actions/register'; -import '@storybook/addon-notes/register-panel'; -import '@storybook/addon-a11y/register'; -import '@storybook/addon-knobs/register'; diff --git a/.storybook/config.js b/.storybook/config.js deleted file mode 100644 index e1f1e74d..00000000 --- a/.storybook/config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { configure } from '@storybook/react'; -import { addDecorator } from '@storybook/react'; -import { withA11y } from '@storybook/addon-a11y'; -import { withKnobs } from '@storybook/addon-knobs'; - -// automatically import all files ending in *.stories.js -const req = require.context('../stories', true, /\.stories\.jsx$/); -function loadStories() { - req.keys().forEach(filename => req(filename)); -} - -configure(loadStories, module); -addDecorator(withA11y); -addDecorator(withKnobs); diff --git a/.storybook/webpack.config.js b/.storybook/webpack.config.js deleted file mode 100644 index 73f9a61a..00000000 --- a/.storybook/webpack.config.js +++ /dev/null @@ -1,18 +0,0 @@ -const path = require('path'); - -// Export a function. Accept the base config as the only param. -module.exports = async ({ config, mode }) => { - // `mode` has a value of 'DEVELOPMENT' or 'PRODUCTION' - // You can change the configuration based on that. - // 'PRODUCTION' is used when building the static version of storybook. - - // Make whatever fine-grained changes you need - config.module.rules.push({ - test: /\.scss$/, - use: ['style-loader', 'css-loader', 'sass-loader'], - include: path.resolve(__dirname, '../'), - }); - - // Return the altered config - return config; -}; diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d98f7b6a..00000000 --- a/.travis.yml +++ /dev/null @@ -1,39 +0,0 @@ -# language: node_js -# node_js: -# - 10.16.0 -# install: npm install -# before_script: npm run dist -# script: npm test -# before_deploy: echo "All unit tests pass. Launching build on AWS EB." -# deploy: -# - provider: elasticbeanstalk -# skip_cleanup: true -# access_key_id: "$AWS_ACCESS_KEY_ID_DEVELOPMENT" -# secret_access_key: "$AWS_SECRET_ACCESS_KEY_DEVELOPMENT" -# region: us-east-1 -# app: sfr-front-end -# env: sfr-front-end-development -# bucket_name: elasticbeanstalk-us-east-1-224280085904 -# bucket_path: rnw-front-end-development -# on: -# repo: NYPL/sfr-bookfinder-front-end -# branch: development -# - provider: elasticbeanstalk -# skip_cleanup: true -# access_key_id: "$AWS_ACCESS_KEY_ID_PRODUCTION" -# secret_access_key: "$AWS_SECRET_ACCESS_KEY_PRODUCTION" -# region: us-east-1 -# app: DigitalResearchBooks-front-end -# env: digital-research-books-beta -# bucket_name: elasticbeanstalk-us-east-1-946183545209 -# bucket_path: DigitalResearchBooks-front-end -# on: -# repo: NYPL/sfr-bookfinder-front-end -# branch: beta-production -# env: -# global: -# - secure: sBbLIPtXIpRUFo7PBduT8aQocYts2MTlBSKcCr/1WGGAoih3lEkTDPJkiGxaF6vqCCdfkBLPIECzYbiH49ZA6HrR/nnKVsvFbTAc5MQkCrPyipEXy27/urohzQDK1tH0wmr6Xz1Of80RwO4/viuX/pjRXwvbkw+jOO0+2J6JlLTxyNwhIn9m+id7Ja2sPB35ON+c/4X0r0bv4jMZGLg9IlC89N7q7UNdRXtpVeBTWJX//ZCEHGH1ZKqWOkC4GaWqXDDDFL75iRomkQ1akaYbFVWOVweLC1JmPXDgnhbbs7KB1kremausb/c1GhqQ1RMp5hsZCQ5ATP1pYlulo039/pRwSOGZ8so1q6KUefsU+X7RIsZ86vDU3mjIzI3URZjzUQlKo5CFdqWFULw0rOlBHPkgMLBtTgKBAe97Wx3wQBN3sm+yKoIP0GntLhCTxD4GEd1Bn7ccq+0WjGlzlLJYq1YnWoF9p/mHmWL49e6Vhn1U+MD143m4mGxUC1MYosBhm8EzT5x1vowleqvhOKmp3x3fXCfE98A/UfWyUHDBoFof2Bo5v+Y+wgAWX4+lDro0WpKZA/jPvOROnoiX8mwUS9xdOpoEu75lNg6LLcSBqjFPxcG0d5qK4uAdzpK15TS8cgfcttH2V3ZfPPPaBlSN8H+j2MfxuuvYMYca6ftSb4I= -# - secure: zcB+zqjBkv9Y2YHU3PgJ7xmWvL2q53g1zbZvmBVvLv0eEfqLr71Ca30oda0FsBLdQ0oXo4So0shBh5AME38x6KcUNj8+odwGJEqdWOHXxJi5y+W2K7qV6SraO6r/cIOUYYfY0MuhgXr9d0DchWZk9lFWvNCT7g1UPyBN4cAfeoqnk+s3vMaBaI9ZB4t2iFzqAfUQY4weCmXWVg3Bi77u76dQi7hgX/zaf89HIECdY0ft5fL4IY0EyzzpoNYsy1yBHL9TcnqSjlZKI8mJYT0bp9Ga7mvsQYEJYRHPFjSuSzgP2XR9Hor1ITNd3fA5m4ud1QMvAsWmJ784bM/sfGUutmfS1FdX8T2klzXnTcQnLEIzXb02IVXCArIXkW/0NvX0mUtqceW3XJsiuKhCZg+5I3Td87WFA/O4fmtpRMH2WoHFlAlzUAHHI5DorAltu77FXRl17zduhBl4LUVBAxCrCIGcDgwUcIEGMTfmOpJn7A6uhC8pk2xf6TvyBrOtxYh0TYYj1ywlAiWTB5IW9+xuzP0OvO4qA2E4WvEB6Yuu0zHE/AHXJyHcxqeKkg7ZLL/f8K9eq3c+mHKIE8W6M4ty4bsP7lhUAFf43nx4SO4aQpg3ZOIC4vVcVyJJfO0Ho75PuOsMDkTXCdL4MRmb2VjBhGzgXV7f7BOMnyNSnqb8Rf4= -# - secure: AZG2KnhJ7sUwKj9fYJYQkKrB2jgk0vE2ObwKR8siPwfv9pHhhgyKQH0pRbYipiU2+qI7RwebvagwhtLhmqxTXS+AatqSQD70KUJxzWLSdUGns+3L0+yKk3zOmeD7+lCMmp3FL+onytRVB+/tlUVuxmWbEMF2GfgqEJaDBjTd6DXafslIcy3vWYoQuGIrDTpk2EkVJl4PojnmRx8csiIpaN+Ot0N6wUYvdhB+c2A2+a9FvXKNPOsLcN61ogK8UYNP0nZdvphkn3IVi7DdIa0VdAnJeTlXwN2ES1lraCtp0pxQdfzIgCu8GzImedg12s80s9HDa6PYfHQ3QSdyLn8f0QPKBPGoJpwrwKY/51Q3+xFf89/Xg6Mwl1ATB93Kh9X4zPIsY/9wtk0XPTauSvYd3SoYrFQreFmCOAvAlnMK3lmBKl5kV0r2cfpzhSCZQLY4VuVNhbEnzX2eX+Tzg2R81/QLQ/ACH0VLSDjnCAXuYLTb13pOunS6ilWQN04j5sr25w2FfUWSey2H6up+24eQUPxxgYZSuzjRkr4KtxUvqwdA89Ct4sQfBv7ay4Xl+gikox72rCFuB9/mdnBkv30s+qeMVMg4jz8kB3LMJU+GRq32dZiLaVt3KWCYbik7DRnGFVi/HjSqjroTrhQEwUFgkDGshxrsYv8tLMCgNFhWt9k= -# - secure: ohKjuxl1tHJyxN0qDqb6Ckwl929Cc6J8477oSVnJ1Rdf60QZTmG6Ksxx0iKR1fwb0oAHsPkmFAX06OYusQgDfipKBqjTrmC7cRLtu0axD9S1bHqUMqGp7AG1PvZHFL8Q3VGTwBnwa+PhvAPJGr1mNDe3p++6Y+23H2HreV+BGf3fyrYTc09x+IIasLuRlhvFvJYDUZyPoRmjdIrCCMTQRQKFU3xDMoim/YHmm3VVnV931gCM6She2vDOHHObrqZRUd3eEJNMU1TAqXeYHhPF+W8m7furRrd19XkyKKuTGJyeFDsVpj0Sn7c2PJjj595sC1zDopDUZMYJRxiITaNW+01n3VavLEEubnMUgrmJYa4vcxFjBQ2Hrq0wbEqoE+xcUeAbA8/yRi3eX8RZV5o4h1XCmfJa6V70fsbTuzQ8Ycf8tJUFS3EjqbdZtltTyHudhLD8/fDlgBcmo7QQtyONTE9q2RABH81Qa24Inbq8FKCKlWt2ZA8LcZCCyolbmXQRDlRx5jFwSRGV9lBjb+AZTCYGN08DDAwKfokBuQ8WQ6ifFf0kG4aCfts+JnZAtWsQbP1MoIy81wOatX7od4+HuMCAUM8GGSxxYaB24Lp5H0gJrtuDf+U69pCVFcqxZ/Fd0aB3wMFqJiX+uBs7fYoD616ThvhjjD6U3BO1P1yf46g= -# - secure: Hosiy9QB/qnUBx+f9pfFWCCRv/+xQmdfGzZh6Z0plJXc6zL00lkHraSB8zEOBvb+ceQS+hflsxVssU/VC44cvp5MCqxx8fupFzqVApQMd71ZsQWTR0d1EOEmEsywt1N2KQBCHFtfyQE/Xzw1DkOi9PwZ722l6SvMXGcq61tEVJKFvq2FpVihx6L3yaFUVnsw/1f0wfon2//DLI2qKDWb9s7oUEKL41Ydjlir1qjqIhm4emwBqIb/8zFtqX6nrJwjArU+oEdY5IkGf/4F8FwYn94+CoOo5zZ20uevVtglUI6+jloG5HnzMCrKSzPLJq3AqWRY4Bp5N3MxS7t6XkCxA7KWd+41T5WEm845NQ8U2hVjHdAJltcPG8bO3PpG41RpPa6Ua1nJ4E1JzrZ9t5kRvBTOWLtlGbt2QxGYX+bAQDEIGeZhRsfX1W3x6DB1sLcN506aLk5VBidpxW4v76iBUJiSAx+MMRUZv2H1V0CjWWfolxoIlXsgUNBoPPzZEs3KTJFcjBzM4CW+232TLB9wJ5QhFzQK5U2C8fJ2bH0W4QdML9h5XXiSza4/sKZRQPqfdcbRpDWPGj9dyp5pVnn//YBxaDzjFfikd+tB3Hlz2mBQABiJTXkDt07VBPfJIpuJdqvfdLTYM4TVpI0lfR6Rrhpcy/3+HDUqwu4T2JSeAOY= diff --git a/CHANGELOG.md b/CHANGELOG.md index f666b9f8..174f7242 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,7 @@ # CHANGE LOG +## PRERELEASE +- Refactors app to use NextJS, NYPL Design System, Typescript + ## [0.9.3] - Updated dgx-global-footer to 0.5.7. - Adds the new urlType prop to the Footer component set to "absolute" diff --git a/package.json b/package.json index 05c82da1..6e935863 100644 --- a/package.json +++ b/package.json @@ -4,10 +4,8 @@ "private": true, "scripts": { "dev": "next dev", - "eb-dev": "next dev -p $PORT", "build": "next build", "start": "next start", - "eb-start": "NODE_ENV=development next build && node ./server.js", "test": "jest", "test:watch": "jest --watch", "lint": "eslint --ignore-path .gitignore '*/**/*.{ts,tsx}'",