Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Revert "#AB25283 Node/React update"" #403

Merged
merged 2 commits into from
Mar 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,16 @@
{
"presets": ["react", "env", "stage-0"],
"plugins": ["transform-runtime", "react-hot-loader/babel"]
}
"presets": [
"@babel/preset-react",
"@babel/preset-env"
],
"plugins": [
"@babel/plugin-transform-runtime"
],
"env": {
"development": {
"plugins": [
"react-refresh/babel"
]
}
}
}
4 changes: 3 additions & 1 deletion .env.local
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,6 @@ LOGIN_PROVIDER_URI=https://hslid-uat.cinfra.fi
DOMAINS_ALLOWED_TO_GENERATE=
DOMAINS_ALLOWED_TO_LOGIN=

PUBLISHER_TEST_GROUP=Karttajulkaisin-test
PUBLISHER_TEST_GROUP=Karttajulkaisin-test

BUILD_ENV=local
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:16.20-buster-slim
FROM node:18-buster-slim

RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -yq wget curl gnupg fontconfig fonts-liberation ca-certificates --no-install-recommends \
Expand All @@ -11,6 +11,7 @@ RUN apt-get update \
&& cp ./azcopy /usr/bin/ \
&& rm -rf /var/lib/apt/lists/*

ENV NODE_OPTIONS=--openssl-legacy-provider

ENV WORK /opt/publisher

Expand Down
21 changes: 11 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,16 @@
},
"homepage": "https://github.com/HSLdevcom/hsl-map-publisher#readme",
"engines": {
"node": ">=8.0.0"
"node": ">=14.0.0"
},
"devDependencies": {
"babel-core": "^6.26.0",
"@babel/core": "^7.23.9",
"@babel/plugin-transform-runtime": "^7.23.9",
"@babel/preset-env": "^7.23.9",
"@babel/preset-react": "^7.23.3",
"babel-eslint": "^9.0.0",
"babel-loader": "^7.1.4",
"babel-loader": "^8.3.0",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"cross-env": "^5.1.1",
"css-loader": "^0.28.7",
"eslint": "^5.8.0",
Expand All @@ -68,21 +69,22 @@
"husky": "^8.0.0",
"lint-staged": "^13.0.2",
"prettier": "^1.14.3",
"react-refresh": "^0.14.0",
"webpack-cli": "^3.0.8",
"webpack-serve": "^1.0.4",
"worker-loader": "^2.0.0"
},
"dependencies": {
"@azure/storage-blob": "^10.4.0",
"@koa/cors": "^2.2.1",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
"@turf/turf": "^6.5.0",
"apollo-cache-inmemory": "^1.1.1",
"apollo-client": "^2.0.3",
"apollo-link": "^1.2.2",
"apollo-link-http": "^1.2.0",
"babel-plugin-transform-runtime": "^6.23.0",

"babel-polyfill": "^6.26.0",
"babel-preset-stage-0": "^6.24.1",
"bullmq": "^1.86.2",
"cheerio": "=1.0.0-rc.3",
"classnames": "^2.2.5",
Expand Down Expand Up @@ -113,10 +115,9 @@
"qrcode": "^1.0.0",
"qs": "^6.5.2",
"raw-loader": "^0.5.1",
"react": "^16.5.1",
"react": "18.2.0",
"react-apollo": "^2.0.1",
"react-dom": "^16.5.1",
"react-hot-loader": "^4.3.3",
"react-dom": "18.2.0",
"react-measure": "^2.5.2",
"recompose": "^0.30.0",
"segseg": "^0.2.2",
Expand Down
9 changes: 3 additions & 6 deletions src/components/a3Timetable/a3Timetable.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React, { Component } from 'react';
import classNames from 'classnames';
import PropTypes from 'prop-types';
import { hot } from 'react-hot-loader';
import { chunk, last, groupBy, findIndex } from 'lodash';
import renderQueue from 'util/renderQueue';

Expand Down Expand Up @@ -34,11 +33,8 @@ class Timetable extends Component {
};
}

componentWillMount() {
renderQueue.add(this);
}

componentDidMount() {
renderQueue.add(this);
let departures = [];
const weekdays = this.rowsByHour(this.props.weekdays);
const saturdays = this.rowsByHour(this.props.saturdays);
Expand Down Expand Up @@ -229,6 +225,7 @@ class Timetable extends Component {
groupedRows.pop();
weekdays.groupedRows = groupedRows;
}
// eslint-disable-next-line no-constant-condition
while (true) {
const lastGroupedRows = last(groupedRows);
const lastRow = last(lastGroupedRows);
Expand Down Expand Up @@ -454,4 +451,4 @@ Timetable.propTypes = {
updateHook: PropTypes.func.isRequired,
};

export default hot(module)(Timetable);
export default Timetable;
8 changes: 2 additions & 6 deletions src/components/a3stopPoster/a3stopPoster.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { hot } from 'react-hot-loader';
import { JustifiedColumn } from 'components/util';
import renderQueue from 'util/renderQueue';
import { colorsByMode } from 'util/domain';
Expand Down Expand Up @@ -32,11 +31,8 @@ class A3StopPoster extends Component {
};
}

componentWillMount() {
renderQueue.add(this);
}

componentDidMount() {
renderQueue.add(this);
this.updateLayout();
renderQueue.onEmpty(error => !error && this.updateLayout(), {
ignore: this,
Expand Down Expand Up @@ -203,4 +199,4 @@ A3StopPoster.defaultProps = {
routeFilter: '',
};

export default hot(module)(A3StopPoster);
export default A3StopPoster;
3 changes: 1 addition & 2 deletions src/components/app.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import React, { Component } from 'react';
import { hot } from 'react-hot-loader';
import { ApolloClient } from 'apollo-client';
import { createHttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';
Expand Down Expand Up @@ -120,4 +119,4 @@ class App extends Component {
}
}

export default hot(module)(App);
export default App;
6 changes: 3 additions & 3 deletions src/components/qrCode.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ class QrCode extends Component {
this.updateCode(this.props.url);
}

componentWillReceiveProps(nextProps) {
if (nextProps.url !== this.props.url) {
this.updateCode(nextProps.url);
componentDidUpdate(prevProps) {
if (this.props.url !== prevProps.url) {
this.updateCode(this.props.url);
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/components/stopPoster/stopPoster.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { hot } from 'react-hot-loader';
import { get, cloneDeep } from 'lodash';
import { JustifiedColumn, Spacer } from 'components/util';
import renderQueue from 'util/renderQueue';
Expand Down Expand Up @@ -526,4 +525,4 @@ StopPoster.defaultProps = {
legend: false,
};

export default hot(module)(StopPoster);
export default StopPoster;
3 changes: 1 addition & 2 deletions src/components/stopPoster/terminalPoster.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { hot } from 'react-hot-loader';
import { get, cloneDeep } from 'lodash';
import { JustifiedColumn, Spacer } from 'components/util';
import renderQueue from 'util/renderQueue';
Expand Down Expand Up @@ -532,4 +531,4 @@ TerminalPoster.defaultProps = {
legend: false,
};

export default hot(module)(TerminalPoster);
export default TerminalPoster;
2 changes: 1 addition & 1 deletion src/components/timetable/timetable.js
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ class Timetable extends Component {
? `${getWeekdayName(dayNames[0], 'en')} - ${getWeekdayName(dayNames[1], 'en')}`
: `${getWeekdayName(dayNames[0], 'en')}`;
return (
<div>
<div key={`tableheader_container_${fiTitle}`}>
<TableHeader
title={fiTitle}
subtitleSw={svTitle}
Expand Down
7 changes: 4 additions & 3 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { render } from 'react-dom';
import { createRoot } from 'react-dom/client';
import App from 'components/app';
import 'styles/base.css';
import './util/mockGetTemplate';
Expand All @@ -8,6 +8,7 @@ if (!window.serverLog) {
window.serverLog = console.log.bind(console);
}

const root = document.body.appendChild(document.createElement('div'));
const container = document.body.appendChild(document.createElement('div'));
const root = createRoot(container);

render(<App />, root);
root.render(<App />);
11 changes: 11 additions & 0 deletions webpack.common.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
const path = require('path');

const HtmlWebpackPlugin = require('html-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const Dotenv = require('dotenv-webpack');

const isDevelopment = process.env.BUILD_ENV === 'local';

module.exports = {
entry: ['babel-polyfill', './src/index.js'],
plugins: [
Expand Down Expand Up @@ -59,6 +62,14 @@ module.exports = {
test: /\.svg$/,
loader: 'raw-loader',
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
options: {
plugins: [isDevelopment && require.resolve('react-refresh/babel')].filter(Boolean),
},
},
],
},
};
2 changes: 2 additions & 0 deletions webpack.dev.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
const merge = require('webpack-merge');
const webpackCommon = require('./webpack.common');
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');

const PORT = process.env.PORT || 5000;

Expand All @@ -12,4 +13,5 @@ module.exports = merge.smart(webpackCommon, {
hmr: true,
},
},
plugins: [new ReactRefreshWebpackPlugin()],
});
Loading
Loading