Skip to content
This repository was archived by the owner on Apr 9, 2019. It is now read-only.

Commit 32af264

Browse files
committed
SET FUCKING UP FUCKING WEBPACK AND BABEL
1 parent 5f2df51 commit 32af264

11 files changed

Lines changed: 7091 additions & 0 deletions

File tree

.babelrc

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"presets": [
3+
[
4+
"@babel/preset-env",
5+
{
6+
"modules": false,
7+
"targets": {
8+
"browsers": [
9+
"last 2 versions",
10+
"ie >= 11",
11+
"safari >= 10"
12+
]
13+
}
14+
}
15+
],
16+
"@babel/react"
17+
],
18+
"plugins": [
19+
[
20+
"lodash",
21+
{
22+
"id": [
23+
"lodash",
24+
"semantic-ui-react"
25+
]
26+
},
27+
"react-hot-loader/babel"
28+
]
29+
],
30+
"env": {
31+
"development": {
32+
"plugins": [
33+
"react-hot-loader/babel"
34+
]
35+
},
36+
"production": {
37+
"plugins": [
38+
"transform-react-remove-prop-types"
39+
]
40+
}
41+
}
42+
}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,5 @@ typings/
5959

6060
# next.js build output
6161
.next
62+
63+
dist/

package.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"name": "linqable.doc",
3+
"version": "1.7.14-beta",
4+
"description": "Linqable repository documentation site",
5+
"main": "./dist/app.js",
6+
"repository": "https://github.com/0xF6/linqable.doc.git",
7+
"author": "Yuuki Wesp",
8+
"license": "MIT",
9+
"private": false,
10+
"devDependencies": {
11+
"@babel/core": "^7.0.0-beta.53",
12+
"@babel/plugin-proposal-class-properties": "^7.0.0-beta.53",
13+
"@babel/plugin-proposal-export-default-from": "^7.0.0-beta.53",
14+
"@babel/plugin-syntax-decorators": "^7.0.0-beta.53",
15+
"@babel/plugin-syntax-jsx": "^7.0.0-beta.53",
16+
"@babel/plugin-syntax-typescript": "^7.0.0-beta.53",
17+
"@babel/preset-env": "^7.0.0-beta.53",
18+
"@babel/preset-react": "^7.0.0-beta.53",
19+
"@types/node": "^10.5.2",
20+
"@types/react": "^16.4.6",
21+
"@types/react-dom": "^16.0.6",
22+
"@types/react-hot-loader": "^4.1.0",
23+
"@types/react-redux": "^6.0.4",
24+
"autoprefixer": "^8.6.5",
25+
"ava": "^1.0.0-beta.6",
26+
"awesome-typescript-loader": "^5.2.0",
27+
"babel-loader": "^8.0.0-beta.4",
28+
"babel-plugin-lodash": "^3.3.4",
29+
"babel-plugin-transform-react-remove-prop-types": "^0.4.13",
30+
"babel-preset-env": "^7.0.0-beta.3",
31+
"babel-preset-react": "^7.0.0-beta.3",
32+
"babel-preset-stage-2": "^7.0.0-beta.3",
33+
"case-sensitive-paths-webpack-plugin": "^2.1.2",
34+
"css-loader": "^1.0.0",
35+
"file-loader": "^1.1.11",
36+
"postcss-loader": "^2.1.6",
37+
"react-hot-loader": "^4.3.3",
38+
"source-map-loader": "^0.2.3",
39+
"style-loader": "^0.21.0",
40+
"typescript": "^2.9.2",
41+
"webpack": "^4.16.0",
42+
"webpack-cli": "^3.0.8",
43+
"webpack-dev-server": "^3.1.4"
44+
},
45+
"dependencies": {
46+
"react": "^16.4.1",
47+
"react-dom": "^16.4.1",
48+
"react-redux": "^5.0.7",
49+
"redux": "^4.0.0",
50+
"semantic-ui-css": "^2.3.3",
51+
"semantic-ui-react": "^0.82.0"
52+
},
53+
"scripts": {
54+
"build": "webpack",
55+
"watch": "webpack-dev-server --hot"
56+
}
57+
}

public/index.html

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="UTF-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
7+
<title>Linqable.ts</title>
8+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.1/semantic.min.css">
9+
</head>
10+
11+
<body class="dimmed dimmable">
12+
<noscript>
13+
&lt;div class="nojs-message"&gt; Please enable JavaScript in your browser to access Site Linq Docs. &lt;/div&gt;
14+
</noscript>
15+
<div id="docs-loading-dimmer" class="ui active page dimmer">
16+
<div class="content">
17+
<div class="center">
18+
<div class="ui large text loader">
19+
<div class="ui inverted red header">
20+
Loading docs...
21+
<div class="sub header">
22+
Linqable v1.7.14
23+
</div>
24+
</div>
25+
</div>
26+
</div>
27+
</div>
28+
</div>
29+
<div id="root"></div>
30+
<script>
31+
(function () {
32+
var delay = 1500
33+
var dimmer = document.querySelector('#docs-loading-dimmer')
34+
dimmer.style.pointerEvents = 'none'
35+
dimmer.style.transition = 'opacity ' + delay + 'ms linear'
36+
function removeDimmer() {
37+
dimmer.style.opacity = '0'
38+
setTimeout(function () {
39+
var dimmer = document.querySelector('#docs-loading-dimmer')
40+
document.body.removeChild(dimmer)
41+
document.body.setAttribute("class", "")
42+
window.removeEventListener('load', removeDimmer)
43+
}, delay)
44+
}
45+
window.addEventListener('load', removeDimmer)
46+
}())
47+
</script>
48+
<script src="https://cdn.jsdelivr.net/npm/react@16.4.1/umd/react.production.min.js" integrity="sha256-r6coyN0DEl/vyKMiiB9+AjqSKO8XTdGOFjlAhSnsqxM="
49+
crossorigin="anonymous"></script>
50+
<script src="https://cdn.jsdelivr.net/npm/react-dom@16.4.1/umd/react-dom.production.min.js" integrity="sha256-y7o/b35Jyjb19wJ//GUjm84bLl+YlmDGmnwpgZvzN+4="
51+
crossorigin="anonymous"></script>
52+
<script src="./../dist/app.js"></script>
53+
<style>
54+
body {
55+
background: #DADADA;
56+
font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
57+
}
58+
59+
html,
60+
body {
61+
height: 100%;
62+
}
63+
</style>
64+
65+
</html>

