diff --git a/ts/common_path.d.ts b/hwe/ts/common_path.d.ts similarity index 100% rename from ts/common_path.d.ts rename to hwe/ts/common_path.d.ts diff --git a/ts/admin_member.ts b/hwe/ts/gateway/admin_member.ts similarity index 95% rename from ts/admin_member.ts rename to hwe/ts/gateway/admin_member.ts index 4e3d28fb..ba74ecf4 100644 --- a/ts/admin_member.ts +++ b/hwe/ts/gateway/admin_member.ts @@ -1,12 +1,12 @@ import axios from 'axios'; import $ from 'jquery'; import { isNumber } from 'lodash'; -import { TemplateEngine } from '../hwe/ts/util/TemplateEngine'; -import { InvalidResponse } from '../hwe/ts/defs'; -import { setAxiosXMLHttpRequest } from '../hwe/ts/util/setAxiosXMLHttpRequest'; -import { unwrap_any } from '../hwe/ts/util/unwrap_any'; -import { convertFormData } from '../hwe/ts/util/convertFormData'; -import { exportWindow } from '../hwe/ts/util/exportWindow'; +import { TemplateEngine } from '../util/TemplateEngine'; +import { InvalidResponse } from '../defs'; +import { setAxiosXMLHttpRequest } from '../util/setAxiosXMLHttpRequest'; +import { unwrap_any } from '../util/unwrap_any'; +import { convertFormData } from '../util/convertFormData'; +import { exportWindow } from '../util/exportWindow'; type UserEntry = { userID: string, diff --git a/ts/admin_server.ts b/hwe/ts/gateway/admin_server.ts similarity index 96% rename from ts/admin_server.ts rename to hwe/ts/gateway/admin_server.ts index 83714d0a..ff9a2514 100644 --- a/ts/admin_server.ts +++ b/hwe/ts/gateway/admin_server.ts @@ -1,12 +1,12 @@ import $ from 'jquery'; import axios from 'axios'; -import { setAxiosXMLHttpRequest } from '../hwe/ts/util/setAxiosXMLHttpRequest'; -import { InvalidResponse } from '../hwe/ts/defs'; -import { convertFormData } from '../hwe/ts/util/convertFormData'; -import { TemplateEngine } from "../hwe/ts/util/TemplateEngine"; -import { unwrap_any } from '../hwe/ts/util/unwrap_any'; -import { unwrap } from '../hwe/ts/util/unwrap'; +import { setAxiosXMLHttpRequest } from '../util/setAxiosXMLHttpRequest'; +import { InvalidResponse } from '../defs'; +import { convertFormData } from '../util/convertFormData'; +import { TemplateEngine } from "../util/TemplateEngine"; +import { unwrap_any } from '../util/unwrap_any'; +import { unwrap } from '../util/unwrap'; type ServerUpdateResponse = { result: true, diff --git a/hwe/ts/gateway/common_deprecated.ts b/hwe/ts/gateway/common_deprecated.ts new file mode 100644 index 00000000..91cef818 --- /dev/null +++ b/hwe/ts/gateway/common_deprecated.ts @@ -0,0 +1 @@ +export * from '../common_deprecated'; \ No newline at end of file diff --git a/ts/entrance.ts b/hwe/ts/gateway/entrance.ts similarity index 96% rename from ts/entrance.ts rename to hwe/ts/gateway/entrance.ts index 26d65c12..6aa9f7da 100644 --- a/ts/entrance.ts +++ b/hwe/ts/gateway/entrance.ts @@ -1,10 +1,10 @@ import axios from 'axios'; import $ from 'jquery'; -import { initTooltip } from '../hwe/ts/common_legacy'; -import { TemplateEngine } from "../hwe/ts/util/TemplateEngine"; -import { InvalidResponse } from '../hwe/ts/defs'; -import { getDateTimeNow } from '../hwe/ts/util/getDateTimeNow'; -import { setAxiosXMLHttpRequest } from '../hwe/ts/util/setAxiosXMLHttpRequest'; +import { initTooltip } from '../common_legacy'; +import { TemplateEngine } from "../util/TemplateEngine"; +import { InvalidResponse } from '../defs'; +import { getDateTimeNow } from '../util/getDateTimeNow'; +import { setAxiosXMLHttpRequest } from '../util/setAxiosXMLHttpRequest'; import { loadPlugin as loadAdminPlugin } from './admin_server'; declare const isAdmin: boolean; diff --git a/ts/install.ts b/hwe/ts/gateway/install.ts similarity index 95% rename from ts/install.ts rename to hwe/ts/gateway/install.ts index b607ab1f..52322aa8 100644 --- a/ts/install.ts +++ b/hwe/ts/gateway/install.ts @@ -1,12 +1,12 @@ import $ from 'jquery'; import axios from 'axios'; -import { setAxiosXMLHttpRequest } from '../hwe/ts/util/setAxiosXMLHttpRequest'; -import { InvalidResponse } from '../hwe/ts/defs'; -import { JQValidateForm, NamedRules } from '../hwe/ts/util/jqValidateForm'; -import { convertFormData } from '../hwe/ts/util/convertFormData'; -import { unwrap_any } from '../hwe/ts/util/unwrap_any'; -import { mb_strwidth } from '../hwe/ts/util/mb_strwidth'; +import { setAxiosXMLHttpRequest } from '../util/setAxiosXMLHttpRequest'; +import { InvalidResponse } from '../defs'; +import { JQValidateForm, NamedRules } from '../util/jqValidateForm'; +import { convertFormData } from '../util/convertFormData'; +import { unwrap_any } from '../util/unwrap_any'; +import { mb_strwidth } from '../util/mb_strwidth'; import { isString } from 'lodash'; import { sha512 } from 'js-sha512'; diff --git a/ts/join.ts b/hwe/ts/gateway/join.ts similarity index 94% rename from ts/join.ts rename to hwe/ts/gateway/join.ts index 036923d3..17001d77 100644 --- a/ts/join.ts +++ b/hwe/ts/gateway/join.ts @@ -1,13 +1,13 @@ import $ from 'jquery'; import axios from 'axios'; -import { JQValidateForm, NamedRules } from '../hwe/ts/util/jqValidateForm'; -import { convertFormData } from '../hwe/ts/util/convertFormData'; -import { InvalidResponse } from '../hwe/ts/defs'; -import { setAxiosXMLHttpRequest } from '../hwe/ts/util/setAxiosXMLHttpRequest'; -import { unwrap_any } from '../hwe/ts/util//unwrap_any'; +import { JQValidateForm, NamedRules } from '../util/jqValidateForm'; +import { convertFormData } from '../util/convertFormData'; +import { InvalidResponse } from '../defs'; +import { setAxiosXMLHttpRequest } from '../util/setAxiosXMLHttpRequest'; +import { unwrap_any } from '../util/unwrap_any'; import { sha512 } from 'js-sha512'; import { isString } from 'lodash'; -import { mb_strwidth } from '../hwe/ts/util/mb_strwidth'; +import { mb_strwidth } from '../util/mb_strwidth'; $(async function () { setAxiosXMLHttpRequest(); diff --git a/ts/login.ts b/hwe/ts/gateway/login.ts similarity index 91% rename from ts/login.ts rename to hwe/ts/gateway/login.ts index 4bddb415..fd643d97 100644 --- a/ts/login.ts +++ b/hwe/ts/gateway/login.ts @@ -3,14 +3,14 @@ import 'popper.js'; import Popper from 'popper.js'; (window as unknown as {Popper:unknown}).Popper = Popper; import 'bootstrap'; -import { JQValidateForm, NamedRules } from '../hwe/ts/util/jqValidateForm'; +import { JQValidateForm, NamedRules } from '../util/jqValidateForm'; import axios from 'axios'; -import { convertFormData } from '../hwe/ts/util/convertFormData'; -import { setAxiosXMLHttpRequest } from '../hwe/ts/util/setAxiosXMLHttpRequest'; -import { unwrap_any } from '../hwe/ts/util/unwrap_any'; +import { convertFormData } from '../util/convertFormData'; +import { setAxiosXMLHttpRequest } from '../util/setAxiosXMLHttpRequest'; +import { unwrap_any } from '../util/unwrap_any'; import { sha512 } from 'js-sha512'; -import { unwrap } from '../hwe/ts/util/unwrap'; -import { InvalidResponse } from './defs'; +import { unwrap } from '../util/unwrap'; +import { InvalidResponse } from '../defs'; type LoginResponse = { diff --git a/ts/user_info.ts b/hwe/ts/gateway/user_info.ts similarity index 95% rename from ts/user_info.ts rename to hwe/ts/gateway/user_info.ts index 3a6e4171..0a4d98f0 100644 --- a/ts/user_info.ts +++ b/hwe/ts/gateway/user_info.ts @@ -1,18 +1,18 @@ -import { setAxiosXMLHttpRequest } from "../hwe/ts/util/setAxiosXMLHttpRequest"; +import { setAxiosXMLHttpRequest } from "../util/setAxiosXMLHttpRequest"; import $ from 'jquery'; import Popper from 'popper.js'; exportWindow(Popper, 'Popper');//XXX: 왜 popper를 이렇게 불러야 하는가? import 'bootstrap'; import axios from 'axios'; import { subDays } from 'date-fns'; -import { getDateTimeNow } from "../hwe/ts/util/getDateTimeNow"; +import { getDateTimeNow } from "../util/getDateTimeNow"; import { sha512 } from "js-sha512"; -import { convertFormData } from "../hwe/ts/util/convertFormData"; -import { InvalidResponse } from "../hwe/ts/defs"; -import { unwrap } from "../hwe/ts/util/unwrap"; -import { parseTime } from "../hwe/ts/util/parseTime"; -import { formatTime } from "../hwe/ts/util/formatTime"; -import { exportWindow } from "../hwe/ts/util/exportWindow"; +import { convertFormData } from "../util/convertFormData"; +import { InvalidResponse } from "../defs"; +import { unwrap } from "../util/unwrap"; +import { parseTime } from "../util/parseTime"; +import { formatTime } from "../util/formatTime"; +import { exportWindow } from "../util/exportWindow"; type ResultUserInfo = { result: true, diff --git a/package.json b/package.json index b6133b49..f2965ce3 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "buildDev": "webpack --mode=development", "watch": "webpack watch --mode=development", "watchProd": "webpack watch", - "lint": "eslint hwe/ts ts" + "lint": "eslint hwe/ts" }, "repository": { "type": "git", diff --git a/ts/common_deprecated.ts b/ts/common_deprecated.ts deleted file mode 100644 index afddebb9..00000000 --- a/ts/common_deprecated.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../hwe/ts/common_deprecated'; \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index ad2d2b36..40e3dead 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -45,9 +45,9 @@ /* Module Resolution Options */ "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + "baseUrl": "./hwe/ts", /* Base directory to resolve non-absolute module names. */ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - "rootDirs": ["./ts", "./hwe/ts"], /* List of root folders whose combined content represents the structure of the project at runtime. */ + //"rootDirs": [] /* List of root folders whose combined content represents the structure of the project at runtime. */ //"typeRoots": ["./typings"], /* List of folders to include type definitions from. */ //"types": ["ts/common_path.d.ts"], /* Type declaration files to be included in compilation. */ // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ diff --git a/webpack.config.cjs b/webpack.config.cjs index d17e5779..2b277dba 100644 --- a/webpack.config.cjs +++ b/webpack.config.cjs @@ -113,17 +113,20 @@ module.exports = (env, argv) => { const gateway = { name: 'gateway', resolve: { - extensions: [".js", ".ts", ".tsx"] + extensions: [".js", ".ts", ".tsx"], + alias: { + '@': resolve(__dirname, `${target}/ts/gateway`) + } }, mode, entry: { - 'common': './ts/common_deprecated.ts', - 'entrance': './ts/entrance.ts', - 'user_info': './ts/user_info.ts', - 'admin_member': './ts/admin_member.ts', - 'join': './ts/join.ts', - 'login': './ts/login.ts', - 'install': './ts/install.ts', + 'common': '@/common_deprecated.ts', + 'entrance': '@/entrance.ts', + 'user_info': '@/user_info.ts', + 'admin_member': '@/admin_member.ts', + 'join': '@/join.ts', + 'login': '@/login.ts', + 'install': '@/install.ts', }, output: { filename: '[name].js',