Skip to content

Commit

Permalink
Merge pull request #1 from ParkerSm1th/DT-8
Browse files Browse the repository at this point in the history
[DT-8] server: Implement users table along with auth
  • Loading branch information
ParkerSm1th authored Feb 18, 2024
2 parents 483a974 + bf1a8bf commit 0996ce0
Show file tree
Hide file tree
Showing 97 changed files with 30,523 additions and 12,831 deletions.
7 changes: 3 additions & 4 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ module.exports = {
'plugin:jest-formatting/recommended',
'plugin:no-unsanitized/DOM',
// https://typescript-eslint.io/linting/troubleshooting/formatting#suggested-usage---prettier
'prettier',
],
ignorePatterns: [
'node_modules',
Expand Down Expand Up @@ -246,6 +245,9 @@ module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 12,
parserOptions: {
project: ['./tsconfig.json'], // Specify it only for TypeScript files
},
sourceType: 'module',
tsconfigRootDir: __dirname,
},
Expand All @@ -255,7 +257,6 @@ module.exports = {
'jest-formatting',
'modules-newlines',
'unused-imports',
'magical',
],
root: true,
rules: {
Expand Down Expand Up @@ -351,13 +352,11 @@ module.exports = {
'no-redeclare': 'error',
'no-restricted-properties': [
'error',
...restrictedPropertiesRules,
],
// disallow certain syntax forms
// https://eslint.org/docs/rules/no-restricted-syntax
'no-restricted-syntax': [
'error',
...noRestrictedSyntaxRules,
],
'no-use-before-define': 'off', // Replaced with TS version.
'no-void': ['error', { allowAsStatement: true }],
Expand Down
1 change: 1 addition & 0 deletions app/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_bWFueS1zaGVlcGRvZy01MC5jbGVyay5hY2NvdW50cy5kZXYk
41 changes: 18 additions & 23 deletions app/.eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: ['./app/tsconfig.json'], // Specify it only for TypeScript files
},
env: {
browser: true,
es2020: true,
Expand All @@ -8,11 +11,9 @@ module.exports = {
},
extends: [
'eslint:recommended',
'plugin:@cspell/recommended',
'plugin:jest/recommended',
'plugin:react/recommended',
'plugin:jsx-a11y/recommended',
'plugin:storybook/recommended',
'../.eslintrc.cjs',
],
globals: {
Expand All @@ -24,13 +25,14 @@ module.exports = {
'/artifacts',
'/build',
'/dist',
'/storybook-static',
'*.config.js',
'*.d.ts',
],
overrides: [
// Typescript-specific rules that don't apply to our .[mc]js files.
{
files: [
'src/**/*.ts*',
'app/**/*.ts*',
],
rules: {
'@typescript-eslint/semi': ['error'],
Expand All @@ -42,7 +44,7 @@ module.exports = {
// TSX files
{
files: [
'src/**/*.tsx',
'app/**/*.tsx',
],
rules: {
'max-lines': ['error', 210],
Expand All @@ -53,7 +55,7 @@ module.exports = {
// Storybook stories
{
files: [
'src/**/*.stories.tsx',
'app/**/*.stories.tsx',
],
rules: {
'react/function-component-definition': 'off',
Expand All @@ -65,8 +67,8 @@ module.exports = {
// Storybook stories and unit tests
{
files: [
'src/**/*.stories.tsx',
'src/**/*/*.unit.test.tsx',
'app/**/*.stories.tsx',
'app/**/*/*.unit.test.tsx',
],
rules: {
'max-lines': 'off',
Expand All @@ -76,7 +78,7 @@ module.exports = {
// All tests
{
files: [
'src/**/*.test.ts',
'app/**/*.test.ts',
],
env: {
jest: true,
Expand All @@ -92,7 +94,7 @@ module.exports = {
// UI tests
{
files: [
'src/**/*.ui.test.ts',
'app/**/*.ui.test.ts',
],
globals: {
driver: true,
Expand All @@ -109,12 +111,11 @@ module.exports = {

// Background files
{
files: ['src/background/**/*'],
files: ['app/background/**/*'],
rules: {
'no-restricted-imports': 'off',
'no-restricted-properties': [
'error',
...restrictedPropertiesRules,
{
message:
'There is no access to `document` available in MV3 extensions since the background runs in a Service Worker',
Expand All @@ -128,7 +129,6 @@ module.exports = {
],
'no-restricted-syntax': [
'error',
...noRestrictedSyntaxRules,
{
selector:
'CallExpression[callee.object.property.name="tabs"] > MemberExpression[property.name="sendMessage"]',
Expand All @@ -147,7 +147,7 @@ module.exports = {
// store-url.e2e.test.ts
{
files: [
'src/e2e-tests/extension-stores/store-url.e2e.test.ts',
'app/e2e-tests/extension-stores/store-url.e2e.test.ts',
],
rules: {
// @jest-environment-options can't be parsed and eslint comments can't come before the Jest
Expand All @@ -158,11 +158,10 @@ module.exports = {

// Content scripts
{
files: ['src/content-scripts/**/*'],
files: ['app/content-scripts/**/*'],
rules: {
'no-restricted-syntax': [
'error',
...noRestrictedSyntaxRules,
{
selector:
'CallExpression[callee.name="getValueFromTabState"] Identifier[name="dropdown"]',
Expand All @@ -174,15 +173,12 @@ module.exports = {
},
],
plugins: [
'@cspell',
'@typescript-eslint',
'justinanastos',
'import',
'compat',
'react',
'jest',
'react-hooks',
'@emotion',
],
rules: {
'@typescript-eslint/explicit-module-boundary-types': 'off',
Expand Down Expand Up @@ -229,7 +225,6 @@ module.exports = {
'no-proto': 'error',
'no-restricted-syntax': [
'error',
...noRestrictedSyntaxRules,
],
'no-shadow': 'off',
'no-shadow-restricted-names': 'error',
Expand Down Expand Up @@ -258,7 +253,6 @@ module.exports = {
'react/boolean-prop-naming': 'error',
'react/display-name': ['warn', { ignoreTranspilerName: false }],
'react/forbid-component-props': ['error', { forbid: ['class'] }],
'react/function-component-definition': 'error',
'react/jsx-handler-names': 'error',
'react/jsx-key': ['error', { checkFragmentShorthand: true }],
'react/jsx-max-props-per-line': ['error', { maximum: 1, when: 'multiline' }],
Expand All @@ -275,7 +269,6 @@ module.exports = {
'react/no-danger': 'warn',
'react/no-did-mount-set-state': 'error',
'react/no-did-update-set-state': 'error',
'react/no-multi-comp': 'error',
'react/no-unescaped-entities': 'off',
'react/no-unknown-property': ['error', { ignore: ['css'] }],
'react/no-unstable-nested-components': 'error',
Expand All @@ -299,7 +292,9 @@ module.exports = {
targets: ['last 2 versions'],
polyfills: ['fetch', 'Promise'],
'import/resolver': {
typescript: {},
node: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
},
react: {
createClass: 'createReactClass', // Regex for Component Factory to use,
Expand Down
8 changes: 8 additions & 0 deletions app/.expo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
> Why do I have a folder named ".expo" in my project?
The ".expo" folder is created when an Expo project is started using "expo start" command.
> What do the files contain?
- "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds.
- "settings.json": contains the server configuration that is used to serve the application manifest.
> Should I commit the ".expo" folder?
No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine.
Upon project creation, the ".expo" folder is already added to your ".gitignore" file.
3 changes: 3 additions & 0 deletions app/.expo/devices.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"devices": []
}
1 change: 1 addition & 0 deletions app/.expo/metro/externals/assert/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:assert');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/async_hooks/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:async_hooks');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/buffer/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:buffer');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/child_process/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:child_process');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/cluster/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:cluster');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/console/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:console');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/constants/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:constants');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/crypto/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:crypto');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/dgram/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:dgram');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/diagnostics_channel/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:diagnostics_channel');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/dns/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:dns');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/domain/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:domain');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/events/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:events');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/fs/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:fs');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/fs/promises/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:fs/promises');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/http/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:http');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/http2/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:http2');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/https/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:https');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/inspector/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:inspector');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/module/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:module');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/net/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:net');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/os/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:os');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/path/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:path');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/perf_hooks/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:perf_hooks');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/process/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:process');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/punycode/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:punycode');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/querystring/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:querystring');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/readline/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:readline');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/repl/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:repl');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/stream/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:stream');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/string_decoder/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:string_decoder');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/timers/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:timers');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/tls/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:tls');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/trace_events/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:trace_events');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/tty/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:tty');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/url/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:url');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/util/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:util');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/v8/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:v8');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/vm/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:vm');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/worker_threads/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:worker_threads');
1 change: 1 addition & 0 deletions app/.expo/metro/externals/zlib/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = $$require_external('node:zlib');
1 change: 1 addition & 0 deletions app/.expo/metro/polyfill.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
global.$$require_external = typeof window === "undefined" ? require : () => null;
1 change: 1 addition & 0 deletions app/.expo/metro/polyfill.native.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// NOTE(EvanBacon): `react-native-web` adds a extra `div`s around the root HTML, these
// make static rendering much harder as we expect the root element to be `<html>`.
// This resolution will alias to a simple in-out component to avoid the extra HTML.
function AppContainer({ children }) {
return children;
}

if (process.env.NODE_ENV !== 'production') {
AppContainer.displayName = 'AppContainer';
}

module.exports = AppContainer;
module.exports.default = AppContainer;
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';
function emptyFunction() {}
(exports.__esModule = !0), (exports.default = void 0);
var BackHandler = {
exitApp: emptyFunction,
addEventListener: () => ({ remove: emptyFunction }),
removeEventListener: emptyFunction,
},
_default = BackHandler;
(exports.default = _default), (module.exports = exports.default);
Loading

0 comments on commit 0996ce0

Please sign in to comment.