Skip to content

Commit

Permalink
chore: upgrade dependencies and lint-fix all source files
Browse files Browse the repository at this point in the history
  • Loading branch information
fbessou committed Oct 22, 2024
1 parent 463d20d commit bc4583b
Show file tree
Hide file tree
Showing 30 changed files with 4,474 additions and 5,852 deletions.
4 changes: 2 additions & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ module.exports = {
env: {
node: true
},
'extends': [
extends: [
'plugin:vue/essential',
'@vue/standard',
'@vue/typescript'
],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-console': 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
},
parserOptions: {
Expand Down
26 changes: 14 additions & 12 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,27 +28,29 @@
"vue-property-decorator": "^8.3.0",
"vue-router": "^3.4.8",
"vue2-leaflet": "^2.5.2",
"vuetify": "^2.2.11",
"vuetify": "^2.7.2",
"vuex": "^3.1.2",
"xmldom": "^0.4.0"
},
"devDependencies": {
"@types/leaflet": "^1.5.5",
"@vue/cli-plugin-babel": "^3.12.1",
"@vue/cli-plugin-eslint": "^3.12.1",
"@vue/cli-plugin-typescript": "^3.12.1",
"@vue/cli-service": "^3.12.1",
"@vue/eslint-config-standard": "^4.0.0",
"@vue/eslint-config-typescript": "^4.0.0",
"@typescript-eslint/parser": "^7.1.1",
"@vue/cli-plugin-babel": "^5.0.8",
"@vue/cli-plugin-eslint": "^5.0.8",
"@vue/cli-plugin-typescript": "^5.0.8",
"@vue/cli-service": "^5.0.8",
"@vue/eslint-config-standard": "^8.0.1",
"@vue/eslint-config-typescript": "^13.0.0",
"babel-eslint": "^10.0.3",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^5.2.3",
"eslint": "^8.26.0",
"eslint-plugin-vue": "^9.0.0",
"sass": "^1.19.0",
"sass-loader": "^8.0.0",
"typescript": "^3.5.3",
"vue-cli-plugin-vuetify": "~2.0.5",
"typescript": "^4.0.3",
"vue-cli-plugin-vuetify": "^2.5.8",
"vue-template-compiler": "^2.6.12",
"vuetify-loader": "^1.6.0"
"vuetify-loader": "^1.6.0",
"webpack": "^5"
},
"packageManager": "yarn@1.22.21+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72"
}
8 changes: 4 additions & 4 deletions src/components/AdministrativeBreadcrumbs.vue
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export default {
]),
...mapState('PlaceCard', ['placeItem']),
items () {
let items = []
const items = []
// departement
if (this.departement) {
items.push({
Expand All @@ -52,16 +52,16 @@ export default {
}
// commune de rattachement
if (this.commune.data) {
let newItem = {
text: this.commune.data.attributes['NCCENR'],
const newItem = {
text: this.commune.data.attributes.NCCENR,
tooltip: 'Commune'
}
if (this.commune.data.attributes['place-id']) {
const route = this.$router.resolve({
name: 'place',
params: { placeId: this.commune.data.attributes['place-id'] }
})
newItem['href'] = route.href
newItem.href = route.href
}
items.push(newItem)
}
Expand Down
10 changes: 5 additions & 5 deletions src/components/LandingMap.vue
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export default {
// Append the group that will contain our paths
const deps = svg.append('g')
var features = deps
const features = deps
.selectAll('path')
.data(this.departments.features)
.enter()
Expand All @@ -58,13 +58,13 @@ export default {
.attr('d', path)
// Quantile scales map an input domain to a discrete range, 0...max(population) to 1...9
var quantile = d3.scaleQuantile()
const quantile = d3.scaleQuantile()
.domain([0, d3.max(this.places, function (e) {
return +e.NB_PLACES
})])
.range(d3.range(7))
var legend = svg.append('g')
const legend = svg.append('g')
.attr('transform', 'translate(525, 150)')
.attr('id', 'legend')
Expand All @@ -81,7 +81,7 @@ export default {
return 'q' + d + '-9'
})
var legendScale = d3.scaleLinear()
const legendScale = d3.scaleLinear()
.domain([
d3.min(this.places, function (e) {
return +e.NB_PLACES
Expand All @@ -92,7 +92,7 @@ export default {
])
.range([0, 9 * 20])
var legendAxis = svg.append('g')
const legendAxis = svg.append('g')
.attr('transform', 'translate(550, 150)')
.call(d3.axisRight(legendScale).ticks())
Expand Down
2 changes: 1 addition & 1 deletion src/components/MiradorViewer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ export default {
...mapActions('searchParameters', ['setIIIFViewerAvailability']),
async initialize () {
try {
const viewerContainerId = `vue-mirador-container`
const viewerContainerId = 'vue-mirador-container'
const viewerConfig = {
id: viewerContainerId,
windows: [
Expand Down
11 changes: 5 additions & 6 deletions src/components/MyAwesomeMap.vue
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,10 @@ export default {
console.log(this.map.getPanes())
},
addMarkers (markers) {
let newMarkers = []
for (let m of markers) {
const newMarkers = []
for (const m of markers) {
if (this.useMarkers) {
let newMarker = L.marker(m.coordinates)
const newMarker = L.marker(m.coordinates)
newMarker.placeId = m.id
if (m.label) {
newMarker.bindTooltip(m.label, {
Expand Down Expand Up @@ -342,7 +342,7 @@ export default {
},
switchableLayers () {
let layers = [
const layers = [
{
layer: this.OSMLayer,
config: {
Expand Down Expand Up @@ -418,8 +418,7 @@ export default {
}
},
selectedItem (val) {
if (val) {
} else {
if (!val) {
this.selectMarkerIcon()
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/components/PlaceCard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ export default {
}
return `${
this.linkedPlaces.length === 1 ? 'Autre lieu à' : 'Autres lieux à'
} ${this.commune.data.attributes['NCCENR']}`
} ${this.commune.data.attributes.NCCENR}`
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/components/PlaceSearchTable.vue
Original file line number Diff line number Diff line change
Expand Up @@ -354,9 +354,9 @@ export default {
this.filterStates.canton = false
}
// add the adequate department if not already present
let newDeps = [...this.depFilter]
const newDeps = [...this.depFilter]
let thereIsNewDep = false
for (let ctn of selected) {
for (const ctn of selected) {
const newDep = this.uniqueDepartments.find(d => d.id === ctn.depId)
console.log('must add new dep ?', this.uniqueDepartments)
// if already selected, continue
Expand Down
8 changes: 4 additions & 4 deletions src/components/pages/DocumentationPage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -1111,7 +1111,7 @@ export default {
]
}
let results = {
const results = {
compoundDocuments1: {},
compoundDocuments2: {},
compoundDocuments3: {},
Expand Down Expand Up @@ -1148,8 +1148,8 @@ export default {
})
return {
examples: examples,
results: results,
examples,
results,
isMenuOpened: false,
showJump: false
Expand Down Expand Up @@ -1179,7 +1179,7 @@ export default {
document.body.removeEventListener('click', this.closeMenu)
},
async created () {
let resultPromises = []
const resultPromises = []
for (const key in this.examples) {
this.examples[key].forEach(example => {
resultPromises.push(
Expand Down
6 changes: 3 additions & 3 deletions src/components/pages/HomePage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ export default {
components: {
MainToolbar,
PlaceSearchTable,
'MyAwesomeMap': () => import(/* webpackChunkName: "map-component" */ '../MyAwesomeMap'),
'PlaceCard': () => import(/* webpackChunkName: "card-component" */ '../PlaceCard')
MyAwesomeMap: () => import(/* webpackChunkName: "map-component" */ '../MyAwesomeMap'),
PlaceCard: () => import(/* webpackChunkName: "card-component" */ '../PlaceCard')
},
beforeRouteEnter: (to, from, next) => {
next(vm => {
Expand Down Expand Up @@ -115,7 +115,7 @@ export default {
}
},
computed: {
...mapState('mapmarkers', { 'mapMarkerItems': 'items' }),
...mapState('mapmarkers', { mapMarkerItems: 'items' }),
...mapState('places', { selectedPlace: 'selectedItem', meta: 'meta' }),
...mapState('searchParameters', ['tableMinimized', 'term', 'range', 'includeOldLabels', 'groupbyPlace', 'minTermLength', 'zoom', 'center', 'ctnFilter', 'depFilter'])
}
Expand Down
22 changes: 11 additions & 11 deletions src/components/pages/PlacePage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@
<span class="overline">Citer</span>
<div>
<v-tooltip top v-model="showCopyTooltip" :open-on-hover="false" :open-on-click="false" :close-delay="1500">
<template v-slot:activator="{ on }">
<template v-slot:activator>
<v-btn text depressed
class="share-link mt-3"

Expand Down Expand Up @@ -261,8 +261,8 @@ export default {
components: {
DefaultLayout,
MiradorViewer,
'MyAwesomeMap': () => import(/* webpackChunkName: "map-component" */ '../MyAwesomeMap'),
'PlaceCard': () => import(/* webpackChunkName: "card-component" */ '../PlaceCard')
MyAwesomeMap: () => import(/* webpackChunkName: "map-component" */ '../MyAwesomeMap'),
PlaceCard: () => import(/* webpackChunkName: "card-component" */ '../PlaceCard')
},
data: () => {
return {
Expand All @@ -285,7 +285,7 @@ export default {
return cleanStr(str)
},
buildCoords (obj) {
const longlat = obj.attributes['longlat']
const longlat = obj.attributes.longlat
const srcCoords = longlat
? longlat.substr(1, longlat.length - 2).split(',')
: []
Expand All @@ -304,7 +304,7 @@ export default {
},
computed: {
...mapState('PlaceCard', ['placeItem', 'placeOldLabels', 'linkedPlaces']),
...mapState('commune', { 'commune': 'commune' }),
...mapState('commune', { commune: 'commune' }),
...mapState('bibls', { biblItem: 'bibl' }),
...mapState('searchParameters', ['showIIIFViewer']),
...mapGetters('PlaceCard', ['canvasIndex', 'IIIFAvailability', 'manifestUrl']),
Expand All @@ -319,12 +319,12 @@ export default {
mapItems () {
return this.placeItem
? [
{
id: this.placeItem.id,
coordinates: this.coordinates,
active: true
}
]
{
id: this.placeItem.id,
coordinates: this.coordinates,
active: true
}
]
: []
},
apiUrl () {
Expand Down
2 changes: 1 addition & 1 deletion src/components/pages/about/ContentsSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@

<script>
export default {
name: 'contents'
name: 'contents-section'
}
</script>

Expand Down
2 changes: 1 addition & 1 deletion src/components/pages/about/CreditsSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

<script>
export default {
name: 'credits'
name: 'credits-section'
}
</script>

Expand Down
2 changes: 1 addition & 1 deletion src/components/pages/about/HistorySection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@

<script>
export default {
name: 'history'
name: 'history-section'
}
</script>

Expand Down
10 changes: 4 additions & 6 deletions src/components/pages/about/PresentationSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@
<span class="display-1">Présentation</span>
</h1>
<p>
La collection du <i>Dictionnaire topographique de la France</i> constitue un outil indispensable pour l’étude de l’histoire et de la géographie ancienne du territoire français : publiée sous la forme de volumes départementaux depuis 1860, elle rassemble des centaines de milliers de noms de lieux, recueillis
La collection du <i>Dictionnaire topographique de la France</i> constitue un outil indispensable pour l’étude de l’histoire et de la géographie ancienne du territoire français&nbsp;: publiée sous la forme de volumes départementaux depuis 1860, elle rassemble des centaines de milliers de noms de lieux, recueillis
sous leurs graphies anciennes et modernes dans les documents d’archives. C’est aux données réunies dans ce cadre que la présente application donne accès, sous une forme profondément renouvelée grâce à l’apport des technologies numériques.
</p>
<p>
Les capacités de recherche au sein de ces données se trouvent désormais démultipliées. Est ainsi offerte la possibilité d’interroger l’ensemble de la collection, de trier et filtrer les réponses obtenues, de faire porter une requête sur tout ou partie d’un nom, ou encore d’effectuer des recherches floues,
portant sur les graphies proches d’un nom.
</p>
<p>
Le recours au numérique a également autorisé une actualisation partielle des données : si le texte en ligne reste celui des dictionnaires imprimés, hormis des corrections limitées, chaque lieu a été localisé par rapport à la géographie administrative de 2011 – date retenue car antérieure au mouvement de fusions communales lancé par les lois de réforme des collectivités territoriales de 2010 et 2015 et au redécoupage cantonal de 2014. Un lien vers le <a href="https://www.insee.fr/fr/information/2016807" target="_blank">code officiel géographique de l’INSEE</a> offre par ailleurs la possibilité de situer chaque commune dans la hiérarchie administrative
Le recours au numérique a également autorisé une actualisation partielle des données&nbsp;: si le texte en ligne reste celui des dictionnaires imprimés, hormis des corrections limitées, chaque lieu a été localisé par rapport à la géographie administrative de 2011 –&nbsp;date retenue car antérieure au mouvement de fusions communales lancé par les lois de réforme des collectivités territoriales de 2010 et 2015 et au redécoupage cantonal de 2014. Un lien vers le <a href="https://www.insee.fr/fr/information/2016807" target="_blank">code officiel géographique de l’INSEE</a> offre par ailleurs la possibilité de situer chaque commune dans la hiérarchie administrative
actuelle.
</p>
<p>
En outre, le traitement numérique a permis de doter le projet d’une dimension cartographique qui faisait défaut aux dictionnaires imprimés. Les toponymes se trouvent désormais, autant que possible, géolocalisés. Toutefois, cette géolocalisation reste pour l’heure limitée à l’échelle communale, faute de données
suffisamment précises : tous les toponymes situés sur le territoire d’une commune sont donc localisés au centre géographique de cette dernière. En dépit de cette limite, le présent outil de recherche offre désormais la possibilité de visualiser rapidement sur une carte les résultats d’une requête.
suffisamment précises&nbsp;: tous les toponymes situés sur le territoire d’une commune sont donc localisés au centre géographique de cette dernière. En dépit de cette limite, le présent outil de recherche offre désormais la possibilité de visualiser rapidement sur une carte les résultats d’une requête.
</p>
<p>
Enfin, les données sont accessibles aux formats JSON API 1.0 et Linked Places grâce à une <a href="https://dicotopo.cths.fr/documentation">API</a> et librement réexploitables dans le cadre d’applications web. L’attribution à chaque lieu d’un identifiant pérenne garantit les conditions de cette réexploitation et
Expand All @@ -36,6 +36,4 @@ export default {
}
</script>

<style scoped>
</style>
<style scoped></style>
10 changes: 6 additions & 4 deletions src/components/pages/about/ProjectSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@
<span class="display-1 headline">Méthodologie</span>
</h2>
<p>
La chaîne de traitement définie en 2010 a été employée pour toute la durée du projet. Chaque volume départemental a tout d’abord été numérisé en mode image. Une grande partie de ces numérisations sont consultables depuis 2016 sur le Portail des Archives numériques et données de la recherche (<a href="https://pandor.u-bourgogne.fr/programme-de-recherche/toponymie" target="_blank">PANDOR</a>) de la Maison des sciences de l’homme de Dijon – sous réserve que les ouvrages concernés soient libres de droits.
La chaîne de traitement définie en 2010 a été employée pour toute la durée du projet. Chaque volume départemental a tout d’abord été numérisé en mode image. Une grande partie de ces numérisations sont consultables depuis 2016 sur le Portail des Archives numériques et données de la recherche (<a href="https://pandor.u-bourgogne.fr/programme-de-recherche/toponymie" target="_blank">PANDOR</a>) de la Maison des sciences de l’homme de Dijon –&nbsp;sous réserve que les ouvrages concernés soient libres de droits.
</p>
<p>
Le texte des dictionnaires a dans le même temps été saisi manuellement et encodé au format XML par un prestataire. L’opération a été rendue possible par la structure des dictionnaires édités par le CTHS : tous ont obéi à des prescriptions éditoriales précises et les ont assez bien respectées. Pour chaque lieu, ont ainsi été identifiées dix unités de sens : article, vedette, définition, localisation, typologie, forme ancienne, date, référence, commentaire et renvoi. Seul le volume dédié au Cantal a fait l’objet d’un traitement distinct, puisqu’il a été saisi par les soins des archives départementales dans un tableur avant d’être converti automatiquement en XML.
Le texte des dictionnaires a dans le même temps été saisi manuellement et encodé au format XML par un prestataire. L’opération a été rendue possible par la structure des dictionnaires édités par le CTHS&nbsp;: tous ont obéi à des prescriptions éditoriales précises et les ont assez bien respectées. Pour chaque lieu, ont ainsi été identifiées dix unités de sens&nbsp;: article, vedette, définition, localisation, typologie, forme ancienne, date, référence, commentaire et renvoi. Seul le volume dédié au Cantal a fait l’objet d’un traitement distinct, puisqu’il a été saisi par les soins des archives départementales dans un tableur avant d’être converti automatiquement en XML.
</p>
<p>
Ces fichiers XML, librement disponibles dans l’entrepôt <a href="https://github.com/chartes/dico-topo" target="_blank">GitHub</a> de l’École des chartes, constituent le socle documentaire du projet. Ils ont fait l’objet de plusieurs campagnes de corrections, notamment pour éliminer les coquilles et incohérences qui avaient pu échapper aux auteurs et pour restructurer certains articles. À compter de 2017, ils ont également été enrichis, automatiquement puis manuellement, afin de permettre le liage au Code officiel géographique de l’INSEE. L’intégration des données en base est l’occasion de nouveaux enrichissements (attribution d’un identifiant, standardisation des dates, géolocalisation, liage Gallica, etc.). Accessibles via une <a href="https://dicotopo.cths.fr/documentation">API documentée</a>, les données peuvent être exportées au format <a href="https://github.com/LinkedPasts/linked-places" target="_blank">Linked Places</a>.
Expand All @@ -54,18 +54,20 @@

<script>
export default {
name: 'contents'
name: 'project-section'
}
</script>

<style scoped lang="scss">
figure {
width: 500px;
margin: 20px auto;
img {
width: 500px;
width: 500px;
}
}
figcaption {
font-style: italic;
color: darkgrey;
Expand Down
1 change: 0 additions & 1 deletion src/components/ui/TimeFilter.vue
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<script>
/*
import Chart from 'chart.js'
Expand Down
Loading

0 comments on commit bc4583b

Please sign in to comment.