Showing
30 changed files
with
442 additions
and
4 deletions
.idea/check-your-instagram.iml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<module type="JAVA_MODULE" version="4"> | ||
3 | + <component name="FacetManager"> | ||
4 | + <facet type="Python" name="Python"> | ||
5 | + <configuration sdkName="" /> | ||
6 | + </facet> | ||
7 | + </component> | ||
8 | + <component name="NewModuleRootManager" inherit-compiler-output="true"> | ||
9 | + <exclude-output /> | ||
10 | + <content url="file://$MODULE_DIR$"> | ||
11 | + <excludeFolder url="file://$MODULE_DIR$/venv" /> | ||
12 | + <excludeFolder url="file://$MODULE_DIR$/venv3" /> | ||
13 | + </content> | ||
14 | + <orderEntry type="jdk" jdkName="Python 3.7 (check-your-instagram)" jdkType="Python SDK" /> | ||
15 | + <orderEntry type="sourceFolder" forTests="false" /> | ||
16 | + </component> | ||
17 | +</module> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/deployment.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<project version="4"> | ||
3 | + <component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false"> | ||
4 | + <serverData> | ||
5 | + <paths name="ubuntu@52.197.199.6:22"> | ||
6 | + <serverdata> | ||
7 | + <mappings> | ||
8 | + <mapping local="$PROJECT_DIR$" web="/" /> | ||
9 | + </mappings> | ||
10 | + </serverdata> | ||
11 | + </paths> | ||
12 | + <paths name="ubuntu@54.199.111.206:22"> | ||
13 | + <serverdata> | ||
14 | + <mappings> | ||
15 | + <mapping local="$PROJECT_DIR$" web="/" /> | ||
16 | + </mappings> | ||
17 | + </serverdata> | ||
18 | + </paths> | ||
19 | + <paths name="ubuntu@54.248.71.175:22"> | ||
20 | + <serverdata> | ||
21 | + <mappings> | ||
22 | + <mapping local="$PROJECT_DIR$" web="/" /> | ||
23 | + </mappings> | ||
24 | + </serverdata> | ||
25 | + </paths> | ||
26 | + </serverData> | ||
27 | + </component> | ||
28 | +</project> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/inspectionProfiles/Project_Default.xml
0 → 100644
1 | +<component name="InspectionProjectProfileManager"> | ||
2 | + <profile version="1.0"> | ||
3 | + <option name="myName" value="Project Default" /> | ||
4 | + <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" /> | ||
5 | + <inspection_tool class="TsLint" enabled="true" level="WARNING" enabled_by_default="true" /> | ||
6 | + </profile> | ||
7 | +</component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/misc.xml
0 → 100644
app/.eslintignore
0 → 100644
app/.eslintrc.json
0 → 100644
app/.prettierrc.js
0 → 100644
1 | # Front end | 1 | # Front end |
2 | + | ||
3 | +typescript만으로 작성 | ||
4 | + | ||
5 | +### 프로젝트 생성 | ||
6 | +```shell | ||
7 | +npx gts init | ||
8 | +``` | ||
9 | + | ||
10 | +# 개발 | ||
11 | + | ||
12 | +### 프론트 서버 띄우기 | ||
13 | +```shell | ||
14 | +npm run build | ||
15 | +npm run start | ||
16 | +``` | ||
17 | + | ||
18 | +`npm run start`만 진행할 시 수정사항이 적용되지 않음 | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | +export declare const Bye: () => void; | ... | ... |
1 | +import './assets/style/App.css'; | ... | ... |
app/gulpfile.js
0 → 100644
1 | + | ||
2 | +const gulp = require('gulp'); | ||
3 | +const browserify = require('browserify'); | ||
4 | +const watchify = require('watchify'); | ||
5 | +const errorify = require('errorify'); | ||
6 | +const del = require('del'); | ||
7 | +const tsify = require('tsify'); | ||
8 | +const source = require('vinyl-source-stream'); | ||
9 | +const buffer = require('vinyl-buffer'); | ||
10 | +const runSequence = require('run-sequence'); | ||
11 | +const uglify = require('gulp-uglify'); | ||
12 | + | ||
13 | +gulp.task('clean', () => { | ||
14 | + return del('./built/**/*') | ||
15 | +}); | ||
16 | + | ||
17 | +gulp.task('prod', () => { | ||
18 | + browserify({ | ||
19 | + basedir: '.', | ||
20 | + debug: true, | ||
21 | + entries: ['src'], | ||
22 | + cache: {}, | ||
23 | + packageCache: {} | ||
24 | + }) | ||
25 | + .plugin(tsify) | ||
26 | + .bundle() | ||
27 | + .pipe(source('bundle.js')) | ||
28 | + .pipe(buffer()) | ||
29 | + .pipe(uglify()) | ||
30 | + .pipe(gulp.dest('built')); | ||
31 | +}); | ||
32 | + | ||
33 | +gulp.task('dev', () => { | ||
34 | + browserify({ | ||
35 | + basedir: '.', | ||
36 | + debug: true, | ||
37 | + entries: ['src'], | ||
38 | + cache: {}, | ||
39 | + packageCache: {} | ||
40 | + }) | ||
41 | + .plugin(tsify) | ||
42 | + .plugin(watchify) | ||
43 | + .plugin(errorify) | ||
44 | + .bundle() | ||
45 | + .pipe(source('bundle.js')) | ||
46 | + .pipe(gulp.dest('built')); | ||
47 | +}); | ||
48 | + | ||
49 | +gulp.task('default', (done) => { | ||
50 | + runSequence('clean', 'dev', () => { | ||
51 | + console.log('Watching...') | ||
52 | + gulp.watch(['src/**/*.ts'], | ||
53 | + ['dev']); | ||
54 | + }); | ||
55 | +}); | ||
56 | + | ||
57 | +gulp.task('package', (done) => { | ||
58 | + runSequence('clean', 'prod', () => { | ||
59 | + console.log('Watching...') | ||
60 | + gulp.watch(['src/**/*.ts'], | ||
61 | + ['prod']); | ||
62 | + }); | ||
63 | +}); |
app/index.html
0 → 100644
app/package.json
0 → 100644
1 | +{ | ||
2 | + "name": "", | ||
3 | + "version": "0.0.0", | ||
4 | + "description": "", | ||
5 | + "main": "build/src/index.js", | ||
6 | + "types": "build/src/index.d.ts", | ||
7 | + "files": [ | ||
8 | + "build/src" | ||
9 | + ], | ||
10 | + "license": "Apache-2.0", | ||
11 | + "keywords": [], | ||
12 | + "scripts": { | ||
13 | + "test": "echo \"Error: no test specified\" && exit 1", | ||
14 | + "lint": "gts lint", | ||
15 | + "clean": "gts clean", | ||
16 | + "fix": "gts fix", | ||
17 | + "prepare": "npm.cmd run compile", | ||
18 | + "pretest": "npm.cmd run compile", | ||
19 | + "posttest": "npm.cmd run lint", | ||
20 | + "compile": "tsc -w", | ||
21 | + "build": "webpack --watch", | ||
22 | + "start": "webpack serve --open" | ||
23 | + }, | ||
24 | + "devDependencies": { | ||
25 | + "@types/node": "^14.11.2", | ||
26 | + "css-loader": "^5.1.1", | ||
27 | + "file-loader": "^6.2.0", | ||
28 | + "gts": "^3.1.0", | ||
29 | + "style-loader": "^2.0.0", | ||
30 | + "ts-loader": "^8.0.17", | ||
31 | + "typescript": "^4.0.3", | ||
32 | + "webpack": "^5.24.3", | ||
33 | + "webpack-cli": "^4.5.0", | ||
34 | + "webpack-dev-server": "^3.11.2" | ||
35 | + } | ||
36 | +} |
... | @@ -8,6 +8,155 @@ | ... | @@ -8,6 +8,155 @@ |
8 | */ | 8 | */ |
9 | /******/ (() => { // webpackBootstrap | 9 | /******/ (() => { // webpackBootstrap |
10 | /******/ "use strict"; | 10 | /******/ "use strict"; |
11 | -var __webpack_exports__ = {}; | 11 | +/******/ var __webpack_modules__ = ({ |
12 | + | ||
13 | +/***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/style/App.css": | ||
14 | +/*!************************************************************************!*\ | ||
15 | + !*** ./node_modules/css-loader/dist/cjs.js!./src/assets/style/App.css ***! | ||
16 | + \************************************************************************/ | ||
17 | +/***/ ((module, __webpack_exports__, __webpack_require__) => { | ||
18 | + | ||
19 | +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"body{\\r\\n background-color: beige;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./src/assets/style/App.css?./node_modules/css-loader/dist/cjs.js"); | ||
20 | + | ||
21 | +/***/ }), | ||
22 | + | ||
23 | +/***/ "./node_modules/css-loader/dist/runtime/api.js": | ||
24 | +/*!*****************************************************!*\ | ||
25 | + !*** ./node_modules/css-loader/dist/runtime/api.js ***! | ||
26 | + \*****************************************************/ | ||
27 | +/***/ ((module) => { | ||
28 | + | ||
29 | +eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n//# sourceURL=webpack:///./node_modules/css-loader/dist/runtime/api.js?"); | ||
30 | + | ||
31 | +/***/ }), | ||
32 | + | ||
33 | +/***/ "./src/assets/image/v4Logo.png": | ||
34 | +/*!*************************************!*\ | ||
35 | + !*** ./src/assets/image/v4Logo.png ***! | ||
36 | + \*************************************/ | ||
37 | +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { | ||
38 | + | ||
39 | +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + \"images/v4Logo.png\");\n\n//# sourceURL=webpack:///./src/assets/image/v4Logo.png?"); | ||
40 | + | ||
41 | +/***/ }), | ||
42 | + | ||
43 | +/***/ "./src/assets/style/App.css": | ||
44 | +/*!**********************************!*\ | ||
45 | + !*** ./src/assets/style/App.css ***! | ||
46 | + \**********************************/ | ||
47 | +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { | ||
48 | + | ||
49 | +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../node_modules/css-loader/dist/cjs.js!./App.css */ \"./node_modules/css-loader/dist/cjs.js!./src/assets/style/App.css\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_1__.default, options);\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_1__.default.locals || {});\n\n//# sourceURL=webpack:///./src/assets/style/App.css?"); | ||
50 | + | ||
51 | +/***/ }), | ||
52 | + | ||
53 | +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": | ||
54 | +/*!****************************************************************************!*\ | ||
55 | + !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! | ||
56 | + \****************************************************************************/ | ||
57 | +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { | ||
58 | + | ||
59 | +eval("\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n//# sourceURL=webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js?"); | ||
60 | + | ||
61 | +/***/ }), | ||
62 | + | ||
63 | +/***/ "./src/Bye.ts": | ||
64 | +/*!********************!*\ | ||
65 | + !*** ./src/Bye.ts ***! | ||
66 | + \********************/ | ||
67 | +/***/ ((__unused_webpack_module, exports) => { | ||
68 | + | ||
69 | +eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.Bye = void 0;\r\nconst Bye = () => console.log('Bye!');\r\nexports.Bye = Bye;\r\n\n\n//# sourceURL=webpack:///./src/Bye.ts?"); | ||
70 | + | ||
71 | +/***/ }), | ||
72 | + | ||
73 | +/***/ "./src/index.ts": | ||
74 | +/*!**********************!*\ | ||
75 | + !*** ./src/index.ts ***! | ||
76 | + \**********************/ | ||
77 | +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { | ||
78 | + | ||
79 | +eval("\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst Bye_1 = __webpack_require__(/*! ./Bye */ \"./src/Bye.ts\");\r\n__webpack_require__(/*! ./assets/style/App.css */ \"./src/assets/style/App.css\");\r\nconst v4Logo_png_1 = __importDefault(__webpack_require__(/*! ./assets/image/v4Logo.png */ \"./src/assets/image/v4Logo.png\"));\r\nconst hi = 'hchoi won';\r\nconst hi1 = () => {\r\n console.log(hi);\r\n Bye_1.Bye();\r\n const tag = window.document.querySelector('#App');\r\n if (tag) {\r\n tag.innerHTML = `<img src=${v4Logo_png_1.default} alt=\"image\" />`;\r\n }\r\n};\r\nhi1();\r\n\n\n//# sourceURL=webpack:///./src/index.ts?"); | ||
80 | + | ||
81 | +/***/ }) | ||
82 | + | ||
83 | +/******/ }); | ||
84 | +/************************************************************************/ | ||
85 | +/******/ // The module cache | ||
86 | +/******/ var __webpack_module_cache__ = {}; | ||
87 | +/******/ | ||
88 | +/******/ // The require function | ||
89 | +/******/ function __webpack_require__(moduleId) { | ||
90 | +/******/ // Check if module is in cache | ||
91 | +/******/ if(__webpack_module_cache__[moduleId]) { | ||
92 | +/******/ return __webpack_module_cache__[moduleId].exports; | ||
93 | +/******/ } | ||
94 | +/******/ // Create a new module (and put it into the cache) | ||
95 | +/******/ var module = __webpack_module_cache__[moduleId] = { | ||
96 | +/******/ id: moduleId, | ||
97 | +/******/ // no module.loaded needed | ||
98 | +/******/ exports: {} | ||
99 | +/******/ }; | ||
100 | +/******/ | ||
101 | +/******/ // Execute the module function | ||
102 | +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
103 | +/******/ | ||
104 | +/******/ // Return the exports of the module | ||
105 | +/******/ return module.exports; | ||
106 | +/******/ } | ||
107 | +/******/ | ||
108 | +/************************************************************************/ | ||
109 | +/******/ /* webpack/runtime/compat get default export */ | ||
110 | +/******/ (() => { | ||
111 | +/******/ // getDefaultExport function for compatibility with non-harmony modules | ||
112 | +/******/ __webpack_require__.n = (module) => { | ||
113 | +/******/ var getter = module && module.__esModule ? | ||
114 | +/******/ () => (module['default']) : | ||
115 | +/******/ () => (module); | ||
116 | +/******/ __webpack_require__.d(getter, { a: getter }); | ||
117 | +/******/ return getter; | ||
118 | +/******/ }; | ||
119 | +/******/ })(); | ||
120 | +/******/ | ||
121 | +/******/ /* webpack/runtime/define property getters */ | ||
122 | +/******/ (() => { | ||
123 | +/******/ // define getter functions for harmony exports | ||
124 | +/******/ __webpack_require__.d = (exports, definition) => { | ||
125 | +/******/ for(var key in definition) { | ||
126 | +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { | ||
127 | +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); | ||
128 | +/******/ } | ||
129 | +/******/ } | ||
130 | +/******/ }; | ||
131 | +/******/ })(); | ||
132 | +/******/ | ||
133 | +/******/ /* webpack/runtime/hasOwnProperty shorthand */ | ||
134 | +/******/ (() => { | ||
135 | +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) | ||
136 | +/******/ })(); | ||
137 | +/******/ | ||
138 | +/******/ /* webpack/runtime/make namespace object */ | ||
139 | +/******/ (() => { | ||
140 | +/******/ // define __esModule on exports | ||
141 | +/******/ __webpack_require__.r = (exports) => { | ||
142 | +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
143 | +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
144 | +/******/ } | ||
145 | +/******/ Object.defineProperty(exports, '__esModule', { value: true }); | ||
146 | +/******/ }; | ||
147 | +/******/ })(); | ||
148 | +/******/ | ||
149 | +/******/ /* webpack/runtime/publicPath */ | ||
150 | +/******/ (() => { | ||
151 | +/******/ __webpack_require__.p = "/app"; | ||
152 | +/******/ })(); | ||
153 | +/******/ | ||
154 | +/************************************************************************/ | ||
155 | +/******/ | ||
156 | +/******/ // startup | ||
157 | +/******/ // Load entry module and return exports | ||
158 | +/******/ // This entry module is referenced by other modules so it can't be inlined | ||
159 | +/******/ var __webpack_exports__ = __webpack_require__("./src/index.ts"); | ||
160 | +/******/ | ||
12 | /******/ })() | 161 | /******/ })() |
13 | ; | 162 | ; |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
app/src/Bye.ts
0 → 100644
1 | +export const Bye = () => console.log('Bye!'); |
app/src/assets/image/v4Logo.png
0 → 100644
11.1 KB
app/src/assets/style/App.css
0 → 100644
app/src/image-png.d.ts
0 → 100644
1 | +declare module '*.png'; |
app/src/index.ts
0 → 100644
1 | +import {Bye} from './Bye'; | ||
2 | +import './assets/style/App.css'; | ||
3 | +import v4 from './assets/image/v4Logo.png'; | ||
4 | + | ||
5 | +const hi = 'hchoi won'; | ||
6 | + | ||
7 | +const hi1 = () => { | ||
8 | + console.log(hi); | ||
9 | + Bye(); | ||
10 | + | ||
11 | + const tag = window.document.querySelector('#App'); | ||
12 | + | ||
13 | + if(tag) { | ||
14 | + tag.innerHTML = `<img src=${v4} alt="image" />`; | ||
15 | + } | ||
16 | +}; | ||
17 | + | ||
18 | +hi1(); | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/tsconfig.json
0 → 100644
1 | +{ | ||
2 | + "extends": "./node_modules/gts/tsconfig-google.json", | ||
3 | + "compilerOptions": { | ||
4 | + "lib": ["es5", "es6", "dom"], | ||
5 | + "rootDir": ".", | ||
6 | + "outDir": "build", | ||
7 | + "target": "es6", | ||
8 | + "module": "commonjs", | ||
9 | + "strict": true, | ||
10 | + "removeComments": true, | ||
11 | + "esModuleInterop": true | ||
12 | + }, | ||
13 | + "include": [ | ||
14 | + "src/**/*.ts" | ||
15 | + ], | ||
16 | +} |
app/webpack.config.js
0 → 100644
1 | +const path = require('path') | ||
2 | + | ||
3 | +module.exports = { | ||
4 | + mode : 'development', | ||
5 | + entry : { | ||
6 | + // main : './build/src/index.js' | ||
7 | + main : './src/index.ts' | ||
8 | + }, | ||
9 | + module : { | ||
10 | + rules : [ | ||
11 | + { | ||
12 | + test: /\.tsx?$/, | ||
13 | + use: "ts-loader", | ||
14 | + exclude: /node_modules/, | ||
15 | + }, | ||
16 | + { | ||
17 | + test : /\.css$/, | ||
18 | + use: ['style-loader', 'css-loader'], | ||
19 | + }, | ||
20 | + { | ||
21 | + test: /\.(png|jpe?g|gif|jp2|webp)$/, | ||
22 | + loader: 'file-loader', | ||
23 | + options: { | ||
24 | + name: 'images/[name].[ext]' | ||
25 | + }, | ||
26 | + } | ||
27 | + ] | ||
28 | + }, | ||
29 | + resolve : { | ||
30 | + extensions: [".tsx", ".ts", ".js"], | ||
31 | + }, | ||
32 | + output : { | ||
33 | + publicPath: '/app', | ||
34 | + path: path.resolve('./public'), | ||
35 | + filename: '[name].js', | ||
36 | + }, | ||
37 | + devServer : { | ||
38 | + port : 3000, | ||
39 | + hot: true, | ||
40 | + contentBase: __dirname, | ||
41 | + inline: true, | ||
42 | + watchOptions: { | ||
43 | + poll: true | ||
44 | + } | ||
45 | + } | ||
46 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
config/__pycache__/URLs.cpython-39.pyc
0 → 100644
No preview for this file type
config/__pycache__/__init__.cpython-39.pyc
0 → 100644
No preview for this file type
config/__pycache__/admin.cpython-39.pyc
0 → 100644
No preview for this file type
config/__pycache__/firebase.cpython-39.pyc
0 → 100644
No preview for this file type
crawler/__init__.pyc
0 → 100644
No preview for this file type
crawler/__pycache__/__init__.cpython-39.pyc
0 → 100644
No preview for this file type
No preview for this file type
1 | import os | 1 | import os |
2 | -from flask import Flask, render_template, request, jsonify | 2 | +from flask import Flask, render_template, request, jsonify, send_from_directory |
3 | 3 | ||
4 | from crawler.crawler_instagram import crawler_instagram | 4 | from crawler.crawler_instagram import crawler_instagram |
5 | 5 | ||
... | @@ -13,7 +13,8 @@ def page_not_found(): | ... | @@ -13,7 +13,8 @@ def page_not_found(): |
13 | 13 | ||
14 | @app.route("/") | 14 | @app.route("/") |
15 | def home(): | 15 | def home(): |
16 | - return render_template('index.html') | 16 | + # return render_template('index.html') |
17 | + return send_from_directory('./app','index.html') | ||
17 | 18 | ||
18 | 19 | ||
19 | @app.route("/update", methods=["GET"]) | 20 | @app.route("/update", methods=["GET"]) | ... | ... |
-
Please register or login to post a comment