Skip to content

Commit c6a133d

Browse files
author
Ryan Cohen
authored
refactor: absolute imports with path alias (#2960) [skip ci]
1 parent 4b855b8 commit c6a133d

File tree

317 files changed

+1741
-1665
lines changed

Some content is hidden

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

317 files changed

+1741
-1665
lines changed

.eslintrc.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ module.exports = {
3838
prefer: 'type-imports',
3939
},
4040
],
41+
'no-relative-import-paths/no-relative-import-paths': [
42+
'error',
43+
{ allowSameFolder: true },
44+
],
4145
},
4246
overrides: [
4347
{
@@ -47,7 +51,7 @@ module.exports = {
4751
},
4852
},
4953
],
50-
plugins: ['jsx-a11y', 'react-hooks', 'formatjs'],
54+
plugins: ['jsx-a11y', 'react-hooks', 'formatjs', 'no-relative-import-paths'],
5155
settings: {
5256
react: {
5357
pragma: 'React',

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@
1515
"database": "./config/db/db.sqlite3"
1616
}
1717
],
18-
"editor.formatOnSave": true
18+
"editor.formatOnSave": true,
19+
"typescript.preferences.importModuleSpecifier": "non-relative"
1920
}

package.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,24 @@
33
"version": "0.1.0",
44
"private": true,
55
"scripts": {
6-
"dev": "nodemon -e ts --watch server --watch overseerr-api.yml -e .json,.ts,.yml -x ts-node --files --project server/tsconfig.json server/index.ts",
7-
"build:server": "tsc --project server/tsconfig.json && copyfiles -u 2 server/templates/**/*.{html,pug} dist/templates",
6+
"dev": "nodemon -e ts --watch server --watch overseerr-api.yml -e .json,.ts,.yml -x ts-node -r tsconfig-paths/register --files --project server/tsconfig.json server/index.ts",
7+
"build:server": "tsc --project server/tsconfig.json && copyfiles -u 2 server/templates/**/*.{html,pug} dist/templates && tsc-alias -p server/tsconfig.json",
88
"build:next": "next build",
99
"build": "yarn build:next && yarn build:server",
1010
"lint": "eslint \"./server/**/*.{ts,tsx}\" \"./src/**/*.{ts,tsx}\" --cache",
1111
"start": "NODE_ENV=production node dist/index.js",
1212
"i18n:extract": "extract-messages -l=en -o src/i18n/locale -d en --flat true --overwriteDefault true \"./src/**/!(*.test).{ts,tsx}\"",
13-
"migration:generate": "ts-node --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:generate -d server/datasource.ts",
14-
"migration:create": "ts-node --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:create -d server/datasource.ts",
15-
"migration:run": "ts-node --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:run -d server/datasource.ts",
13+
"migration:generate": "ts-node -r tsconfig-paths/register --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:generate -d server/datasource.ts",
14+
"migration:create": "ts-node -r tsconfig-paths/register --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:create -d server/datasource.ts",
15+
"migration:run": "ts-node -r tsconfig-paths/register --project server/tsconfig.json ./node_modules/typeorm/cli.js migration:run -d server/datasource.ts",
1616
"format": "prettier --loglevel warn --write --cache .",
1717
"format:check": "prettier --check --cache .",
1818
"typecheck": "yarn typecheck:server && yarn typecheck:client",
1919
"typecheck:server": "tsc --project server/tsconfig.json --noEmit",
2020
"typecheck:client": "tsc --noEmit",
2121
"prepare": "husky install",
2222
"cypress:open": "cypress open",
23-
"cypress:prepare": "ts-node --files server/scripts/prepareTestDb.ts",
23+
"cypress:prepare": "ts-node -r tsconfig-paths/register --files --project server/tsconfig.json server/scripts/prepareTestDb.ts",
2424
"cypress:build": "yarn build && yarn cypress:prepare"
2525
},
2626
"repository": {
@@ -139,6 +139,7 @@
139139
"eslint-config-prettier": "8.5.0",
140140
"eslint-plugin-formatjs": "4.1.0",
141141
"eslint-plugin-jsx-a11y": "6.6.1",
142+
"eslint-plugin-no-relative-import-paths": "^1.4.0",
142143
"eslint-plugin-prettier": "4.2.1",
143144
"eslint-plugin-react": "7.30.1",
144145
"eslint-plugin-react-hooks": "4.6.0",
@@ -154,6 +155,8 @@
154155
"semantic-release-docker-buildx": "1.0.1",
155156
"tailwindcss": "3.1.8",
156157
"ts-node": "10.9.1",
158+
"tsc-alias": "^1.7.0",
159+
"tsconfig-paths": "^4.1.0",
157160
"typescript": "4.7.4"
158161
},
159162
"resolutions": {

server/api/animelist.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
import logger from '@server/logger';
12
import axios from 'axios';
23
import fs, { promises as fsp } from 'fs';
34
import path from 'path';
45
import xml2js from 'xml2js';
5-
import logger from '../logger';
66

77
const UPDATE_INTERVAL_MSEC = 24 * 3600 * 1000; // how often to download new mapping in milliseconds
88
// originally at https://raw.githubusercontent.com/ScudLee/anime-lists/master/anime-list.xml

server/api/github.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import cacheManager from '../lib/cache';
2-
import logger from '../logger';
1+
import cacheManager from '@server/lib/cache';
2+
import logger from '@server/logger';
33
import ExternalAPI from './externalapi';
44

55
interface GitHubRelease {

server/api/plexapi.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import type { Library, PlexSettings } from '@server/lib/settings';
2+
import { getSettings } from '@server/lib/settings';
3+
import logger from '@server/logger';
14
import NodePlexAPI from 'plex-api';
2-
import type { Library, PlexSettings } from '../lib/settings';
3-
import { getSettings } from '../lib/settings';
4-
import logger from '../logger';
55

66
export interface PlexLibraryItem {
77
ratingKey: string;

server/api/plextv.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
import type { PlexDevice } from '@server/interfaces/api/plexInterfaces';
2+
import cacheManager from '@server/lib/cache';
3+
import { getSettings } from '@server/lib/settings';
4+
import logger from '@server/logger';
15
import xml2js from 'xml2js';
2-
import type { PlexDevice } from '../interfaces/api/plexInterfaces';
3-
import cacheManager from '../lib/cache';
4-
import { getSettings } from '../lib/settings';
5-
import logger from '../logger';
66
import ExternalAPI from './externalapi';
77

88
interface PlexAccountResponse {

server/api/rottentomatoes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import cacheManager from '../lib/cache';
1+
import cacheManager from '@server/lib/cache';
22
import ExternalAPI from './externalapi';
33

44
interface RTSearchResult {

server/api/servarr/base.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import type { AvailableCacheIds } from '../../lib/cache';
2-
import cacheManager from '../../lib/cache';
3-
import type { DVRSettings } from '../../lib/settings';
4-
import ExternalAPI from '../externalapi';
1+
import ExternalAPI from '@server/api/externalapi';
2+
import type { AvailableCacheIds } from '@server/lib/cache';
3+
import cacheManager from '@server/lib/cache';
4+
import type { DVRSettings } from '@server/lib/settings';
55

66
export interface SystemStatus {
77
version: string;

server/api/servarr/radarr.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import logger from '../../logger';
1+
import logger from '@server/logger';
22
import ServarrBase from './base';
33

44
export interface RadarrMovieOptions {

0 commit comments

Comments
 (0)