chore: tidying up a little more and removing superfluous config

Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
blam
2023-10-12 08:47:23 +02:00
parent f93f44e926
commit e7b7373d34
4 changed files with 81 additions and 314 deletions
+1 -1
View File
@@ -82,7 +82,6 @@
"css-loader": "^6.5.1",
"ctrlc-windows": "^2.1.0",
"diff": "^5.0.0",
"ejs": "^3.1.9",
"esbuild": "^0.19.0",
"esbuild-loader": "^2.18.0",
"eslint": "^8.6.0",
@@ -136,6 +135,7 @@
"terser-webpack-plugin": "^5.1.3",
"util": "^0.12.3",
"vite": "^4.4.9",
"vite-plugin-html": "^3.2.0",
"vite-plugin-node-polyfills": "^0.14.1",
"vite-plugin-svgr": "^4.0.0",
"webpack": "^5.70.0",
+12 -21
View File
@@ -24,6 +24,10 @@ import webpack from 'webpack';
import WebpackDevServer from 'webpack-dev-server';
import vite from 'vite';
import react from '@vitejs/plugin-react';
import { nodePolyfills as viteNodePolyfills } from 'vite-plugin-node-polyfills';
import { createHtmlPlugin } from 'vite-plugin-html';
import { viteCommonjs } from '@originjs/vite-plugin-commonjs';
import vitePluginSvgr from 'vite-plugin-svgr';
import {
forbiddenDuplicatesFilter,
@@ -36,10 +40,6 @@ import { createConfig, resolveBaseUrl } from './config';
import { createDetectedModulesEntryPoint } from './packageDetection';
import { resolveBundlingPaths } from './paths';
import { ServeOptions } from './types';
import { nodePolyfills as viteNodePolyfills } from 'vite-plugin-node-polyfills';
import { esbuildCommonjs, viteCommonjs } from '@originjs/vite-plugin-commonjs';
import { viteTransformHtml } from './viteTransformHtml';
import vitePluginSvgr from 'vite-plugin-svgr';
export async function serveBundle(options: ServeOptions) {
const paths = resolveBundlingPaths(options);
@@ -178,12 +178,14 @@ export async function serveBundle(options: ServeOptions) {
vitePluginSvgr(),
viteCommonjs(),
viteNodePolyfills(),
viteTransformHtml({
entryPath: paths.targetEntry,
targetHtml: paths.targetHtml,
data: {
config: frontendConfig,
publicPath: config.output?.publicPath,
createHtmlPlugin({
entry: paths.targetEntry,
template: 'public/index.html',
inject: {
data: {
config: frontendConfig,
publicPath: config.output?.publicPath,
},
},
}),
],
@@ -191,17 +193,6 @@ export async function serveBundle(options: ServeOptions) {
host,
port,
},
optimizeDeps: {
esbuildOptions: {
plugins: [esbuildCommonjs(['!nano-css'])],
},
},
build: {
commonjsOptions: {
include: ['*'],
transformMixedEsModules: true,
},
},
publicDir: paths.targetPublic,
root: paths.targetPath,
});
@@ -1,45 +0,0 @@
/*
* Copyright 2023 The Backstage Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { PluginOption } from 'vite';
import fs from 'fs/promises';
import { render } from 'ejs';
import { relative } from 'path';
export const viteTransformHtml = ({
targetHtml,
entryPath,
data,
}: {
targetHtml: string;
entryPath: string;
data: any;
}): PluginOption => ({
name: 'backstage:transform:html',
configureServer(s) {
s.middlewares.use(async (req, res, next) => {
const html = await fs.readFile(targetHtml, 'utf-8');
const rendered = `${render(html, data)}
<script type="module" src="${relative(targetHtml, entryPath)}"></script>`;
if (req.url === '/') {
res.end(await s.transformIndexHtml(req.url, rendered));
} else {
next();
}
});
},
});
+68 -247
View File
@@ -1,3 +1,6 @@
# This file is generated by running "yarn install" inside your project.
# Manual changes might be lost - proceed with caution!
__metadata:
version: 6
cacheKey: 8
@@ -3849,8 +3852,8 @@ __metadata:
"@types/terser-webpack-plugin": ^5.0.4
"@types/webpack-env": ^1.15.2
"@types/yarnpkg__lockfile": ^1.1.4
"@typescript-eslint/eslint-plugin": ^5.9.0
"@typescript-eslint/parser": ^5.9.0
"@typescript-eslint/eslint-plugin": 6.7.5
"@typescript-eslint/parser": ^6.7.2
"@vitejs/plugin-react": ^4.0.4
"@yarnpkg/lockfile": ^1.1.0
"@yarnpkg/parsers": ^3.0.0-rc.4
@@ -3865,7 +3868,6 @@ __metadata:
ctrlc-windows: ^2.1.0
del: ^7.0.0
diff: ^5.0.0
ejs: ^3.1.9
esbuild: ^0.19.0
esbuild-loader: ^2.18.0
eslint: ^8.6.0
@@ -3923,6 +3925,7 @@ __metadata:
type-fest: ^2.19.0
util: ^0.12.3
vite: ^4.4.9
vite-plugin-html: ^3.2.0
vite-plugin-node-polyfills: ^0.14.1
vite-plugin-svgr: ^4.0.0
webpack: ^5.70.0
@@ -10974,13 +10977,6 @@ __metadata:
languageName: node
linkType: hard
"@esbuild/linux-loong64@npm:0.15.18":
version: 0.15.18
resolution: "@esbuild/linux-loong64@npm:0.15.18"
conditions: os=linux & cpu=loong64
languageName: node
linkType: hard
"@esbuild/linux-loong64@npm:0.16.17":
version: 0.16.17
resolution: "@esbuild/linux-loong64@npm:0.16.17"
@@ -15026,7 +15022,7 @@ __metadata:
languageName: node
linkType: hard
"@rollup/pluginutils@npm:^4.1.1, @rollup/pluginutils@npm:^4.2.1":
"@rollup/pluginutils@npm:^4.1.1, @rollup/pluginutils@npm:^4.2.0, @rollup/pluginutils@npm:^4.2.1":
version: 4.2.1
resolution: "@rollup/pluginutils@npm:4.2.1"
dependencies:
@@ -22615,6 +22611,13 @@ __metadata:
languageName: node
linkType: hard
"connect-history-api-fallback@npm:^1.6.0":
version: 1.6.0
resolution: "connect-history-api-fallback@npm:1.6.0"
checksum: 804ca2be28c999032ecd37a9f71405e5d7b7a4b3defcebbe41077bb8c5a0a150d7b59f51dcc33b2de30bc7e217a31d10f8cfad27e8e74c2fc7655eeba82d6e7e
languageName: node
linkType: hard
"connect-history-api-fallback@npm:^2.0.0":
version: 2.0.0
resolution: "connect-history-api-fallback@npm:2.0.0"
@@ -22632,7 +22635,7 @@ __metadata:
languageName: node
linkType: hard
"consola@npm:^2.15.0":
"consola@npm:^2.15.0, consola@npm:^2.15.3":
version: 2.15.3
resolution: "consola@npm:2.15.3"
checksum: 8ef7a09b703ec67ac5c389a372a33b6dc97eda6c9876443a60d76a3076eea0259e7f67a4e54fd5a52f97df73690822d090cf8b7e102b5761348afef7c6d03e28
@@ -23121,7 +23124,7 @@ __metadata:
languageName: node
linkType: hard
"css-select@npm:^4.1.3":
"css-select@npm:^4.1.3, css-select@npm:^4.2.1":
version: 4.3.0
resolution: "css-select@npm:4.3.0"
dependencies:
@@ -24282,6 +24285,13 @@ __metadata:
languageName: node
linkType: hard
"dotenv-expand@npm:^8.0.2":
version: 8.0.3
resolution: "dotenv-expand@npm:8.0.3"
checksum: 128ce90ac825b543de3ece0154a51b056ab0dc36bb26d97a68cd0b8707327ecd3c182fb6ac63b26a0fcdfa85064419906a1065cb634f1f9dc08ad311375f1fc0
languageName: node
linkType: hard
"dotenv@npm:^16.0.0":
version: 16.0.0
resolution: "dotenv@npm:16.0.0"
@@ -24402,7 +24412,7 @@ __metadata:
languageName: node
linkType: hard
"ejs@npm:^3.1.6, ejs@npm:^3.1.9":
"ejs@npm:^3.1.6":
version: 3.1.9
resolution: "ejs@npm:3.1.9"
dependencies:
@@ -24773,13 +24783,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-android-64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-android-64@npm:0.15.18"
conditions: os=android & cpu=x64
languageName: node
linkType: hard
"esbuild-android-arm64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-android-arm64@npm:0.14.54"
@@ -24787,13 +24790,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-android-arm64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-android-arm64@npm:0.15.18"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
"esbuild-darwin-64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-darwin-64@npm:0.14.54"
@@ -24801,13 +24797,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-darwin-64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-darwin-64@npm:0.15.18"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"esbuild-darwin-arm64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-darwin-arm64@npm:0.14.54"
@@ -24815,13 +24804,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-darwin-arm64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-darwin-arm64@npm:0.15.18"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"esbuild-freebsd-64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-freebsd-64@npm:0.14.54"
@@ -24829,13 +24811,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-freebsd-64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-freebsd-64@npm:0.15.18"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
"esbuild-freebsd-arm64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-freebsd-arm64@npm:0.14.54"
@@ -24843,13 +24818,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-freebsd-arm64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-freebsd-arm64@npm:0.15.18"
conditions: os=freebsd & cpu=arm64
languageName: node
linkType: hard
"esbuild-linux-32@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-linux-32@npm:0.14.54"
@@ -24857,13 +24825,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-linux-32@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-linux-32@npm:0.15.18"
conditions: os=linux & cpu=ia32
languageName: node
linkType: hard
"esbuild-linux-64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-linux-64@npm:0.14.54"
@@ -24871,13 +24832,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-linux-64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-linux-64@npm:0.15.18"
conditions: os=linux & cpu=x64
languageName: node
linkType: hard
"esbuild-linux-arm64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-linux-arm64@npm:0.14.54"
@@ -24885,13 +24839,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-linux-arm64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-linux-arm64@npm:0.15.18"
conditions: os=linux & cpu=arm64
languageName: node
linkType: hard
"esbuild-linux-arm@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-linux-arm@npm:0.14.54"
@@ -24899,13 +24846,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-linux-arm@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-linux-arm@npm:0.15.18"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
"esbuild-linux-mips64le@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-linux-mips64le@npm:0.14.54"
@@ -24913,13 +24853,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-linux-mips64le@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-linux-mips64le@npm:0.15.18"
conditions: os=linux & cpu=mips64el
languageName: node
linkType: hard
"esbuild-linux-ppc64le@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-linux-ppc64le@npm:0.14.54"
@@ -24927,13 +24860,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-linux-ppc64le@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-linux-ppc64le@npm:0.15.18"
conditions: os=linux & cpu=ppc64
languageName: node
linkType: hard
"esbuild-linux-riscv64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-linux-riscv64@npm:0.14.54"
@@ -24941,13 +24867,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-linux-riscv64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-linux-riscv64@npm:0.15.18"
conditions: os=linux & cpu=riscv64
languageName: node
linkType: hard
"esbuild-linux-s390x@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-linux-s390x@npm:0.14.54"
@@ -24955,13 +24874,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-linux-s390x@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-linux-s390x@npm:0.15.18"
conditions: os=linux & cpu=s390x
languageName: node
linkType: hard
"esbuild-loader@npm:^2.18.0":
version: 2.21.0
resolution: "esbuild-loader@npm:2.21.0"
@@ -24985,13 +24897,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-netbsd-64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-netbsd-64@npm:0.15.18"
conditions: os=netbsd & cpu=x64
languageName: node
linkType: hard
"esbuild-openbsd-64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-openbsd-64@npm:0.14.54"
@@ -24999,13 +24904,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-openbsd-64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-openbsd-64@npm:0.15.18"
conditions: os=openbsd & cpu=x64
languageName: node
linkType: hard
"esbuild-sunos-64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-sunos-64@npm:0.14.54"
@@ -25013,13 +24911,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-sunos-64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-sunos-64@npm:0.15.18"
conditions: os=sunos & cpu=x64
languageName: node
linkType: hard
"esbuild-windows-32@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-windows-32@npm:0.14.54"
@@ -25027,13 +24918,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-windows-32@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-windows-32@npm:0.15.18"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"esbuild-windows-64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-windows-64@npm:0.14.54"
@@ -25041,13 +24925,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-windows-64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-windows-64@npm:0.15.18"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"esbuild-windows-arm64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-windows-arm64@npm:0.14.54"
@@ -25055,13 +24932,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild-windows-arm64@npm:0.15.18":
version: 0.15.18
resolution: "esbuild-windows-arm64@npm:0.15.18"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"esbuild@npm:^0.14.14":
version: 0.14.54
resolution: "esbuild@npm:0.14.54"
@@ -25213,7 +25083,7 @@ __metadata:
languageName: node
linkType: hard
"esbuild@npm:^0.18.10":
"esbuild@npm:^0.18.10, esbuild@npm:~0.18.20":
version: 0.18.20
resolution: "esbuild@npm:0.18.20"
dependencies:
@@ -25367,83 +25237,6 @@ __metadata:
languageName: node
linkType: hard
"esbuild@npm:~0.18.20":
version: 0.18.20
resolution: "esbuild@npm:0.18.20"
dependencies:
"@esbuild/android-arm": 0.18.20
"@esbuild/android-arm64": 0.18.20
"@esbuild/android-x64": 0.18.20
"@esbuild/darwin-arm64": 0.18.20
"@esbuild/darwin-x64": 0.18.20
"@esbuild/freebsd-arm64": 0.18.20
"@esbuild/freebsd-x64": 0.18.20
"@esbuild/linux-arm": 0.18.20
"@esbuild/linux-arm64": 0.18.20
"@esbuild/linux-ia32": 0.18.20
"@esbuild/linux-loong64": 0.18.20
"@esbuild/linux-mips64el": 0.18.20
"@esbuild/linux-ppc64": 0.18.20
"@esbuild/linux-riscv64": 0.18.20
"@esbuild/linux-s390x": 0.18.20
"@esbuild/linux-x64": 0.18.20
"@esbuild/netbsd-x64": 0.18.20
"@esbuild/openbsd-x64": 0.18.20
"@esbuild/sunos-x64": 0.18.20
"@esbuild/win32-arm64": 0.18.20
"@esbuild/win32-ia32": 0.18.20
"@esbuild/win32-x64": 0.18.20
dependenciesMeta:
"@esbuild/android-arm":
optional: true
"@esbuild/android-arm64":
optional: true
"@esbuild/android-x64":
optional: true
"@esbuild/darwin-arm64":
optional: true
"@esbuild/darwin-x64":
optional: true
"@esbuild/freebsd-arm64":
optional: true
"@esbuild/freebsd-x64":
optional: true
"@esbuild/linux-arm":
optional: true
"@esbuild/linux-arm64":
optional: true
"@esbuild/linux-ia32":
optional: true
"@esbuild/linux-loong64":
optional: true
"@esbuild/linux-mips64el":
optional: true
"@esbuild/linux-ppc64":
optional: true
"@esbuild/linux-riscv64":
optional: true
"@esbuild/linux-s390x":
optional: true
"@esbuild/linux-x64":
optional: true
"@esbuild/netbsd-x64":
optional: true
"@esbuild/openbsd-x64":
optional: true
"@esbuild/sunos-x64":
optional: true
"@esbuild/win32-arm64":
optional: true
"@esbuild/win32-ia32":
optional: true
"@esbuild/win32-x64":
optional: true
bin:
esbuild: bin/esbuild
checksum: 5d253614e50cdb6ec22095afd0c414f15688e7278a7eb4f3720a6dd1306b0909cf431e7b9437a90d065a31b1c57be60130f63fe3e8d0083b588571f31ee6ec7b
languageName: node
linkType: hard
"escalade@npm:^3.1.1":
version: 3.1.1
resolution: "escalade@npm:3.1.1"
@@ -28464,7 +28257,7 @@ __metadata:
languageName: node
linkType: hard
"html-minifier-terser@npm:^6.0.2":
"html-minifier-terser@npm:^6.0.2, html-minifier-terser@npm:^6.1.0":
version: 6.1.0
resolution: "html-minifier-terser@npm:6.1.0"
dependencies:
@@ -34205,6 +33998,16 @@ __metadata:
languageName: node
linkType: hard
"node-html-parser@npm:^5.3.3":
version: 5.4.2
resolution: "node-html-parser@npm:5.4.2"
dependencies:
css-select: ^4.2.1
he: 1.2.0
checksum: 2d2391147c83b402786eeab95d23ea4e24ca8608e0e70a2823bfd4f2a248be13a8cc31acfd55a0109e051131e4f0c17d7ada8d999ce70ff2e342ab0110f5da59
languageName: node
linkType: hard
"node-html-parser@npm:^6.1.1":
version: 6.1.5
resolution: "node-html-parser@npm:6.1.5"
@@ -35661,6 +35464,13 @@ __metadata:
languageName: node
linkType: hard
"pathe@npm:^0.2.0":
version: 0.2.0
resolution: "pathe@npm:0.2.0"
checksum: 9a8149ce152088f30d15b0b03a7c128ba21f16b4dc1f3f90fe38eee9f6d0f1d6da8e4e47bd2a4f9e14aaac7c30ed01cfc86216479011de2bdc598b65e6f19f41
languageName: node
linkType: hard
"pause@npm:0.0.1":
version: 0.0.1
resolution: "pause@npm:0.0.1"
@@ -36445,17 +36255,6 @@ __metadata:
languageName: node
linkType: hard
"postcss@npm:^8.1.0, postcss@npm:^8.4.21":
version: 8.4.31
resolution: "postcss@npm:8.4.31"
dependencies:
nanoid: ^3.3.6
picocolors: ^1.0.0
source-map-js: ^1.0.2
checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea
languageName: node
linkType: hard
"postcss@npm:^8.1.0, postcss@npm:^8.4.21, postcss@npm:^8.4.27":
version: 8.4.31
resolution: "postcss@npm:8.4.31"
@@ -42768,6 +42567,28 @@ __metadata:
languageName: node
linkType: hard
"vite-plugin-html@npm:^3.2.0":
version: 3.2.0
resolution: "vite-plugin-html@npm:3.2.0"
dependencies:
"@rollup/pluginutils": ^4.2.0
colorette: ^2.0.16
connect-history-api-fallback: ^1.6.0
consola: ^2.15.3
dotenv: ^16.0.0
dotenv-expand: ^8.0.2
ejs: ^3.1.6
fast-glob: ^3.2.11
fs-extra: ^10.0.1
html-minifier-terser: ^6.1.0
node-html-parser: ^5.3.3
pathe: ^0.2.0
peerDependencies:
vite: ">=2.0.0"
checksum: f5222247b65da1c36215f0b2f509fd3975a7426b8d44546beb49f3ba51ee87b3a6b6e6afc9e7567a0d8bd1016631f2db3f934808f62a7c8f7f83fa83d8561d2d
languageName: node
linkType: hard
"vite-plugin-node-polyfills@npm:^0.14.1":
version: 0.14.1
resolution: "vite-plugin-node-polyfills@npm:0.14.1"
@@ -42796,8 +42617,8 @@ __metadata:
linkType: hard
"vite@npm:^4.4.9":
version: 4.4.9
resolution: "vite@npm:4.4.9"
version: 4.4.11
resolution: "vite@npm:4.4.11"
dependencies:
esbuild: ^0.18.10
fsevents: ~2.3.2
@@ -42831,7 +42652,7 @@ __metadata:
optional: true
bin:
vite: bin/vite.js
checksum: c511024ceae39c68c7dbf2ac4381ee655cd7bb62cf43867a14798bc835d3320b8fa7867a336143c30825c191c1fb4e9aa3348fce831ab617e96203080d3d2908
checksum: c22145c8385343a629cd546054b9da6eee60327540102bdfd1ad897fd2e78e0763ce6a18a9d84fdefde9da8fd2427d3bec9eb2697b47cf4068c7b4b52f7e3e6a
languageName: node
linkType: hard