최원석3 [goesnow]

add webpack

......@@ -4,9 +4,10 @@ node_modules
crawler/chromedriver
crawler/chromedriver.exe
**/*.exe
package-lock.json
app/**/*.map
app/**/*.js
app/build/*.map
app/build/*.js
build
key.py
......
build/
gulpfile.js
gulp.js
webpack.config.js
......
module.exports = {
...require('gts/.prettierrc.json')
}
const gulp = require('gulp');
const browserify = require('browserify');
const watchify = require('watchify');
const errorify = require('errorify');
const del = require('del');
const tsify = require('tsify');
const source = require('vinyl-source-stream');
const buffer = require('vinyl-buffer');
const runSequence = require('run-sequence');
const uglify = require('gulp-uglify');
gulp.task('clean', () => {
return del('./built/**/*')
});
gulp.task('prod', () => {
browserify({
basedir: '.',
debug: true,
entries: ['src'],
cache: {},
packageCache: {}
})
.plugin(tsify)
.bundle()
.pipe(source('bundle.js'))
.pipe(buffer())
.pipe(uglify())
.pipe(gulp.dest('built'));
});
gulp.task('dev', () => {
browserify({
basedir: '.',
debug: true,
entries: ['src'],
cache: {},
packageCache: {}
})
.plugin(tsify)
.plugin(watchify)
.plugin(errorify)
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('built'));
});
gulp.task('default', (done) => {
runSequence('clean', 'dev', () => {
console.log('Watching...')
gulp.watch(['src/**/*.ts'],
['dev']);
});
});
gulp.task('package', (done) => {
runSequence('clean', 'prod', () => {
console.log('Watching...')
gulp.watch(['src/**/*.ts'],
['prod']);
});
});
......@@ -6,7 +6,6 @@
</head>
<body>
<div id="App"></div>
<script>var exports = {};</script>
<script src="build/src/index.js" ></script>
<script type="module" src="build/dist/main.js" ></script>
</body>
</html>
\ No newline at end of file
......
This diff could not be displayed because it is too large.
......@@ -18,12 +18,17 @@
"prepare": "npm.cmd run compile",
"pretest": "npm.cmd run compile",
"posttest": "npm.cmd run lint",
"build": "tsc --build",
"dev": "tsc -w"
"build": "webpack --watch",
"dev": "tsc -w",
"start": "http-server ./",
"hot": "webpack serve --open"
},
"devDependencies": {
"@types/node": "^14.11.2",
"gts": "^3.1.0",
"typescript": "^4.0.3"
"typescript": "^4.0.3",
"webpack": "^5.24.3",
"webpack-cli": "^4.5.0",
"webpack-dev-server": "^3.11.2"
}
}
......
export const Bye = () => console.log('Bye!');
const hi = 'hi';
import {Bye} from './Bye';
export const hi1 = () => {
const hi = 'hello?';
const hi1 = () => {
console.log(hi);
Bye();
};
hi1();
\ No newline at end of file
......
......@@ -2,10 +2,14 @@
"extends": "./node_modules/gts/tsconfig-google.json",
"compilerOptions": {
"rootDir": ".",
"outDir": "build"
"outDir": "build",
"target": "es6",
"module": "commonjs",
"strict": true,
"removeComments": true,
"esModuleInterop": true
},
"include": [
"src/**/*.ts",
"test/**/*.ts"
"src/**/*.ts"
]
}
......
const path = require('path')
module.exports = {
mode : 'development',
entry : {
main : './build/src/index.js'
},
output : {
publicPath: '/app/build/dist',
path: path.resolve('./build/dist'),
filename: '[name].js',
},
devServer : {
port : 3000,
hot: true,
contentBase: ['./build','./src'],
inline: true,
watchOptions: {
poll: true
}
}
}
\ No newline at end of file