Skip to content

Commit

Permalink
setup webpack for hdf-converters
Browse files Browse the repository at this point in the history
Signed-off-by: kemley76 <[email protected]>
  • Loading branch information
kemley76 committed Jun 20, 2024
1 parent 764058b commit da6153e
Show file tree
Hide file tree
Showing 8 changed files with 202 additions and 16 deletions.
3 changes: 2 additions & 1 deletion libs/hdf-converters/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ outputs
converted_jsons
lib
mitre-hdf-converters-v*.tgz
sample_jsons/*/output_report/*.xml
sample_jsons/*/output_report/*.xml
*.css
18 changes: 11 additions & 7 deletions libs/hdf-converters/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@
"files": [
"lib"
],
"main": "src/index.ts",
"main": "index.ts",
"publishConfig": {
"main": "lib/index.js"
"main": "lib/bundle.js"
},
"scripts": {
"prepack": "yarn build && node prepack.js",
"postpack": "run-script-os",
"postpack:darwin:linux": "mv package.json.orig package.json",
"postpack:win32": "move package.json.orig package.json",
"build": "yarn build:tailwind && run-script-os",
"build:tailwind": "tailwindcss -i ./tailwind.css -o ./lib/src/converters-from-hdf/html/style.css --minify",
"build:darwin:linux": "../../node_modules/.bin/tsc -p ./tsconfig.build.json && cp -R ./data ./lib",
"build:win32": "../../node_modules/.bin/tsc -p ./tsconfig.build.json && xcopy data lib",
"build": "yarn build:tailwind && webpack --config ./webpack.config.js --mode production && run-script-os",
"build:tailwind": "tailwindcss -i ./tailwind.css -o ./src/converters-from-hdf/html/style.css --minify",
"build:darwin:linux": "cp -R ./data ./lib",
"build:win32": "xcopy data lib",
"lint": "eslint \"**/*.ts\" --fix",
"lint:ci": "eslint \"**/*.ts\" --max-warnings 0",
"test": "jest",
Expand Down Expand Up @@ -65,9 +65,13 @@
"@types/node": "^20.1.0",
"jest": "^27.0.6",
"quicktype": "^15.0.260",
"raw-loader": "^4.0.2",
"ts-jest": "^29.1.0",
"ts-loader": "^9.5.1",
"tsx": "^4.7.1",
"typedoc": "^0.25.0"
"typedoc": "^0.25.0",
"webpack": "^5.92.0",
"webpack-cli": "^5.1.4"
},
"jest": {
"moduleNameMapper": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ import {
} from './html-types';
import path from 'path';
import axios from 'axios';
import myHtml from './template.html';
import myCss from './style.css';

type InputData = {
data: ContextualizedEvaluation | string;
Expand Down Expand Up @@ -570,6 +572,7 @@ export class FromHDFToHTMLMapper {
}

// Render template and return generated HTML file
return Mustache.render(template, this.outputData);
//return Mustache.render(template, this.outputData);
return myHtml + myCss + " this came from here";
}
}
3 changes: 2 additions & 1 deletion libs/hdf-converters/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"outDir": "./lib",
"strict": true,
"esModuleInterop": true,
"resolveJsonModule": true
"resolveJsonModule": true,
"declaration": true
}
}
8 changes: 8 additions & 0 deletions libs/hdf-converters/types/templates.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
declare module '*.html' {
const value: string;
export default value;
}
declare module '*.css' {
const value: string;
export default value;
}
35 changes: 35 additions & 0 deletions libs/hdf-converters/webpack.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
const path = require('path');

module.exports = {
target: 'node',
entry: './index.ts',
module: {
rules: [
{
test: /\.ts$/,
use: [
{
loader: 'ts-loader',
options: {
configFile: 'tsconfig.build.json'
}
}
],
exclude: /node_modules/
},
{
test: /\.(html|css)$/,
type: 'asset/source',
exclude: /node_modules/,
}
],
},
resolve: {
extensions: ['.ts', '.js', '.html', '.css'] // might need .html to generate the file
//extensions: ['.html'] // might need .html to generate the file
},
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'lib')
}
};
27 changes: 27 additions & 0 deletions webpack.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
const path = require("path");

