Skip to content

Commit 20f6f4b

Browse files
Add build step for FE resources
1 parent 1e32aaf commit 20f6f4b

File tree

11 files changed

+4478
-0
lines changed

11 files changed

+4478
-0
lines changed

package-lock.json

Lines changed: 2120 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scala3doc/resources/.prettierrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"printWidth": 100,
3+
"tabWidth": 2,
4+
"semi": true,
5+
"singleQuote": true,
6+
"trailingComma": "all",
7+
"bracketSpacing": true,
8+
"arrowParens": "avoid"
9+
}

scala3doc/resources/dotty_res/scripts/bundle.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scala3doc/resources/dotty_res/styles/main.css

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scala3doc/resources/package-lock.json

Lines changed: 2247 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scala3doc/resources/package.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"name": "scala3doc-frontend",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1",
8+
"build": "webpack",
9+
"dev": "concurrently \"http-server ../output\" \"webpack --watch\""
10+
},
11+
"author": "",
12+
"license": "ISC",
13+
"devDependencies": {
14+
"concurrently": "^5.3.0",
15+
"css-loader": "^5.0.0",
16+
"http-server": "^0.12.3",
17+
"mini-css-extract-plugin": "^1.2.1",
18+
"sass": "^1.28.0",
19+
"sass-loader": "^10.0.5",
20+
"ts-loader": "^8.0.8",
21+
"typescript": "^4.0.5",
22+
"webpack": "^5.4.0",
23+
"webpack-cli": "^4.1.0"
24+
}
25+
}

scala3doc/resources/src/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import './style.scss';
2+
3+
console.log('Hello');

scala3doc/resources/src/style.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
$body-color: tomato;
2+
3+
body {
4+
color: $body-color;
5+
}

scala3doc/resources/tsconfig.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"compilerOptions": {
3+
"module": "es6",
4+
"target": "es5",
5+
"jsx": "react",
6+
"allowJs": true,
7+
"sourceMap": true,
8+
"strict": true
9+
},
10+
"include": ["src/**/*"],
11+
"exclude": ["node_modules"]
12+
}

scala3doc/resources/webpack.config.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
const path = require('path');
2+
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
3+
const FileManagerPlugin = require('filemanager-webpack-plugin');
4+
5+
module.exports = {
6+
entry: './src/index.ts',
7+
devtool: 'inline-source-map',
8+
module: {
9+
rules: [
10+
{
11+
test: /\.tsx?$/,
12+
use: 'ts-loader',
13+
exclude: /node_modules/,
14+
},
15+
{
16+
test: /\.s[ac]ss$/i,
17+
use: [
18+
MiniCssExtractPlugin.loader,
19+
'css-loader',
20+
'sass-loader',
21+
],
22+
exclude: /node_modules/,
23+
},
24+
],
25+
},
26+
resolve: {
27+
extensions: ['.tsx', '.ts', '.js'],
28+
},
29+
output: {
30+
filename: 'bundle.js',
31+
path: path.resolve(__dirname, 'dist'),
32+
},
33+
plugins: [
34+
new MiniCssExtractPlugin({
35+
filename: '[name].css',
36+
chunkFilename: '[id].css',
37+
}),
38+
new FileManagerPlugin({
39+
events: {
40+
onEnd: {
41+
delete: ['./dotty_res/styles/main.css', './dotty_res/scripts/bundle.js'],
42+
move: [
43+
{ source: 'dist/main.css', destination: './dotty_res/styles/main.css' },
44+
{ source: 'dist/bundle.js', destination: './dotty_res/scripts/bundle.js' },
45+
]
46+
}
47+
}
48+
})
49+
],
50+
};

scala3doc/src/dotty/dokka/preprocessors/ScalaEmbeddedResourceApppender.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ class ScalaEmbeddedResourceAppender extends PageTransformer {
3737
"scripts/components/FilterGroup.js",
3838
"scripts/components/Filter.js",
3939
"scripts/data.js",
40+
"scripts/bundle.js",
41+
"styles/main.css"
4042
)).asJava,
4143
page.getChildren
4244
)

0 commit comments

Comments
 (0)