Merge pull request #5123 from betagouv/disable-turbolinks
Désactivation de Turbolinks
This commit is contained in:
commit
179a8b83b4
28 changed files with 40 additions and 72 deletions
1
Gemfile
1
Gemfile
|
@ -71,7 +71,6 @@ gem 'skylight'
|
||||||
gem 'smart_listing'
|
gem 'smart_listing'
|
||||||
gem 'spreadsheet_architect'
|
gem 'spreadsheet_architect'
|
||||||
gem 'sprockets', '< 4'
|
gem 'sprockets', '< 4'
|
||||||
gem 'turbolinks' # Turbolinks makes following links in your web application faster
|
|
||||||
gem 'typhoeus'
|
gem 'typhoeus'
|
||||||
gem 'warden'
|
gem 'warden'
|
||||||
gem 'webpacker'
|
gem 'webpacker'
|
||||||
|
|
|
@ -663,9 +663,6 @@ GEM
|
||||||
tilt (2.0.10)
|
tilt (2.0.10)
|
||||||
timecop (0.9.1)
|
timecop (0.9.1)
|
||||||
ttfunk (1.5.1)
|
ttfunk (1.5.1)
|
||||||
turbolinks (5.2.0)
|
|
||||||
turbolinks-source (~> 5.2)
|
|
||||||
turbolinks-source (5.2.0)
|
|
||||||
typhoeus (1.3.1)
|
typhoeus (1.3.1)
|
||||||
ethon (>= 0.9.0)
|
ethon (>= 0.9.0)
|
||||||
tzinfo (1.2.7)
|
tzinfo (1.2.7)
|
||||||
|
@ -823,7 +820,6 @@ DEPENDENCIES
|
||||||
spring-commands-rspec
|
spring-commands-rspec
|
||||||
sprockets (< 4)
|
sprockets (< 4)
|
||||||
timecop
|
timecop
|
||||||
turbolinks
|
|
||||||
typhoeus
|
typhoeus
|
||||||
vcr
|
vcr
|
||||||
warden
|
warden
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* globals $ */
|
/* globals $ */
|
||||||
|
|
||||||
$(document).on('turbolinks:load', wysihtml5_active);
|
$(document).on('DOMContentLoaded', wysihtml5_active);
|
||||||
|
|
||||||
function wysihtml5_active() {
|
function wysihtml5_active() {
|
||||||
$('.wysihtml5').each(function (i, elem) {
|
$('.wysihtml5').each(function (i, elem) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* globals $ */
|
/* globals $ */
|
||||||
|
|
||||||
$(document).on('turbolinks:load', init_default_data_block);
|
$(document).on('DOMContentLoaded', init_default_data_block);
|
||||||
|
|
||||||
function init_default_data_block() {
|
function init_default_data_block() {
|
||||||
$('.default-data-block #dossier .body').toggle();
|
$('.default-data-block #dossier .body').toggle();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* globals $ */
|
/* globals $ */
|
||||||
|
|
||||||
$(document).on('turbolinks:load', filters_init);
|
$(document).on('DOMContentLoaded', filters_init);
|
||||||
|
|
||||||
function filters_init() {
|
function filters_init() {
|
||||||
$('html').click(function (event) {
|
$('html').click(function (event) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* globals $ */
|
/* globals $ */
|
||||||
|
|
||||||
$(document).on('turbolinks:load', action_type_de_champs);
|
$(document).on('DOMContentLoaded', action_type_de_champs);
|
||||||
|
|
||||||
function action_type_de_champs() {
|
function action_type_de_champs() {
|
||||||
$("input[type='email']").on('change', function () {
|
$("input[type='email']").on('change', function () {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* globals $ */
|
/* globals $ */
|
||||||
|
|
||||||
$(document).on('turbolinks:load', modal_action);
|
$(document).on('DOMContentLoaded', modal_action);
|
||||||
|
|
||||||
function modal_action() {
|
function modal_action() {
|
||||||
$('#pj-modal').on('show.bs.modal', function (event) {
|
$('#pj-modal').on('show.bs.modal', function (event) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* globals $ */
|
/* globals $ */
|
||||||
|
|
||||||
$(document).on('turbolinks:load', button_edit_procedure_init);
|
$(document).on('DOMContentLoaded', button_edit_procedure_init);
|
||||||
|
|
||||||
function button_edit_procedure_init() {
|
function button_edit_procedure_init() {
|
||||||
buttons_api_carto();
|
buttons_api_carto();
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
@import "constants";
|
|
||||||
|
|
||||||
.turbolinks-progress-bar {
|
|
||||||
background-color: $light-blue;
|
|
||||||
}
|
|
|
@ -11,7 +11,6 @@
|
||||||
//
|
//
|
||||||
// = require _card
|
// = require _card
|
||||||
// = require _helpers
|
// = require _helpers
|
||||||
// = require _turbolinks
|
|
||||||
// = require admin_type_de_champ
|
// = require admin_type_de_champ
|
||||||
// = require carte
|
// = require carte
|
||||||
// = require custom_mails
|
// = require custom_mails
|
||||||
|
|
|
@ -72,7 +72,7 @@ class Admin::ProceduresController < AdminController
|
||||||
@procedure.publish_or_reopen!(current_administrateur)
|
@procedure.publish_or_reopen!(current_administrateur)
|
||||||
|
|
||||||
flash.notice = "Démarche publiée"
|
flash.notice = "Démarche publiée"
|
||||||
redirect_to admin_procedures_path
|
render js: "window.location='#{admin_procedures_path}'"
|
||||||
rescue ActiveRecord::RecordInvalid
|
rescue ActiveRecord::RecordInvalid
|
||||||
render 'publish_validate', formats: :js
|
render 'publish_validate', formats: :js
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,7 +25,7 @@ async function loadAndRedrawMap(element, data) {
|
||||||
redrawMap(element, data);
|
redrawMap(element, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
addEventListener('turbolinks:load', initialize);
|
addEventListener('DOMContentLoaded', initialize);
|
||||||
|
|
||||||
addEventListener('carte:update', ({ detail: { selector, data } }) => {
|
addEventListener('carte:update', ({ detail: { selector, data } }) => {
|
||||||
const element = document.querySelector(selector);
|
const element = document.querySelector(selector);
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import '../shared/polyfills';
|
import '../shared/polyfills';
|
||||||
import Turbolinks from 'turbolinks';
|
|
||||||
import Rails from '@rails/ujs';
|
import Rails from '@rails/ujs';
|
||||||
import * as ActiveStorage from '@rails/activestorage';
|
import * as ActiveStorage from '@rails/activestorage';
|
||||||
import jQuery from 'jquery';
|
import jQuery from 'jquery';
|
||||||
|
@ -13,7 +12,6 @@ import '../shared/franceconnect';
|
||||||
|
|
||||||
// Start Rails helpers
|
// Start Rails helpers
|
||||||
Rails.start();
|
Rails.start();
|
||||||
Turbolinks.start();
|
|
||||||
ActiveStorage.start();
|
ActiveStorage.start();
|
||||||
|
|
||||||
// Disable jQuery-driven animations during tests
|
// Disable jQuery-driven animations during tests
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import '../shared/polyfills';
|
import '../shared/polyfills';
|
||||||
import Turbolinks from 'turbolinks';
|
|
||||||
import Rails from '@rails/ujs';
|
import Rails from '@rails/ujs';
|
||||||
import * as ActiveStorage from '@rails/activestorage';
|
import * as ActiveStorage from '@rails/activestorage';
|
||||||
import '@rails/actiontext';
|
import '@rails/actiontext';
|
||||||
|
@ -57,13 +56,10 @@ const DS = {
|
||||||
|
|
||||||
// Start Rails helpers
|
// Start Rails helpers
|
||||||
Rails.start();
|
Rails.start();
|
||||||
Turbolinks.start();
|
|
||||||
ActiveStorage.start();
|
ActiveStorage.start();
|
||||||
|
|
||||||
// Expose globals
|
// Expose globals
|
||||||
window.DS = window.DS || DS;
|
window.DS = window.DS || DS;
|
||||||
// (Both Rails redirects and ReactRailsUJS expect Turbolinks to be globally available)
|
|
||||||
window.Turbolinks = Turbolinks;
|
|
||||||
|
|
||||||
// Now that Turbolinks is globally exposed,configure ReactRailsUJS
|
// Now that Turbolinks is globally exposed,configure ReactRailsUJS
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { fire } from '@utils';
|
import { fire } from '@utils';
|
||||||
|
|
||||||
addEventListener('turbolinks:load', function () {
|
addEventListener('DOMContentLoaded', function () {
|
||||||
fire(document, 'ds:page:update');
|
fire(document, 'ds:page:update');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { ajax, delegate } from '@utils';
|
import { ajax, delegate } from '@utils';
|
||||||
|
|
||||||
addEventListener('turbolinks:load', () => {
|
addEventListener('DOMContentLoaded', () => {
|
||||||
attachementPoller.deactivate();
|
attachementPoller.deactivate();
|
||||||
exportPoller.deactivate();
|
exportPoller.deactivate();
|
||||||
|
|
||||||
|
|
|
@ -25,23 +25,4 @@ if (enabled) {
|
||||||
script.async = true;
|
script.async = true;
|
||||||
script.src = jsUrl;
|
script.src = jsUrl;
|
||||||
firstScript.parentNode.insertBefore(script, firstScript);
|
firstScript.parentNode.insertBefore(script, firstScript);
|
||||||
|
|
||||||
// Send Matomo a new event when navigating to a new page using Turbolinks
|
|
||||||
// (see https://developer.matomo.org/guides/spa-tracking)
|
|
||||||
let previousPageUrl = null;
|
|
||||||
addEventListener('turbolinks:load', (event) => {
|
|
||||||
if (previousPageUrl) {
|
|
||||||
window._paq.push(['setReferrerUrl', previousPageUrl]);
|
|
||||||
window._paq.push(['setCustomUrl', window.location.href]);
|
|
||||||
window._paq.push(['setDocumentTitle', document.title]);
|
|
||||||
if (event.data && event.data.timing) {
|
|
||||||
window._paq.push([
|
|
||||||
'setGenerationTimeMs',
|
|
||||||
event.data.timing.visitEnd - event.data.timing.visitStart
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
window._paq.push(['trackPageView']);
|
|
||||||
}
|
|
||||||
previousPageUrl = window.location.href;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
target: "_blank"
|
target: "_blank"
|
||||||
|
|
||||||
:javascript
|
:javascript
|
||||||
document.addEventListener("turbolinks:load", function() {
|
document.addEventListener("DOMContentLoaded", function() {
|
||||||
$crisp.push(["do", "trigger:run", ["admin-signup"]]);
|
$crisp.push(["do", "trigger:run", ["admin-signup"]]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
%h1= procedure_libelle @procedure
|
%h1= procedure_libelle @procedure
|
||||||
= link_to 'gestion des notifications', email_notifications_instructeur_procedure_path(@procedure), class: 'header-link'
|
= link_to 'gestion des notifications', email_notifications_instructeur_procedure_path(@procedure), class: 'header-link'
|
||||||
|
|
|
|
||||||
= link_to 'statistiques', stats_instructeur_procedure_path(@procedure), class: 'header-link', data: { turbolinks: false } # Turbolinks disabled for Chartkick. See Issue #350
|
= link_to 'statistiques', stats_instructeur_procedure_path(@procedure), class: 'header-link'
|
||||||
|
|
||||||
- if @procedure.routee?
|
- if @procedure.routee?
|
||||||
|
|
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
%h1= procedure_libelle @procedure
|
%h1= procedure_libelle @procedure
|
||||||
= link_to 'gestion des notifications', email_notifications_instructeur_procedure_path(@procedure), class: 'header-link'
|
= link_to 'gestion des notifications', email_notifications_instructeur_procedure_path(@procedure), class: 'header-link'
|
||||||
|
|
|
|
||||||
= link_to 'statistiques', stats_instructeur_procedure_path(@procedure), class: 'header-link', data: { turbolinks: false } # Turbolinks disabled for Chartkick. See Issue #350
|
= link_to 'statistiques', stats_instructeur_procedure_path(@procedure), class: 'header-link'
|
||||||
|
|
||||||
- if @procedure.routee?
|
- if @procedure.routee?
|
||||||
|
|
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
\-
|
\-
|
||||||
= link_to 'Nouveautés', 'https://doc.demarches-simplifiees.fr/nouveautes', target: '_blank'
|
= link_to 'Nouveautés', 'https://doc.demarches-simplifiees.fr/nouveautes', target: '_blank'
|
||||||
\-
|
\-
|
||||||
= link_to 'Statistiques', stats_path, data: { turbolinks: false } # Turbolinks disabled for Chartkick. See Issue #350
|
= link_to 'Statistiques', stats_path
|
||||||
\-
|
\-
|
||||||
= link_to 'CGU / Mentions légales', CGU_URL, target: '_blank'
|
= link_to 'CGU / Mentions légales', CGU_URL, target: '_blank'
|
||||||
\-
|
\-
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
%head
|
%head
|
||||||
%meta{ "http-equiv": "Content-Type", content: "text/html; charset=UTF-8" }
|
%meta{ "http-equiv": "Content-Type", content: "text/html; charset=UTF-8" }
|
||||||
%meta{ "http-equiv": "X-UA-Compatible", content: "IE=edge" }
|
%meta{ "http-equiv": "X-UA-Compatible", content: "IE=edge" }
|
||||||
%meta{ name: "turbolinks-cache-control", content: "no-cache" }
|
|
||||||
%meta{ name: "viewport", content: "width=device-width, initial-scale=1" }
|
%meta{ name: "viewport", content: "width=device-width, initial-scale=1" }
|
||||||
= csrf_meta_tags
|
= csrf_meta_tags
|
||||||
|
|
||||||
|
@ -15,9 +14,9 @@
|
||||||
= favicon_link_tag(image_url("favicons/96x96.png"), type: "image/png", sizes: "96x96")
|
= favicon_link_tag(image_url("favicons/96x96.png"), type: "image/png", sizes: "96x96")
|
||||||
|
|
||||||
- packs = ['application', 'track', administrateur_signed_in? ? 'track-admin' : nil].compact
|
- packs = ['application', 'track', administrateur_signed_in? ? 'track-admin' : nil].compact
|
||||||
= javascript_packs_with_chunks_tag *packs, defer: true, 'data-turbolinks-track': 'reload'
|
= javascript_packs_with_chunks_tag *packs, defer: true
|
||||||
= stylesheet_link_tag 'new_design/new_application', media: 'all', 'data-turbolinks-track': 'reload'
|
= stylesheet_link_tag 'new_design/new_application', media: 'all'
|
||||||
= stylesheet_link_tag 'new_design/print', media: 'print', 'data-turbolinks-track': 'reload'
|
= stylesheet_link_tag 'new_design/print', media: 'print'
|
||||||
|
|
||||||
= Gon::Base.render_data(camel_case: true, init: true, nonce: request.content_security_policy_nonce)
|
= Gon::Base.render_data(camel_case: true, init: true, nonce: request.content_security_policy_nonce)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
%html
|
%html
|
||||||
%head
|
%head
|
||||||
%meta{ :content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type" }/
|
%meta{ :content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type" }/
|
||||||
%meta{ name: "turbolinks-cache-control", content: "no-cache" }
|
|
||||||
%title
|
%title
|
||||||
= t('dynamics.page_title')
|
= t('dynamics.page_title')
|
||||||
%meta{ 'http-equiv' => "X-UA-Compatible", :content => "IE=edge" }
|
%meta{ 'http-equiv' => "X-UA-Compatible", :content => "IE=edge" }
|
||||||
|
@ -10,11 +9,11 @@
|
||||||
= favicon_link_tag(image_url("favicons/32x32.png"), type: "image/png", sizes: "32x32")
|
= favicon_link_tag(image_url("favicons/32x32.png"), type: "image/png", sizes: "32x32")
|
||||||
= favicon_link_tag(image_url("favicons/96x96.png"), type: "image/png", sizes: "96x96")
|
= favicon_link_tag(image_url("favicons/96x96.png"), type: "image/png", sizes: "96x96")
|
||||||
|
|
||||||
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': "reload"
|
= stylesheet_link_tag 'application', media: 'all'
|
||||||
= stylesheet_link_tag 'print', media: 'print', 'data-turbolinks-track': "reload"
|
= stylesheet_link_tag 'print', media: 'print'
|
||||||
- packs = ['application-old', 'track', administrateur_signed_in? ? 'track-admin' : nil].compact
|
- packs = ['application-old', 'track', administrateur_signed_in? ? 'track-admin' : nil].compact
|
||||||
= javascript_packs_with_chunks_tag *packs, defer: true, 'data-turbolinks-track': 'reload'
|
= javascript_packs_with_chunks_tag *packs, defer: true
|
||||||
= javascript_include_tag 'application', defer: true, 'data-turbolinks-track': 'reload'
|
= javascript_include_tag 'application', defer: true
|
||||||
= csrf_meta_tags
|
= csrf_meta_tags
|
||||||
= Gon::Base.render_data(camel_case: true, init: true)
|
= Gon::Base.render_data(camel_case: true, init: true)
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
%li.footer-link
|
%li.footer-link
|
||||||
= link_to "Nouveautés", "https://github.com/betagouv/demarches-simplifiees.fr/releases", :class => "footer-link", :title => "Nos nouveautés"
|
= link_to "Nouveautés", "https://github.com/betagouv/demarches-simplifiees.fr/releases", :class => "footer-link", :title => "Nos nouveautés"
|
||||||
%li.footer-link
|
%li.footer-link
|
||||||
= link_to "Statistiques", stats_path, :class => "footer-link", data: { turbolinks: false } # Turbolinks disabled for Chartkick. See Issue #350
|
= link_to "Statistiques", stats_path, :class => "footer-link"
|
||||||
%li.footer-link
|
%li.footer-link
|
||||||
= link_to "CGU", CGU_URL, :class => "footer-link", :target => "_blank", rel: "noopener noreferrer"
|
= link_to "CGU", CGU_URL, :class => "footer-link", :target => "_blank", rel: "noopener noreferrer"
|
||||||
%li.footer-link
|
%li.footer-link
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
"react_ujs": "^2.6.1",
|
"react_ujs": "^2.6.1",
|
||||||
"select2": "^4.0.13",
|
"select2": "^4.0.13",
|
||||||
"trix": "^1.2.3",
|
"trix": "^1.2.3",
|
||||||
"turbolinks": "^5.2.0",
|
|
||||||
"whatwg-fetch": "^3.0.0"
|
"whatwg-fetch": "^3.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|
|
@ -180,7 +180,11 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
expect(procedure.publiee?).to be_truthy
|
expect(procedure.publiee?).to be_truthy
|
||||||
expect(procedure.path).to eq(path)
|
expect(procedure.path).to eq(path)
|
||||||
expect(procedure.lien_site_web).to eq(lien_site_web)
|
expect(procedure.lien_site_web).to eq(lien_site_web)
|
||||||
expect(response.status).to eq 302
|
end
|
||||||
|
|
||||||
|
it 'redirects to the procedures page' do
|
||||||
|
expect(response.status).to eq 200
|
||||||
|
expect(response.body).to include(admin_procedures_path)
|
||||||
expect(flash[:notice]).to have_content 'Démarche publiée'
|
expect(flash[:notice]).to have_content 'Démarche publiée'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -193,13 +197,17 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
expect(procedure.publiee?).to be_truthy
|
expect(procedure.publiee?).to be_truthy
|
||||||
expect(procedure.path).to eq(path)
|
expect(procedure.path).to eq(path)
|
||||||
expect(procedure.lien_site_web).to eq(lien_site_web)
|
expect(procedure.lien_site_web).to eq(lien_site_web)
|
||||||
expect(response.status).to eq 302
|
|
||||||
expect(flash[:notice]).to have_content 'Démarche publiée'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'depubliee previous procedure' do
|
it 'depubliee previous procedure' do
|
||||||
expect(procedure2.depubliee?).to be_truthy
|
expect(procedure2.depubliee?).to be_truthy
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'redirects to the procedures page' do
|
||||||
|
expect(response.status).to eq 200
|
||||||
|
expect(response.body).to include(admin_procedures_path)
|
||||||
|
expect(flash[:notice]).to have_content 'Démarche publiée'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'procedure path exists and is not owned by current administrator' do
|
context 'procedure path exists and is not owned by current administrator' do
|
||||||
|
@ -285,8 +293,12 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
it { expect(procedure.publiee?).to be_truthy }
|
it { expect(procedure.publiee?).to be_truthy }
|
||||||
it { expect(response.status).to eq 302 }
|
|
||||||
it { expect(flash[:notice]).to have_content 'Démarche publiée' }
|
it 'redirects to the procedures page' do
|
||||||
|
expect(response.status).to eq 200
|
||||||
|
expect(response.body).to include(admin_procedures_path)
|
||||||
|
expect(flash[:notice]).to have_content 'Démarche publiée'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,7 @@ feature 'The routing', js: true do
|
||||||
click_on 'suivi'
|
click_on 'suivi'
|
||||||
click_on litteraire_user.email
|
click_on litteraire_user.email
|
||||||
expect(page).to have_current_path(instructeur_dossier_path(procedure, litteraire_user.dossiers.first))
|
expect(page).to have_current_path(instructeur_dossier_path(procedure, litteraire_user.dossiers.first))
|
||||||
expect(page).to have_text('Annotations privées') # ensure Turbolinks DID load the DOM content
|
expect(page).to have_text('Annotations privées')
|
||||||
expect(find('.tabs')).to have_css('span.notifications')
|
expect(find('.tabs')).to have_css('span.notifications')
|
||||||
log_out
|
log_out
|
||||||
|
|
||||||
|
|
|
@ -9397,11 +9397,6 @@ tunnel-agent@^0.6.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer "^5.0.1"
|
safe-buffer "^5.0.1"
|
||||||
|
|
||||||
turbolinks@^5.2.0:
|
|
||||||
version "5.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/turbolinks/-/turbolinks-5.2.0.tgz#e6877a55ea5c1cb3bb225f0a4ae303d6d32ff77c"
|
|
||||||
integrity sha512-pMiez3tyBo6uRHFNNZoYMmrES/IaGgMhQQM+VFF36keryjb5ms0XkVpmKHkfW/4Vy96qiGW3K9bz0tF5sK9bBw==
|
|
||||||
|
|
||||||
turf-intersect@~3.0.12:
|
turf-intersect@~3.0.12:
|
||||||
version "3.0.12"
|
version "3.0.12"
|
||||||
resolved "https://registry.yarnpkg.com/turf-intersect/-/turf-intersect-3.0.12.tgz#c0d7fb305843a19275670057a39d268b17830d83"
|
resolved "https://registry.yarnpkg.com/turf-intersect/-/turf-intersect-3.0.12.tgz#c0d7fb305843a19275670057a39d268b17830d83"
|
||||||
|
|
Loading…
Reference in a new issue