module.exports = {
target: "node",
entry: './index.ts',
module: {
rules: [
{
test: /\.html$/,
use: 'html-loader',
exclude: /node_modules/
},
{
test: /\.ts?$/,
use: 'ts-loader',
exclude: /node_modules/
}
],
},
resolve: {
extensions: ['.ts', '.js', '.html']
},
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'lib')
}
};
119 changes: 113 additions & 6 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1932,7 +1932,7 @@
enabled "2.0.x"
kuler "^2.0.0"

"@discoveryjs/[email protected]":
"@discoveryjs/[email protected]", "@discoveryjs/json-ext@^0.5.0":
version "0.5.7"
resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
Expand Down Expand Up @@ -5587,6 +5587,21 @@
"@webassemblyjs/ast" "1.12.1"
"@xtuc/long" "4.2.2"

"@webpack-cli/configtest@^2.1.1":
version "2.1.1"
resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646"
integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==

"@webpack-cli/info@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd"
integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==

"@webpack-cli/serve@^2.0.5":
version "2.0.5"
resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e"
integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==

"@xmldom/xmldom@^0.8.2":
version "0.8.10"
resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99"
Expand Down Expand Up @@ -5683,6 +5698,11 @@ acorn-import-assertions@^1.9.0:
resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==

acorn-import-attributes@^1.9.5:
version "1.9.5"
resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef"
integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==

acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
Expand Down Expand Up @@ -7554,7 +7574,7 @@ colord@^2.9.1:
resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43"
integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==

colorette@^2.0.10, colorette@^2.0.16:
colorette@^2.0.10, colorette@^2.0.14, colorette@^2.0.16:
version "2.0.20"
resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
Expand Down Expand Up @@ -7616,7 +7636,7 @@ commander@7, commander@^7.1.0, commander@^7.2.0:
resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==

commander@^10.0.0:
commander@^10.0.0, commander@^10.0.1:
version "10.0.1"
resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
Expand Down Expand Up @@ -9381,6 +9401,14 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0, enhanced-resolve@^5.16.0, enh
graceful-fs "^4.2.4"
tapable "^2.2.0"

enhanced-resolve@^5.17.0:
version "5.17.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5"
integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.2.0"

enquirer@^2.3.6:
version "2.4.1"
resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56"
Expand Down Expand Up @@ -9416,6 +9444,11 @@ [email protected]:
resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==

envinfo@^7.7.3:
version "7.13.0"
resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31"
integrity sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==

envinfo@^7.7.4:
version "7.11.1"
resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1"
Expand Down Expand Up @@ -10313,6 +10346,11 @@ fast-xml-parser@^4.2.0:
dependencies:
strnum "^1.0.5"

fastest-levenshtein@^1.0.12:
version "1.0.16"
resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5"
integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==

fastq@^1.6.0:
version "1.17.1"
resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47"
Expand Down Expand Up @@ -11524,7 +11562,7 @@ html-escaper@^2.0.0, html-escaper@^2.0.2:

html-loader@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/html-loader/-/html-loader-5.0.0.tgz#2bb3ed423e9ea10f24add5d1a563adc5a8fc7f00"
resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-5.0.0.tgz#2bb3ed423e9ea10f24add5d1a563adc5a8fc7f00"
integrity sha512-puaGKdjdVVIFRtgIC2n5dt5bt0N5j6heXlAQZ4Do1MLjHmOT1gCE1Ogg7XZNeJlnOVHHsrZKGs5dfh+XwZ3XPw==
dependencies:
html-minifier-terser "^7.2.0"
Expand Down Expand Up @@ -11942,6 +11980,11 @@ interpret@^1.0.0:
resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==

