mirror of
https://github.com/betagouv/mon-entreprise
synced 2025-02-09 22:45:01 +00:00
Suite à la crise du coronavirus le gouvernement a élargi le dispositif d'activité partielle et encouragé son recours massif. Ce commit contient les modifications suivantes : * Intégration de l'activité partielle sur le simulateur salarié ; * Création d'une page /coronavirus incluant un simulateur spécifique pour le chômage partiel ainsi que des informations générale sur les dispositifs gouvernementaux. Référencement de cette page sur la page d'accueil et sur le simulateur salarié ; * Grosse refacto du calcul de la CSG/CRDS pour y inclure le calcul des revenus de remplacement. Corrige aussi des erreurs pour la CSG des salariés bénéficiant de la DFS, et intègre l'exonération de CSG à Mayotte ; * Légères modifications de la fenêtre « prochaines question » ; * Affichage d'un placeholder sur les inputs des questions. Co-authored-by: Johan Girod <johangirod@gmail.com>
134 lines
3.3 KiB
JavaScript
134 lines
3.3 KiB
JavaScript
const {
|
|
commonLoaders,
|
|
styleLoader,
|
|
HTMLPlugins,
|
|
default: common
|
|
} = require('./webpack.common.js')
|
|
|
|
const PrerenderSPAPlugin = require('prerender-spa-plugin')
|
|
const WorkboxPlugin = require('workbox-webpack-plugin')
|
|
|
|
const Renderer = PrerenderSPAPlugin.PuppeteerRenderer
|
|
const path = require('path')
|
|
const cheerio = require('cheerio')
|
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
|
|
|
|
const prerenderConfig = () => ({
|
|
staticDir: path.resolve('dist'),
|
|
renderer: new Renderer({
|
|
renderAfterTime: 5000,
|
|
skipThirdPartyRequests: true
|
|
}),
|
|
postProcess: context => {
|
|
const $ = cheerio.load(context.html)
|
|
// force https on twitter emoji cdn
|
|
$('img[src^="http://twemoji.maxcdn.com"]').each((i, el) => {
|
|
$(el).attr('src', (_, path) => path.replace('http://', 'https://'))
|
|
})
|
|
// Remove loader
|
|
$('#outdated-browser').after(`
|
|
<style>
|
|
#js {
|
|
opacity: 1;
|
|
transform: translateY(0px);
|
|
}
|
|
#loading {
|
|
display: none;
|
|
}
|
|
</style>
|
|
`)
|
|
// Remove piwik script
|
|
$('script[src$="stats.data.gouv.fr/piwik.js"]').remove()
|
|
|
|
context.html = $.html()
|
|
return context
|
|
}
|
|
})
|
|
|
|
module.exports = {
|
|
...common,
|
|
module: {
|
|
rules: [...commonLoaders(), styleLoader(MiniCssExtractPlugin.loader)]
|
|
},
|
|
output: {
|
|
...common.output,
|
|
filename: ({ chunk }) => {
|
|
return chunk.name === 'simulateur-iframe-integration'
|
|
? '[name].js'
|
|
: '[name].[contenthash].bundle.js'
|
|
}
|
|
},
|
|
mode: 'production',
|
|
devtool: 'source-map',
|
|
plugins: [
|
|
...common.plugins,
|
|
...HTMLPlugins({ injectTrackingScript: true }),
|
|
new WorkboxPlugin.GenerateSW({
|
|
clientsClaim: true,
|
|
skipWaiting: true,
|
|
swDest: 'sw.js',
|
|
runtimeCaching: [
|
|
{
|
|
urlPattern: new RegExp(
|
|
'https://fonts.(?:googleapis|gstatic).com/(.*)'
|
|
),
|
|
handler: 'cacheFirst',
|
|
options: {
|
|
cacheName: 'google-fonts',
|
|
expiration: {
|
|
maxEntries: 5
|
|
},
|
|
cacheableResponse: {
|
|
statuses: [0, 200]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
navigateFallback: '/fallback',
|
|
navigateFallbackWhitelist: [/^\/[^_]+$/], // fallback for anything that doesn't start with
|
|
navigateFallbackBlacklist: [
|
|
// The service worker should ignore source maps generated by Webpack
|
|
/.*.map$/,
|
|
/.*\?s=.*$/,
|
|
/^\/stats/,
|
|
/^\/robots\.txt$/,
|
|
/^\/sitemap\.infrance\.fr\.txt$/,
|
|
/^\/sitemap\.infrance\.en\.txt$/
|
|
]
|
|
}),
|
|
new MiniCssExtractPlugin({
|
|
// Options similar to the same options in webpackOptions.output
|
|
// both options are optional
|
|
filename: '[name].[hash].css',
|
|
chunkFilename: '[id].[hash].css'
|
|
}),
|
|
new PrerenderSPAPlugin({
|
|
...prerenderConfig(),
|
|
outputDir: path.resolve('dist', 'prerender', 'infrance'),
|
|
routes: [
|
|
'/',
|
|
'/social-security/salaried',
|
|
'/iframes/simulateur-embauche'
|
|
],
|
|
indexPath: path.resolve('dist', 'infrance.html')
|
|
}),
|
|
new PrerenderSPAPlugin({
|
|
...prerenderConfig(),
|
|
outputDir: path.resolve('dist', 'prerender', 'mon-entreprise'),
|
|
routes: [
|
|
'/',
|
|
'/simulateurs/salarié',
|
|
'/simulateurs/auto-entrepreneur',
|
|
'/simulateurs/artiste-auteur',
|
|
'/simulateurs/assimilé-salarié',
|
|
'/simulateurs/indépendant',
|
|
'/créer',
|
|
'/coronavirus',
|
|
'/gérer',
|
|
'/iframes/simulateur-embauche',
|
|
'/iframes/simulateur-chomage-partiel'
|
|
],
|
|
indexPath: path.resolve('dist', 'mon-entreprise.html')
|
|
})
|
|
]
|
|
}
|