src/app.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { Component } from 'react';
2+
import * as React from 'react';
3+
import { AppContainer } from 'react-hot-loader';
4+
import 'semantic-ui-css/semantic.min.css';
5+
import LinqApp from './components/Linq.app';
6+
7+
8+
export default class App extends Component {
9+
render() {
10+
return (<AppContainer>
11+
<LinqApp />
12+
</AppContainer>)
13+
}
14+
}

src/components/Linq.app.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import * as React from 'react';
2+
import { Grid } from 'semantic-ui-react';
3+
import Sidemenu from './sidemenu';
4+
5+
6+
export default () => (
7+
<div>
8+
<Sidemenu />
9+
<Grid centered textAlign="center" >
10+
11+
<Grid.Column width="5">
12+
<div>test</div>
13+
</Grid.Column>
14+
</Grid >
15+
</div>
16+
);

src/components/sidemenu.tsx

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { Component } from 'react';
2+
import * as React from 'react';
3+
import { Icon, Menu, Segment, Sidebar } from 'semantic-ui-react';
4+
5+
export default class Sidemenu extends Component {
6+
state = { visible: false }
7+
8+
handleSidebarHide = () => this.setState({ visible: false });
9+
10+
render() {
11+
const { visible } = this.state
12+
13+
return (
14+
<div>
15+
<Sidebar.Pushable as={Segment}>
16+
<Sidebar
17+
as={Menu}
18+
animation='overlay'
19+
icon='labeled'
20+
inverted
21+
onHide={this.handleSidebarHide}
22+
vertical
23+
visible={visible}
24+
width='thin'>
25+
<Menu.Item as='a'>
26+
<Icon name='github' />
27+
Github
28+
</Menu.Item>
29+
<Menu.Item as='a'>
30+
<Icon name='file' />
31+
Docs
32+
</Menu.Item>
33+
<Menu.Item as='a'>
34+
<Icon name='npm' />
35+
NPM
36+
</Menu.Item>
37+
</Sidebar>
38+
</Sidebar.Pushable>
39+
</div>
40+
)
41+
}
42+
43+
}

src/index.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import App from "./app";
2+
import * as ReactDOM from "react-dom";
3+
import * as React from "react";
4+
5+
ReactDOM.render(
6+
<App />,
7+
document.getElementById('root') as HTMLElement
8+
);

tsconfig.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"compilerOptions": {
3+
"baseUrl": ".",
4+
"outDir": "dist",
5+
"module": "commonjs",
6+
"target": "es6",
7+
"lib": [
8+
"es6",
9+
"dom"
10+
],
11+
"sourceMap": true,
12+
"allowJs": true,
13+
"jsx": "react",
14+
"moduleResolution": "node"
15+
},
16+
"include": [
17+
"./src/**/*"
18+
],
19+
"exclude": [
20+
"node_modules",
21+
"dist",
22+
"public"
23+
]
24+
}

webpack.config.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
module.exports = {
2+
entry: "./src/index.tsx",
3+
mode: "development",
4+
output: {
5+
filename: "app.js",
6+
path: __dirname + "/dist"
7+
},
8+
devtool: "source-map",
9+
resolve: {
10+
extensions: [".ts", ".tsx", ".js", ".json", ".css"]
11+
},
12+
module: {
13+
rules: [
14+
{
15+
test: /\.tsx?$/,
16+
loader: 'babel-loader',
17+
options: {
18+
plugins: [
19+
'@babel/plugin-syntax-typescript',
20+
'@babel/plugin-syntax-jsx',
21+
'react-hot-loader/babel',
22+
]
23+
},
24+
},
25+
{ test: /\.tsx?$/, loader: "awesome-typescript-loader" },
26+
{ enforce: "pre", test: /\.js$/, loader: "source-map-loader" },
27+
{ test: /\.css$/, include: /node_modules/, loader: 'style-loader!css-loader' },
28+
{
29+
test: /\.(png|jpg|jpeg|gif|svg|woff|woff2|ttf|eot)$/,
30+
loader: 'file-loader'
31+
}
32+
]
33+
},
34+
externals: {
35+
"react": "React",
36+
"react-dom": "ReactDOM"
37+
},
38+
devServer: {
39+
contentBase: './dist'
40+
}
41+
};

0 commit comments

Comments
 (0)