interpret@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4"
integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==

into-stream@^3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6"
Expand Down Expand Up @@ -16953,7 +16996,7 @@ [email protected], pretty@^2.0.0:
extend-shallow "^2.0.1"
js-beautify "^1.6.12"

prismjs@1.29.0, prismjs@^1.23.0, prismjs@^1.29.0:
prismjs@^1.23.0, prismjs@^1.29.0:
version "1.29.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12"
integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==
Expand Down Expand Up @@ -17265,6 +17308,14 @@ [email protected]:
iconv-lite "0.4.24"
unpipe "1.0.0"

raw-loader@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6"
integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==
dependencies:
loader-utils "^2.0.0"
schema-utils "^3.0.0"

react-is@^17.0.1:
version "17.0.2"
resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
Expand Down Expand Up @@ -17438,6 +17489,13 @@ rechoir@^0.6.2:
dependencies:
resolve "^1.1.6"

rechoir@^0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22"
integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==
dependencies:
resolve "^1.20.0"

redent@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
Expand Down Expand Up @@ -19572,7 +19630,7 @@ ts-jest@^29.1.0:
semver "^7.5.3"
yargs-parser "^21.0.1"

ts-loader@^9.1.0, ts-loader@^9.2.5:
ts-loader@^9.1.0, ts-loader@^9.2.5, ts-loader@^9.5.1:
version "9.5.1"
resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz#63d5912a86312f1fbe32cef0859fb8b2193d9b89"
integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==
Expand Down Expand Up @@ -20503,6 +20561,25 @@ webpack-chain@^6.5.1:
deepmerge "^1.5.2"
javascript-stringify "^2.0.1"

webpack-cli@^5.1.4:
version "5.1.4"
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b"
integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==
dependencies:
"@discoveryjs/json-ext" "^0.5.0"
"@webpack-cli/configtest" "^2.1.1"
"@webpack-cli/info" "^2.0.2"
"@webpack-cli/serve" "^2.0.5"
colorette "^2.0.14"
commander "^10.0.1"
cross-spawn "^7.0.3"
envinfo "^7.7.3"
fastest-levenshtein "^1.0.12"
import-local "^3.0.2"
interpret "^3.1.1"
rechoir "^0.8.0"
webpack-merge "^5.7.3"

webpack-dev-middleware@^5.3.4:
version "5.3.4"
resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517"
Expand Down Expand Up @@ -20634,6 +20711,36 @@ webpack@^5.54.0:
watchpack "^2.4.1"
webpack-sources "^3.2.3"

webpack@^5.92.0:
version "5.92.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.92.0.tgz#cc114c71e6851d220b1feaae90159ed52c876bdf"
integrity sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==
dependencies:
"@types/eslint-scope" "^3.7.3"
"@types/estree" "^1.0.5"
"@webassemblyjs/ast" "^1.12.1"
"@webassemblyjs/wasm-edit" "^1.12.1"
"@webassemblyjs/wasm-parser" "^1.12.1"
acorn "^8.7.1"
acorn-import-attributes "^1.9.5"
browserslist "^4.21.10"
chrome-trace-event "^1.0.2"
enhanced-resolve "^5.17.0"
es-module-lexer "^1.2.1"
eslint-scope "5.1.1"
events "^3.2.0"
glob-to-regexp "^0.4.1"
graceful-fs "^4.2.11"
json-parse-even-better-errors "^2.3.1"
loader-runner "^4.2.0"
mime-types "^2.1.27"
neo-async "^2.6.2"
schema-utils "^3.2.0"
tapable "^2.1.1"
terser-webpack-plugin "^5.3.10"
watchpack "^2.4.1"
webpack-sources "^3.2.3"

websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
version "0.7.4"
resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"
Expand Down

0 comments on commit da6153e

Please sign in to comment.