Explore all Plugin open source software, libraries, packages, source code, cloud functions and APIs.

Popular New Releases in Plugin

jquery

jQuery 3.6.0 Released!

code-server

v4.0.0 - pre-release

postcss

8.4.11

select2

Select2 4.1.0-rc.0

bypass-paywalls-chrome

Various fixes

Popular Libraries in Plugin

jquery

by jquery doticonjavascriptdoticon

star image 55648 doticonMIT

jQuery JavaScript Library

code-server

by cdr doticontypescriptdoticon

star image 50493 doticonMIT

VS Code in the browser

postcss

by postcss doticontypescriptdoticon

star image 25977 doticonMIT

Transforming styles with JS plugins

select2

by select2 doticonjavascriptdoticon

star image 25073 doticonMIT

Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.

bypass-paywalls-chrome

by iamadamdev doticonjavascriptdoticon

star image 24911 doticon

Bypass Paywalls web browser extension for Chrome and Firefox.

Awesome-Design-Tools

by goabstract doticonjavascriptdoticon

star image 23821 doticonMIT

The best design tools and plugins for everything 👉

YouCompleteMe

by ycm-core doticonpythondoticon

star image 23201 doticonGPL-3.0

A code-completion engine for Vim

devtools

by vuejs doticontypescriptdoticon

star image 22173 doticonMIT

⚙️ Browser devtools extension for debugging Vue.js applications.

octotree

by ovity doticonjavascriptdoticon

star image 21505 doticonAGPL-3.0

GitHub on steroids

Trending New libraries in Plugin

vscode-drawio

by hediet doticontypescriptdoticon

star image 7534 doticonGPL-3.0

This unofficial extension integrates Draw.io (also known as diagrams.net) into VS Code.

tailblocks

by mertJF doticonjavascriptdoticon

star image 5996 doticonMIT

Ready-to-use Tailwind CSS blocks.

vscode-rainbow-fart

by SaekiRaku doticonjavascriptdoticon

star image 4472 doticonMIT

一个在你编程时疯狂称赞你的 VSCode 扩展插件 | An VSCode extension that keeps giving you compliment while you are coding, it will checks the keywords of code to play suitable sounds.

HackBrowserData

by moonD4rk doticongodoticon

star image 4469 doticonMIT

Decrypt passwords/cookies/history/bookmarks from the browser. 一款可全平台运行的浏览器数据导出解密工具。

codetour

by microsoft doticontypescriptdoticon

star image 3827 doticonMIT

VS Code extension that allows you to record and play back guided tours of codebases, directly within the editor.

vitepress

by vuejs doticontypescriptdoticon

star image 3560 doticonMIT

Vite & Vue powered static site generator.

trojan

by Jrohy doticongodoticon

star image 3095 doticonGPL-3.0

trojan多用户管理部署程序, 支持web页面管理

awesome-vite

by vitejs doticonjavascriptdoticon

star image 2750 doticonMIT

⚡️ A curated list of awesome things related to Vite.js

vscode-go

by golang doticontypescriptdoticon

star image 2445 doticonNOASSERTION

Go extension for Visual Studio Code

Top Authors in Plugin

1

jenkinsci

307 Libraries

star icon15360

2

logstash-plugins

145 Libraries

star icon2481

3

FriendsOfREDAXO

116 Libraries

star icon3168

4

microsoft

95 Libraries

star icon33232

5

baba-s

85 Libraries

star icon723

6

discourse

84 Libraries

star icon1913

7

apache

78 Libraries

star icon2291

8

eggjs

75 Libraries

star icon4484

9

JetBrains

65 Libraries

star icon11871

10

mozilla

54 Libraries

star icon5621

1

307 Libraries

star icon15360

2

145 Libraries

star icon2481

3

116 Libraries

star icon3168

4

95 Libraries

star icon33232

5

85 Libraries

star icon723

6

84 Libraries

star icon1913

7

78 Libraries

star icon2291

8

75 Libraries

star icon4484

9

65 Libraries

star icon11871

10

54 Libraries

star icon5621

Trending Kits in Plugin

One of the most intellectual indoor games which keep the player engaged is Sudoku. Sudoku is a classic logic-based puzzle game. It requires a keen focus of mind and a logical vision. It is a number-placement game where you will be given a 9*9 grid which contains sub-grids of nine 3*3 matrices. The ultimate goal is to fill a grid with numbers from 1 to 9 in such a way each of its rows and columns contains each number exactly once. The outgrowth of technology in the last decade brought this intriguing game online. How about you creating this brilliant Sudoku game? How about building this complex game in a single-page application like React? Sounds interesting! Isn't it? Let's get into it with the help of the following libraries. This kit aids the development of Sudoku games using React by following the below steps. 1. Choose a development environment 2. Create a 2D array 3. Set up a track to look into the game's progress 4. Set up a track to determine the number of conflicts left 5. Create a component to indicate the connection between cells 6. Write a script to indicate connections using signals 7. Manage user's input 8. Create a component to drag and drop the numbers 9. Set up the tools to perform operations 10. Do the scripting to track the history of actions done

Development Environment

React is used for development. With React, it becomes easy and simple to develop an interactive UI. The state management in React makes the process of developing an application more flexible.

Graphical user interface

GUIs act as intermediaries to communicate with your device through UI components. In React, building UI components gets easy with the aid of CSS. React can be used for desktop applications and mobile applications as well.

Puzzle Solver

The puzzle-solving is simplified by creating cell components that throw signals indicating the relationship or connection between similar cell components using different colors.

Puzzle generator

Generating a puzzle is one of the key steps in creating a logic-based game. State management in React optimizes the puzzle generation.

Creating an online voting system using reusable libraries involves selecting appropriate libraries for different components of the system.


In recent years, the usage of mobile phones is increased. It has been surveyed that there is a rising interest in voting on SMS cell phones and through social networking tools like Facebook or Twitter. It's believed the voting process by cell phones gives some decision power to the citizens, which can actuate directly on decisions of their concerns. The voting process also can give ways for numerical information surveillance about social phenomena. It describes the intention to create an electronic voting process using mobile. You can create your own customized online e-voting system. 1. Development Environment 2. Database 3. Vote collecting Web Services 4. E-voting application 5. Vote Tally application

Development Environment

VS code is used for development for web application.

Database

Database is used to collect and maintain the voting data collected during the public voting process.

Vote Tally application

Application is used to tally the votes.

Vote collecting Web Services

The services are dynamic pages which receives parameters via the web browser component from inside Android application.

E-voting application

e-voting application is used for smart voting from various devices

Infinite Scrolling is nothing but a listing page design approach that loads content continuously as the user scrolls up and down and it eliminates the need for pagination breaking content up into multiple pages.


One of the simplest ways to use a library like react-infinite-scroll-component and this library provides a component that will trigger an event when the user scrolls to the bottom of the page. We can then use this event to load more content or information. Using built-in functions that React provides is also another way to implement this operation. Infinite scroll engages the users by boosting their performance and keeping viewers on the page for as long as possible. Users don't want to wait for pages to load because infinite scrolling can provide a better experience for the users. For example, the first page is only loaded at the time we entered the first time but the next page is loaded as soon as the user scrolls down through content or information.


React also has some built-in methods that we can use to implement an infinite scroll. In those built-in methods, componentDidUpdate is the first method. Then Rect calls this method after its updated a component. We can use this method to check if the user has scrolled to the bottom of the content or page and if so, load more data.


Here is an example of how you can implement Infinite Scrolling in a scrollable component on the page:

Fig : Preview of the output that you will get on running this code from your IDE.

Code

In this solution we're using React and Infinitescroll libraries.

Instructions

Follow the steps carefully to get the output easily.

  1. Install the Node.js and React on your IDE(preferable Visual Studio Code).
  2. Create React Application using npx create-react-app foldername.
  3. cd foldername.
  4. Install npm install infinite-scroll.
  5. Open the folder in IDE.
  6. Copy the code using "copy" button above and paste it in app.js file(remove the earlier code from app.js).
  7. Import libraries.
  8. Open the terminal from IDE.
  9. npm start to run the file.


I hope you found this useful. I have added the link to dependent libraries, version information in the following sections.


I found this code snippet by searching for ''implementing infinitescroll in react' in kandi. You can try any such use case!

Environment Tested

I tested this solution in the following versions. Be mindful of changes when working with other versions.

  1. The solution is created in Visual Studio Code 1.73.1.
  2. The solution is tested on node v18.12.1 and npm v8.19.2.
  3. React version-18.2.0.
  4. InfiniteScroll version-current.


Using this solution, we are able to create infinitescroll in a scrollable component on a page in react with simple steps. This process also facilities an easy way to use, hassle-free method to create a hands-on working version of code which would help us to create infinitescroll in a scrollable component on a page in react.

Dependent Library

You can also search for any dependent libraries on kandi like 'react' and 'infinitescroll'.

Support

  1. For any support on kandi solution kits, please use the chat
  2. For further learning resources, visit the Open Weaver Community learning page.


The Instagram API enables developers to create apps that interact with the Instagram platform and access data such as user profiles, media, and comments. By leveraging these libraries, users can streamline their Instagram marketing strategies, collect data for research purposes, and improve their engagement with their audience. 



These libraries benefit developers, marketers, and businesses who wish to create and deploy Instagram API applications for various objectives such as social media monitoring, influencer marketing, and audience analysis. Users can access and analyze Instagram data in real time by employing Python Instagram API modules, which can help improve marketing strategies and interaction with their audience. 



Here is the list of 8 Best Python Instagram API Libraries: 

Instapy 

  • Helps in automating Instagram interactions, such as liking and commenting. 
  • Useful in scheduling Instagram posts and stories. 
  • Helps in generating statistics about Instagram accounts. 
  • Useful in building Instagram chatbots. 

Instaloader 

  • Helps in downloading Instagram media and metadata. 
  • Useful in archiving Instagram content for later use. 
  • Helps in creating backups of Instagram profiles. 
  • Useful in collecting Instagram data for research purposes. 

python-instagram 

  • Helps in accessing Instagram data, such as user profiles and media. 
  • Useful in automating Instagram interactions, such as following and unfollowing users. 
  • Helps in posting photos and videos to Instagram. 
  • Useful in managing Instagram ads and campaigns. 

InstaLooter 

  • Helps in downloading Instagram media and metadata. 
  • Useful in archiving Instagram content for later use. 
  • Helps in creating backups of Instagram profiles. 
  • Useful in collecting Instagram data for research purposes. 

InstaScrape 

  • Helps in scraping Instagram data, such as user profiles and media. 
  • Useful in extracting insights about Instagram audiences. 
  • Helps in collecting Instagram data for research purposes. 
  • Useful in building custom Instagram crawlers. 

Instabot 

  • Helps in automating Instagram interactions, such as liking, commenting, and following users. 
  • Useful in creating custom Instagram bots for specific purposes. 
  • Helps in building Instagram chatbots. 
  • Useful in scheduling Instagram posts and stories. 

InstaLivecli

  • Helps in streaming live videos from Instagram. 
  • Useful in creating custom Instagram live stream tools. 
  • Helps in monitoring live events on Instagram. 
  • Useful in building Instagram live chatbots. 

BetterCall 

  • Helps in automating Instagram interactions with a graphical user interface. 
  • Useful in scheduling Instagram posts and stories. 
  • Helps in generating statistics about Instagram accounts. 
  • Useful in building Instagram chatbots with a GUI interface. 

Here are some famous JavaScript GitHub Browser Extension Libraries. JavaScript GitHub Browser Extension Libraries' use cases include Automatically creating pull requests, Automatically adding labels to issues, and Automatically merging pull requests.


Js Github browser extension libraries refer to JavaScript libraries that have been published on the Github platform and can be accessed as browser extensions. These libraries are typically open source and allow developers to modify and extend the functionality of their web browser. They can be used to add features such as animation, advanced form functionality, and access to data stored on Github.


Let us have a look at these libraries in detail below.

react

  • Discover and fix vulnerabilities.
  • Immediate development settings.
  • Use AI to create better code.

webpack

  • Use many JavaScript files without worrying about which ones will load first.
  • Assists in creating modules from a variety of sources besides JavaScript.
  • Makes a graph of each dependency in your program.

jquery

  • Promotes the creation of more dynamic and contemporary user experiences by web developers.
  • No matter what features the browser has, code is compatible.
  • Helps in preventing frequent browser issues.

octotree

  • Fast tree-based search.
  • Working with any size repository PRO features.
  • Support for private repositories and GitHub themes.

tampermonkey

  • An plugin for the browser that manages userscript donations
  • Allows for the addition and usage of userscripts.
  • Sync using a browser and online storage.

greasemonkey

  • Enables users to set up scripts that alter the content of web pages instantly.
  • Firefox user script manager.
  • They function exactly like a regular Chrome addon.

notifier-for-github

  • Every minute checks the GitHub Notifications API.
  • Supports the option to only display the unread count for problems in which you are actively involved in GitHub Enterprise.
  • On the extension preferences page, you may turn on desktop notifications if you wish to.

github-awesome-autocomplete

  • Using standard JS search, locally completed in your browser.
  • Leading public repositories
  • The most recent users.

github-file-icons

  • Improves github.com's file browsers for repositories.
  • Replace the generic file/folder icons with custom material design icons for each kind of file.
  • Work together without using code.

Here are some of the famous jQuery UI Libraries. These Libraries are used for Creating custom user interfaces, Enhancing user experience, Making web pages interactive, Creating custom animation, and Building custom themes.


jQuery UI is a collection of user interface libraries and plugins built on top of the jQuery JavaScript library. It provides abstracted user interface elements such as date pickers, accordions, tabs, and sliders that can be used to quickly build interactive web applications.


Let us have a look at these libraries in detail below.

jquery-ui

  • Provides a comprehensive set of user interface widgets.
  • Provides an easy way to implement drag and drop functionality.
  • Designed to meet the accessibility guidelines set by the W3C.

kendo-ui-core

  • Comprehensive UI framework containing numerous widgets and components.
  • Offers a wide range of customizable themes and styling options.
  • Built-in support for MVVM (Model-View-ViewModel) which makes it easy to create dynamic, interactive applications.

jQuery-ContextMenu

  • Designed to be cross-browser compatible.
  • Built-in help system and extensive documentation, making it simple to get started.
  • Allows developers to create menus with multiple levels of complexity.

jQueryGantt

  • Includes a built-in resource management system.
  • Intuitive drag-and-drop functionality for rearranging tasks.
  • Offers an interactive zoom feature.

jQuery-steps

  • Supports server-side validation to prevent incomplete or incorrect data from being submitted.
  • Provides an intuitive and easy to use interface for creating step-by-step wizards.
  • Offers a flexible layout system which allows you to customize the look and feel of your wizards.

jQuery-Form-Validator

  • Built-in validation functions and a wide range of options.
  • Easy to integrate with any web page and can be quickly customized to match the look and feel of any project.
  • Allows for the creation of custom validation messages in multiple languages.

layout

  • Responsive design support for mobile and tablet devices.
  • Built-in support for accessibility and internationalization.
  • A powerful API that makes it easy to create custom widgets and implement complex interactions.

jQuery-easyui

  • Includes an easy-to-use drag-and-drop feature.
  • Provides an easy-to-use, organized, and lightweight user interface library.
  • Supports AJAX (Asynchronous JavaScript and XML), JSON, and HTML5 technologies.

jqueryfiletree

  • Built-in security system to protect sensitive files from being accessed.
  • Highly configurable and allows users to customize the look and feel of the file browser.
  • Built-in search feature to help users quickly locate a file or folder.

PyTorch is a popular open-source machine-learning library for building deep-learning models. It was created mostly by Facebook's AI Research team and is built on the Torch framework. PyTorch is a well-liked option among researchers and developers. It offers a dynamic computational graph framework that enables developers to build and modify models. PyTorch includes a GPU interface, making it simple to use its processing capability. Another feature of PyTorch is its ability to accelerate computations using GPUs. This is especially helpful when training deep learning models, which can be demanding. PyTorch also includes several data-related utilities, like data loaders and transformers. It will make it simple to preprocess and augment data for training models.


A tensor is a fundamental data structure used to construct deep learning models. It's similar to a NumPy array, except it can also perform operations on GPUs for rapid processing. Concatenating tensors in PyTorch can be done using the torch.cat function. The torch.cat function concatenates tensors along a specified dimension. It has specified the dimension to concatenate the tensors. It takes two arguments: tensors, a sequence of tensors to concatenate, and dim.


Preview of the output obtained when Pytorch concatenation is used.

Code

  • This code demonstrates how to use PyTorch to concatenate two tensors along a specified dimension.
  • First, the code creates two random tensors 'a' and 'b' using the torch.rand function. 'a' has dimensions 128 x 4 x 150 x 150, while 'b' has dimensions 128 x 1 x 150 x 150.
  • Next, the code selects the first three channels of a using the indexing expression a[:, :3, :, :]. This creates a new tensor with dimensions 128 x 3 x 150 x 150, effectively cutting out the last channel of 'a'.
  • Finally, the torch.cat function is used to concatenate the modified 'a' tensor and the 'b' tensor along the second dimension (dim=1), and the resulting tensor is stored in the variable 'result'.
  • Since 'a' now has only three channels and 'b' has one channel, the resulting tensor has dimensions 128 x 4 x 150 x 150, as expected.

Follow the steps carefully to get the output easily.

  • Install Visual Studio Code in your computer.
  • Install the required library by using the following command - pip install torch
  • Also install visual C++ redistributable by clicking here.
  • If your system is not reflecting the installation, try running the above command by opening windows powershell as administrator.
  • Open the folder in the code editor, copy and paste the above kandi code snippet in the python file.
  • Add the line import torch in the beginning.
  • Run the code using the run command.


I hope you found this useful. I have added the link to dependent libraries, version information in the following sections.


I found this code snippet by searching for "concatenating two tensors using pytorch" in kandi. You can try any such use case!

Dependent libraries

If you do not have pytorch that is required to run this code, you can install it by clicking on the above link and copying the pip Install command from the page in kandi.


You can search for any dependent library on kandi like pytorch.

Environment tested

  1. This code had been tested using python version 3.8.0
  2. Pytorch version 2.0.0 has been used.

Support

  1. For any support on kandi solution kits, please use the chat
  2. For further learning resources, visit the Open Weaver Community learning page.

Here are the best open-source JavaScript tooltip libraries for your applications. A tooltip is a small pop-up box that appears when the user hovers over an element on the webpage. It typically contains additional information or context about the element, such as a description, a label, or an explanation of what will happen if the user clicks on it. You can use these components in web development to enhance the website user experience.

 

Many JavaScript tooltip libraries are available, each with its features and functionality. These include lightweight libraries that offer basic tooltip functionality, such as the ability to customize the tooltip's appearance and position. On the other hand, you can find advanced libraries offering a wide range of customization options, including adding animations, changing the tooltip's size and shape, and even creating tooltips containing interactive content. Besides, some libraries offer more advanced features like dynamic positioning, arrow styles, and event listeners. They are ideal for complex web applications that require a high degree of customization and control over the tooltip's behavior.

 

With so many options available, developers can choose the library that best suits their needs and create customized tooltips that enhance the functionality and usability of their websites. We have handpicked the top and trending open-source JavaScript tooltip libraries for your next application development project.  

Tooltipster:

  • Used to create tooltips that contain interactive content.
  • Offers a wide range of customization options.
  • Features include adding animations, changing the tooltip's size and shape, etc.

V-tippy/Tippy.js:

  • Used to create tooltips that contain complex HTML content.
  • It’s a popular tooltip library that offers Vue.js binding for Tippy.js.
  • Features include custom animations and transitions, adding arrow and border styles.

Popper.js

  • Used to create floating elements such as Tooltips, popovers, dropdowns, and more.
  • Offers advanced features like dynamic positioning, arrow styles, and event listeners.
  • It’s ideal for complex web applications that require a high degree of customization and control over the tooltip's behavior.

Opentip:

  • Used in User Interface, Frontend Framework, jQuery applications, etc.
  • Offers a wide range of customization options.
  • Features include creating tooltips that contain images, videos, and interactive content.

TinyTip:

  • Used in Plugin, jQuery applications, etc.
  • It’s a lightweight and simple tooltip library with no CSS.
  • Offers basic tooltip functionality, such as custom tooltip appearance and position.

The C# XIVLauncher libraries can be used to extend the functionality of your C# application. The libraries provide access to all of the features that are available in C# XIVLauncher.

This includes the ability to launch Windows and Linux applications, as well as support for desktop integration. The C# XIVLauncher Libraries are a set of libraries that are used by the XIVLauncher. These libraries provide functionality for things like MarketBasedPlugin, GCDTracker, OrchestrionPlugin, and more. MarketBasedPlugin is used for buying and selling items with the market system. This library has been modified to support C# in addition to Java. It provides a simple interface that allows you to purchase and install products from these marketplaces using their existing APIs. The GCDTracker library is used for tracking events in your game and sending them to the XIV via UDP packets. It also provides an event scheduling mechanism so you can schedule events for future processing by the XIV. A plugin for Orchestrion that provides a set of interfaces that allow you to interact with both GCDTracker and Orchestrion directly through Orchestrion's scripting language. Popular open-source C# XIVLauncher Libraries for developers include,

MarketBoardPlugin:  

  • It is a C# library used in Plugin applications.  
  • The XIVLauncher library enhances market board-related functionality.  
  • Facilitating efficient in-game market transactions and trade activities uses it.

WaymarkPresetPlugin:  

  • It is a C# library used in Plugin applications.  
  • It offers a convenient way to preset and manage waymarks in the game.   
  • Streamlining location-based coordination and navigation uses it.

Marketbuddy:  

  • It is a C# library used in Analytics and Dashboard applications.  
  • XivLauncher/Dalamud uses it as a plugin. It is used to assist with your day-to-day market operations.  
  • It adds value to this by serving as a companion tool for market-related activities.

GCDTracker:  

  • It is a C# library used in User Interface and Animation applications.  
  • It Plays a crucial role by tracking the Global Cooldown (GCD) of player actions.  
  • It is a plugin for Goat's XIVLauncher.

PennyPincher:  

  • It is a C# library used in Plugin applications.  
  • It Contributes financial management features to the XIVLauncher library.  
  • Players use it to aid in budgeting, expense tracking, and wealth management.

OrchestrionPlugin:  

  • User Interface, Frontend Framework, React, and Discord applications use it.  
  • It is a plugin for Goat's XivLauncher that adds a simple music player interface to control the in-game BGM.  
  • By providing more functionality related to the in-game system, it enhances this.

ReadyCheckHelper: 

  • It is a C# library used in Media and Media Player applications. 
  • It presents ready-check information to the player in a better way.  
  • Before engaging in group activities or content, players ensure their preparation.

FAQ  

1. What is XIVLauncher?  

XIVLauncher is a C# library. The creators designed it for modding and customization in Final Fantasy XIV. It provides tools and utilities for enhancing the game experience.  

  

2. How do I install XIVLauncher?  

You can find the installation instructions in the documentation. Ensure you have the required dependencies and follow the step-by-step guide provided.  

  

3. Is XIVLauncher compatible with the latest version of Final Fantasy XIV?  

Check the library's documentation to confirm compatibility with the current version of XIV. Compatibility with the latest game version may be updated.  

  

4. Can I use XIVLauncher for creating custom mods?  

XIVLauncher often includes features and functions for modding. Refer to the documentation and guidelines. Those are used to understand how to create and apply custom mods using the library.  

  

5. Are there any sample projects or tutorials available?  

Look for sample projects in the documentation to get started with XIVLauncher. You should understand its capabilities.

Here are the best open-source jQuery tooltip libraries for your applications. You can use these powerful tools to create interactive and informative tooltips for your web applications.

 

Tooltips are small, contextual pop-up windows that appear when users hover over an item or element on a web page. They can provide additional information or context to the user without taking up valuable real estate on the page. Many JQuery Tooltip Libraries are available, each with its features and functionality. These libraries allow developers to easily create tooltips with various styles, sizes, and animations. These libraries come with pre-built styles and animations, which can be easily customized to match the look and feel of the application. Additionally, they often include built-in accessibility features, such as support for screen readers and keyboard navigation. One of the key advantages of using a JQuery Tooltip Library is that it saves developers time and effort in building tooltips from scratch.

 

In conclusion, JQuery Tooltip Libraries are an essential tool for developers looking to enhance the user experience of their web applications. With their easy-to-use interfaces and customizable options, these libraries can help developers create informative and interactive tooltips that engage and inform users. We have handpicked the top and trending open-source jQuery tooltip libraries for your next application development project. 

QTip2:

  • Used to create powerful and highly customizable tooltips.
  • Offers a wide range of options, including creating tooltips with HTML content and complex animations.
  • Supports mobile devices and comes with built-in accessibility features.

Tippy:

  • Used for creating tooltips and other mouse-activated positioned text.
  • It’s a lightweight library that focuses on simplicity and speed.
  • Provides a straightforward API for creating tooltips and supports keyboard navigation and screen readers.

Tooltipster:

  • Used in Plugin, jQuery applications, etc., for creating modern tooltips.
  • Supports HTML content and a variety of animation effects.
  • Provides an API for advanced customization.


Opentip:

  • Used in User Interface, Frontend Framework, jQuery applications, etc.
  • Provides HTML content and a variety of animation effects.
  • Supports custom events and has built-in support for various types of data.

jQuery.balloon.js:

  • Used in Plugin, jQuery applications, etc., to add balloon tips to elements.
  • Provides a variety of pre-built tooltip styles.
  • It is easy to use and requires minimal setup.

Tipsy:

  • Used in Plugin, jQuery applications, etc.
  • Provides a Facebook-style tooltips plugin for jQuery with various pre-built tooltip styles. 
  • Supports HTML content and custom animations.

PowerTip:

  • Used in Plugin, jQuery applications, etc., to create hover tooltips.
  • Supports HTML content and a variety of animation effects.
  • Provides an API for advanced customization and supports keyboard navigation.

Leaflet libraries for dynamic routing and directions. It provides developers with tools to integrate interactive maps into their applications.  

It enables users to generate routes and directions between various locations. These libraries often leverage Leaflet.js. It is a popular open-source JavaScript library for interactive maps. 

Key features include: 

  • Routing and Directions: Enable users to input their starting point and destination. 
  • Customization: Allow developers to customize the appearance of the route lines and markers. 
  • Interactive Maps: Provide interactive maps with zooming, panning, and other navigation features. 
  • Geocoding: Convert addresses or place names into geographic coordinates to ease route calculation. 
  • Integration: Integrates with other mapping services. 
  • Accessibility: Ensure that the maps and directions are accessible to users with disabilities. 
  • Mobile Compatibility: Optimize for mobile devices. 

leaflet-geoman:

  • This library adds drawing and editing functionalities to Leaflet maps. 
  • It is useful for creating dynamic routes and directions through user interaction. 
  • It enables users to collect spatial data by drawing points, lines, and polygons on the map. 

leaflet-routing-machine:

  • This library extends Leaflet with routing capabilities. 
  • It allows you to build interactive routing applications. 
  • It supports various routing providers like OSRM, Mapbox, and GraphHopper. 

leaflet-realtime:

  • This library allows you to display real-time data on Leaflet maps. 
  • It can be useful for dynamic routing applications that must live updates. 
  • It is tracking moving objects or adjusting routes based on changing conditions. 

Leaflet.Editable:

  • Leaflet.Editable allows users to add custom waypoints or markers on the map. 
  • It enhances UI with the map by enabling users to draw, edit, and delete vector shapes. 
  • It facilitates data by allowing users to draw points, lines, and polygons on the map. 

leaflet-control-geocoder:

  • This plugin adds a geocoding control to your Leaflet maps. 
  • It allows users to input addresses or place names and get directions. 
  • It supports many geocoding providers like Mapbox, Google, and OpenStreetMap. 

Leaflet.MapboxVectorTile:

  • It is used to leverage vector tiles from Mapbox. 
  • It enables fast rendering of map data, including routing information. 
  • It is efficient for dynamic routing applications. 

Leaflet.Elevation:

  • Leaflet.Elevation is a plugin for Leaflet that adds elevation profiles to maps 
  • It provides a simple way to display elevation profiles along routes on Leaflet maps. 
  • Leaflet.Elevation aids users in making informed decisions about their routes. 

Leaflet.RotatedMarker:

  • It allows developers to create markers with arbitrary rotation angles on interactive maps. 
  • It can be handy for indicating direction along routes by rotating markers. 
  • It can complement dynamic routing libraries by enhancing route visualization. 

leaflet-gps:

  • This library adds a control to Leaflet maps that allows users to track their GPS position. 
  • It is useful for applications where real-time tracking and routing are required. 
  • Leaflet.Control.Gps enables users to specify their starting point with precision. 

FAQ

1. How do I install dynamic routing using Leaflet?  

To install dynamic routing with Leaflet, you can use routing plugins. Those plugins are Leaflet Routing Machine or Leaflet Routing Control. These plugins allow you to specify start and end points, as well as any waypoints. It also allows us to display the route on the map. You'll need to include the plugin script in your HTML file. Then follow the plugin documentation for configuration and usage instructions. 


2. Can I customize the appearance of route lines in Leaflet?  

Yes, you can customize the appearance of route lines in Leaflet. Most routing plugins allow you to specify options for route lines. Those route lines are such as color, weight, and opacity. You can use Leaflet's Path options to further customize the appearance of route lines. Those are such as dash styles or line caps. 


3. What data sources can I use for dynamic routing with Leaflet?  

You can use various data sources for dynamic routing with Leaflet. It includes OpenStreetMap, Mapbox, and third-party routing APIs like GraphHopper or OSRM. These services provide routing data and directions. By using those services, you can display your Leaflet map. 


4. How do I add draggable waypoints to my Leaflet routing application? To add draggable waypoints to your Leaflet routing app, you can use Leaflet.Draggable. These plugins allow users to drag and drop waypoints on the map, which updates the route. You'll need to include the plugin script. Then follow the documentation for implementation details. 


5. Can Leaflet maps display live traffic for dynamic route planning?  

Yes, it's possible to display real-time traffic information on Leaflet maps. It is used for dynamic routing. You can use Mapbox Traffic with the traffic layer. It is enabled to show real-time traffic conditions on your Leaflet map. Make sure to check the documentation and pricing for these services. 

These libraries are essential for making location-based apps. They offer many tools to improve maps. 


MarkerCluster groups nearby markers into clusters for better organization. Draw allows users to create shapes like polygons and circles on the map. The Routing Machine helps display routes and directions between points. 

  • Heatmap.js visualizes data density on the map with color gradients. 
  • The sidebar adds panels to display more information alongside the map. 
  • Ajax loads external data sources onto the map. Globeminimap offers a small overview map for navigation. 
  • PIP (Point in Polygon) determines if a point lies within a polygon boundary. 
  • MarkerCluster.LayerSupport improves clustering by supporting layers for different datasets. 
  • The curve enables the drawing of smoother and more pleasing curves on the map. 

These libraries empower developers to create interactive and feature-rich location-based applications. By using these tools, developers can customize maps to fit specific needs. They can use the maps to show data. They can use them for navigation and to improve user interaction. This makes location-based apps more engaging. 

react-leaflet-markercluster

  • Cluster many markers for improved map performance. 
  • Customize cluster icons and styling. 
  • Support for integrating with React components. 

react-leaflet-draw

  • Allow users to draw and edit shapes like polygons and circles on the map. 
  • Customize drawing tools and options. 
  • Handle drawing events within React applications. 

leaflet-routing-machine

  • Display routes and directions between many points. 
  • Customize route styles and options. 
  • Support for various routing engines like OSRM and GraphHopper. 

heatmap.js

  • Visualize point density on a map using a heatmap overlay. 
  • Customize heatmap appearance and intensity. 
  • Interactivity with clickable points and customizable tooltips. 

leaflet-sidebar

  • Add a sidebar to Leaflet maps for displaying extra information or controls. 
  • Customize sidebar content and appearance. 
  • Support for responsive designs and dynamic content loading. 

leaflet-ajax

  • Load external GeoJSON or other data sources onto the map. 
  • Handle asynchronous data loading and updates. 
  • Support for various data formats and sources. 

Leaflet.markercluster

  • Group many markers into clusters for improved performance. 
  • Customize cluster icons and behavior. 
  • Support for large datasets with seamless performance. 

leaflet-globeminimap

  • Add a minimap to Leaflet maps to provide an overview of the entire map area. 
  • Customize minimal appearance and behavior. 
  • Support for synchronization with the main map view. 

leaflet-pip

  • Determine if a point is inside a polygon (Point in Polygon - PIP) . 
  • Handle complex polygon geometries and multi-polygon scenarios. 
  • Support for various spatial analysis applications. 

Leaflet.MarkerCluster.LayerSupport

  • Enhanced marker clustering with support for layers. 
  • Different data sets or categories form the basis of cluster markers. 
  • Improved organization and visualization of clustered data. 

Leaflet.curve

  • Draw smooth Bezier curves on Leaflet maps. 
  • You can customize how the curves look and behave. 
  • Leaflet maps support both curved and straight lines. 

FAQ 

1. What is Leaflet? 

The leaflet is an open-source JavaScript library. It helps developers make interactive maps for web apps. It provides a light way to display maps. It also lets you add features to location-based apps. 

 

2. Why should I use MarkerCluster in my application? 

MarkerCluster is useful for managing large numbers of markers on a map. MarkerCluster groups nearby markers on the map. This improves readability and performance. It's especially helpful for datasets with many markers, so the map isn't cluttered. 

 

3. Can I add custom shapes like polygons or circles to my Leaflet map? 

Yes, you can use the Leaflet. draw library. It lets you add custom shapes like polygons, circles, and rectangles to your map. This library lets users draw and edit shapes. It allows for dynamic data visualization and user interaction. 

 

4. How can I display routes and directions between locations on my map? 

You can achieve this using the leaflet-routing-machine library. It provides features to calculate and show routes. It also gives turn-by-turn directions between many points on the map. These features improve navigation and give valuable information to users. 

 

5. What is the purpose of Heatmap.js in Leaflet applications? 

Heatmap.js visualizes point density on a map. It represents density with color gradients. Studying where people live, and crime levels can help us understand distributions. It can also help us make decisions in location-based apps. 

Mongoose libraries help with data population and referencing. They make it easier to manage data relationships in MongoDB databases. 


They simplify linking and accessing data across collections. This makes development faster. These libraries automate tasks. They populate referenced data, fetching related info without complex code. 

  • They also handle deep populations, allowing retrieval of nested data structures with ease. 
  • Developers often use these libraries to customize the population and referencing of data. 
  • For example, if you have a user and a post collection, a referencing library can fetch all posts by a specific user. It does this without querying the database. 
  • This reduces development time and makes code more readable. 

Additionally, these libraries ensure data integrity by validating references and handling errors. 


Mongoose libraries simplify database interactions. They handle data population and referencing. This makes it easier to work with complex data models in MongoDB apps. 

mongoose-autopopulate

  • populates specified fields in Mongoose schemas, reducing manual population efforts. 
  • Supports a deep population of referenced documents, enabling retrieval of nested data structures. 
  • Offers configuration options to control autopopulation behavior, providing flexibility in data retrieval. 

mongoose-deep-populate

  • Facilitates a deep population of documents in Mongoose, enabling retrieval of nested data structures. 
  • Supports a population of many levels of nested documents, enhancing data querying capabilities. 
  • Provides options to specify paths for deep population, ensuring flexibility in data retrieval. 

mongoose-findorcreate

  • Simplifies finding or creating documents in Mongoose, streamlining data management operations. 
  • Supports atomic operations for finding or creating documents, ensuring data integrity. 
  • Offers a convenient API for handling race conditions during find or create operations. 

mongoose-paginate-v2

  • Adds pagination support to Mongoose queries, improving performance and scalability. 
  • Supports customizable pagination options such as page size and page number, enhancing flexibility. 
  • Integrates with Mongoose models, allowing for easy implementation of pagination. 

mongoose-unique-validator

  • Ensures the uniqueness of values in Mongoose schema fields, maintaining data integrity. 
  • Provides customizable error messages for duplicate values, aiding in error handling. 
  • Supports validation of uniqueness across many fields, offering versatile validation capabilities. 

mongoose-data-seed

  • Seeds data into Mongoose models, facilitating database initialization with sample or default data. 
  • Supports batch seeding of large datasets, improving efficiency in database setup. 
  • Provides options for seeding data from various sources, ensuring flexibility in data population. 

mongoose-aggregate-paginate-v2

  • Adds pagination support to Mongoose total queries, enabling efficient handling of large datasets. 
  • You can customize pagination. You can set the page size and page number. This enhances the flexibility of result pagination. 
  • It integrates with Mongoose's aggregation framework. This allows for easy pagination in add queries. 

mongoose-schema-jsonschema

  • generates JSON schema definitions from Mongoose schemas. 
  • Supports customization of the generated JSON schemas through configuration options. 
  • Enables seamless integration with various JSON schema tools and libraries. 

FAQ 

1.What are Mongoose libraries? 

Mongoose libraries are tools. They make working with MongoDB databases easier. They do this, especially in Node.js applications. 

 

2.What do these libraries do? 

They make tasks simpler. They handle data population and referencing. This makes it easier to manage relationships between different data sets. 

 

3.Why use Mongoose libraries? 

They automate repetitive tasks, saving developers time and effort. They also provide features like deep population. Ensuring easy access to nested data. 

 

4.How do Mongoose libraries help with data population? 

They automate the process of getting related data. This reduces the need for manual querying and coding. 

 

5.Can Mongoose libraries handle complex data structures? 

Yes, they support the deep population. They can handle nested data with ease. 

 

6.Do Mongoose libraries ensure data integrity? 

Yes, they often provide features. These features include validation and error handling. They ensure data stays consistent and accurate. 

The leaflet is an open-source JavaScript library used for creating interactive maps on the web. It provides a lightweight and versatile framework for embedding maps.


The geographic information into websites and web applications. The leaflet was designed with simplicity, performance, and usability in mind. This makes it accessible to developers of all skill levels. 



Key features of the Leaflet include: 

  1. Interactive Maps: Leaflet allows developers to create interactive maps with zooming. The panning and customizable controls for users to explore geographic data. 
  2. Customizable Design: Developers can customize the appearance of maps by choosing tile layers. The markers have shapes and overlays to suit their specific needs and design. 
  3. Extensibility: Leaflet offers a wide range of plugins and extensions for its functionality. It enables developers to add features as clustering, routing, and geocoding. 
  4. Mobile-Friendly: Leaflet is optimized for mobile devices, providing a responsive. It's an interface that works well on smartphones and tablets. 
  5. Compatibility: Leaflet is compatible with modern web browsers and supports various mapping providers. It includes OpenStreetMap, Mapbox, Google Maps, and others. 
  6. Performance: Leaflet is known for its performance and efficiency. It offers smooth map rendering and fast loading times. It even merges with large datasets and complex interactions. 
  7. Community Support: Leaflet has a large and active community of developers to its contributions. It provides support and shares resources such as tutorials, plugins, and examples. 


Leaflet offers a robust and versatile platform for building interactive story maps. That engages users with geographic data and narratives. Its lightweight footprint, extensive feature set, and active developer community. Leaflet provides the necessary tools to create compelling and informative map-based experiences. 

Leaflet: 

  • Leaflet is an open-source JavaScript library that creates interactive maps on the web. 
  • Leaflet enables developers to create interactive maps with features. 
  • Leaflet supports a wide range of plugins and extensions that extend its functionality. 


leaflet-routing-machine: 

  • The Leaflet Routing Machine supports integration with various routing services. 
  • It's an OSRM (Open Source Routing Machine), Mapbox, GraphHopper, and others. 
  • The Leaflet Routing Machine provides turn-by-turn directions for the generated routes. 


leaflet-omnivore: 

  • Leaflet-Omnivore is a Leaflet plugin to simplify the process of loading geospatial data. 
  • Leaflet-Omnivore supports a variety of common geospatial data formats. 
  • Leaflet-Omnivore seamlessly integrates with the leaflet mapping functionalities. 


Leaflet.fullscreen: 

  • Leaflet. Fullscreen is a plugin for the leaflet that allows to expansion of maps to fullscreen. 
  • Leaflet. Fullscreen adds a fullscreen toggle button to the Leaflet map interface. 
  • Leaflet. Fullscreen is designed with accessibility in mind and complies with web accessibility. 


Leaflet.Zoomify: 

  • Leaflet. Zoomify is a plugin for the leaflet that displays high-resolution images. 
  • Leaflet. Zoomify supports the display of high-resolution images in the Zoomify format. 
  • Leaflet. Zoomify is designed to be responsive and works well on devices and screen sizes. 


leaflet-elevation: 

  • Leaflet. Elevation is a plugin for the leaflet that allows users to display profiles. 
  • Leaflet. Elevation enables the display of profiles along defined paths on Leaflet maps. 
  • Leaflet. Elevation seamlessly integrates with the Leaflet mapping library. 


Leaflet.label: 

  • Leaflet. Label is a plugin for the Leaflet library that enables the creation of labels. 
  • Leaflet. Label allows developers to create custom labels for markers. 
  • Leaflet. Label provides flexibility in terms of label placement and positioning. 


Leaflet-MiniMap: 

  • Leaflet-MiniMap is a plugin for the Leaflet library that provides a minimap control. 
  • Leaflet-MiniMap adds a minimap control to the Leaflet map interface. 
  • Leaflet-MiniMap is designed to be responsive and works well on-screen sizes. 


Leaflet.Photo: 

  • Leaflet. Photo is a plugin for the Leaflet library designed to integrate photos. 
  • Leaflet. Photo enables the integration of geotagged photos onto Leaflet maps. 
  • Leaflet. photo is design to be responsive and works well on devices and screen sizes. 


FAQ

1. What is Leaflet? 

The leaflet is an open-source JavaScript library used for creating interactive maps on the web. It provides a lightweight and versatile framework for embedding maps. It has geographic information on websites and web applications. 


2. How can I build interactive story maps with Leaflet? 

It can build interactive story maps with leaflets by integrating geographic data. It has multimedia content and narrative elements in Leaflet maps. The leaflet provides a range of features and plugins for creating interactive maps. It includes markers, overlays, pop-ups, and routing functionalities. 


3. What are some key components of interactive story maps? 

Key components of interactive story maps include: 

  • Geographic Data: Data sets containing location-based information such as points, lines, and polygons. 
  • Multimedia Content: Images, videos, audio, and other multimedia elements that enrich the storytelling. 
  • Narrative Elements: Text, annotations, captions, and descriptions that provide context and guide users. 
  • Interactive Controls: User interface elements such as zoom buttons, and layer controls. It can navigation tools that enable users to interact with the map. 


4. Are there any Leaflet plugins specifically for building interactive story maps? 

There are no specific Leaflet plugins designed only for building interactive story maps. It has many Leaflet plugins and extensions that can be used to enhance the functionality. The popular plugins include Leaflet. Marker cluster, Leaflet. Draw, Leaflet. Timeline and Leaflet-omnivore. 


5. What are some best practices for building interactive story maps? 

Some best practices for building interactive story maps include: 

  • Keep it focused: Define a clear narrative and storyline for your map. 
  • Use engaging visuals: Incorporate high-quality images, videos, and graphics to enhance the storytelling. 
  • Make it interactive: Include interactive elements such as pop-ups, tooltips, and animations. To engage users and encourage exploration. 
  • Optimize for performance: Ensure that map loads run across devices and screen sizes. 
  • Test and iterate: Gather feedback from users and make adjustments to improve usability. 

 

Building accessible tooltips with Popper.js involves considering various aspects of accessibility. It includes keyboard navigation, screen reader compatibility, and focus management. 


Guide to building accessible tooltips with Popper.js: 


  1. Use Semantic HTML: Ensure that your tooltips are built using semantic HTML. It considers using <button>, <a>, or <span> elements to trigger tooltips. They are keyboard accessible by default. 
  2. Keyboard Navigation: Make sure users can access tooltips using keyboard navigation alone. Ensure that users can trigger tooltips using the keyboard besides mouse interaction. 
  3. ARIA Attributes: Tool ARIA attributes to enhance the accessibility of tooltips. Aria is described by associating tooltips with their triggering elements and providing descriptive text. 
  4. Focus Management: Manage focus when tooltips are opened and closed. The tooltip triggers shift focus to the tooltip content to ensure the keyboard. When the tooltip is closed, return focus to the triggering element. 
  5. Customization Options: It Provides customization options for users may need to adjust the tooltip. Its settings are based on their accessibility preferences. They could include options to change the size, color, or position of tooltips. 
  6. Handle Events Properly: Handle mouse and keyboard events to ensure consistent behavior across. These include handling focus, hover, and click events to open and close tooltips. 
  7. Responsive Design: Ensure that tooltips are responsive and work well on different screens. Consider using media queries and CSS to adjust the appearance of tooltips. It is based on screen size and orientation. 


Building accessible tooltips with Popper.js is essential for creating inclusive web experiences. By following best practices and guidelines, can ensure that tooltips. That is usable, understandable, and navigable. It includes those who rely on assistive technologies like screen readers and keyboards. 

a11y-dialog: 

  • A11y-dialog is a JavaScript library designed to create customizable dialogs for web applications. 
  • The library focuses on ensuring that dialogs are fully accessible to users. 
  • a11y-dialog supports keyboard navigation, allowing users to interact with dialogs only on the keyboard. 


tooltipster: 

  • Tooltipster is a versatile plugin designed to create customizable tooltips for web applications. 
  • Tooltipster provides extensive customization options. 
  • Tooltipster supports various content types within tooltips. 


react-tooltip: 

  • React-tooltip is a popular React library that enables developers to create customizable tooltips. 
  • React-tooltip can be seamlessly integrated into React applications using simple JSX syntax. 
  • React-tooltip ensures accessibility by generating tooltips with appropriate ARIA attributes. 


a11y-tooltips: 

  • a11y-tooltips is a lightweight JavaScript library designed to create tooltips for web apps. 
  • a11y-tooltips supports keyboard navigation, ensuring that users can trigger and interact with tooltips. 
  • a11y-tooltips are design to work across various web browsers and platforms. 


popper-core: 

  • Popper-core is the library of Popper.js that uses the JavaScript library for creating tooltips. 
  • Popper-core allows developers to configure various aspects of pop-up element positioning. 
  • Popper-core is design to be lightweight and optimized for performance. 


Pikaday: 

  • Pikaday is a lightweight and customizable date picker library that provides an interface. 
  • Pikaday provides a simple and intuitive interface for selecting dates. 
  • Pikaday is design with accessibility that supports keyboard navigation and a screen reader. 


hint.css: 

  • hint.css is a CSS library typically used in User Interface and React applications. 
  • Hint.css is built with CSS, making it lightweight and eliminating the need for JavaScript. 
  • Hint.css is design to be simple and easy to use. 


react-tippy: 

  • React-Tippy provides extensive customization options for tooltips. 
  • It includes content, styling, positioning, animations, and event triggers. 
  • React-Tippy is design to be easy to use and integrate into React applications. 


react-a11y: 

  • react-a11y is a JavaScript library typically used in User Interface and React applications. 
  • react-a11y has no bugs It has no vulnerabilities. 
  • It can be installed using 'npm I react-a11y-alt' or downloaded from GitHub, npm. 

 

FAQ:

1. What is Popper.js? 

Popper.js is a JavaScript library that helps developers create tooltips. It includes popovers, dropdowns, and other pop-up elements with dynamic positioning. It relates to their reference elements. 


2. Why is accessibility important when building tooltips with Popper.js? 

Accessibility ensures that users with disabilities can perceive, understand, navigate, and interact. It's crucial to consider accessibility to make your tooltips usable by a wide range of users. 

 

3. How can I ensure that tooltips built with Popper.js are accessible? 

Ensure semantic HTML for tooltip triggers and contents. It installs proper ARIA attributes, manages keyboard navigation, and tests with screen readers. 


4. How can I handle focus management when opening and closing tooltips? 

Shifting the focus to the tooltip content it's opened allows keyboard users to navigate it. The tooltip is closed, returning focus to the triggering elements. Its appropriate focus is to maintain a logical tab order. 


5. What tools can I use to test the accessibility of tooltips built with Popper.js? 

It can use screen readers like NVDA or VoiceOver to test tooltip accessibility. Its accessibility auditing tools like axe-core or Lighthouse can help identify accessibility. Those issues and provide recommendations for improvement. 

Mongoose is an object modeling tool for MongoDB, a popular NoSQL database. It is designed to work in an asynchronous environment. It provides a straightforward schema-based solution to model your application data. 


Key features of Mongoose include: 


  1. Schema Definition: Mongoose allows you to define schemas for your data models. Schemas define the structure of documents within a collection. It enforces data types, validations, and default values. 
  2. Modeling: It defines a schema Mongoose provides a straightforward way to create models. Models allow you to interact with MongoDB collections, providing methods for querying. 
  3. Validation: Mongoose supports data validation, allowing you to define validation rules for a schema. This helps ensure that data entering the database meets the specified criteria. 
  4. Middleware: Mongoose allows you to define middleware functions that execute before or after. It is such as saving or removing documents. Middleware can be used to perform more tasks such as data transformation or logging. 
  5. Query Building: Mongoose provides a fluent API for building MongoDB queries. You can use methods like find, findOne, update, and delete to interact with your database. 
  6. Population: Mongoose supports population, it allows you to reference documents in other collections. This is particularly useful for handling relationships between documents. 


Mongoose is a powerful JavaScript library for MongoDB object modeling in Node.js. It provides a schema-based solution for defining data models. It can confirm data and interact with MongoDB databases. Mongoose is the core library for working with MongoDB in Node.js. There are several JavaScript libraries and tools that complement its functionality and enhance it. 

mongoose: 

  • Mongoose allows you to define schemas for your data models. 
  • Mongoose is a JavaScript library for MongoDB designed to work in an asynchronous environment. 
  • Mongoose enables you to define validation rules for your schema fields. 


mongoose-delete: 

  • Mongoose-Delete is a plugin for Mongoose. 
  • The plugin provides a convenient way to install soft deletion functionality in MongoDB. 
  • Mongoose-Delete simplifies the implementation of soft deletion functionality in MongoDB databases. 


mongoose-timestamp: 

  • Mongoose-Timestamp is a plugin for Mongoose, the MongoDB modeling tool for Node.js. 
  • Mongoose-Timestamp simplifies the process of managing timestamp fields in your Mongoose schemas. 
  • It can be installed using 'npm i mongoose-timestamp-thrst' or downloaded from GitHub, npm. 


mongoose-validator: 

  • Mongoose Validator is a library that provides validation for Mongoose in Node.js. 
  • It enables you to define validation rules for your Mongoose schema fields. 
  • Mongoose Validator is a useful library for adding validation to Mongoose schemas. 


mongoose-sequence:  

  • It generates auto-incrementing fields for MongoDB documents.  
  •  It ensures unique incrementing values for each document.   
  • This simplifies the implementation of sequential identifiers.  


mongoose-auth:  

  • It is a plugin for Mongoose, which is a popular MongoDB library for Node.js.  
  • It simplifies the integration of authentication features into MongoDB.  
  • It provides functionalities for user registration, login, and management within MongoDB.  

 

mongoose-unique-validator:  

  • By marking fields as unique, it helps maintain data integrity.  
  • It provides built-in validation for unique fields.  
  • Designers of mongoose schemas ensure compatibility with existing codebases, making them work.  

 

mongoose-deep-populate:  

  • It allows you to populate nested documents and arrays of documents within a Mongoose.  
  • It makes your code greater readable and maintainable.  
  • It enables you to model complex data relationships within Mongoose.


mongoose-auto-increment:  

  • It allows you to generate and increment unique identifiers for your MongoDB documents.  
  • It simplifies the process of generating sequential IDs in Mongoose schemas.  
  • It is compatible with various versions of Mongoose and MongoDB. 


 mongoose-paginate-v2:  

  • It enables pagination for Mongoose queries.   
  • It simplifies the handling of large datasets by splitting results into pages.   
  • The plugin also supports customizable pagination options such as page size and sorting. 

 

egg-mongoose:  

  • It integrates Mongoose into Egg.js applications.  
  •  It provides convenient methods for interacting with MongoDB.  
  •  With egg-mongoose, you can develop Egg.js applications with MongoDB integration. 


mongoose-autopopulate:  

  • It populates referenced documents in Mongoose queries.  
  •  It reduces the need for a manual population of referenced fields.   
  • This helps to avoid callback hell by streamlining data fetching.  

 

FAQ


1. What is Mongoose? 

Mongoose is an Object Data Modeling (ODM) library for MongoDB and Node.js. It provides a schema-based solution for modeling application data and interacting with MongoDB. 


2. What is Mongoose used for? 

Mongoose is used to define schemas, models, and middleware for MongoDB documents. It simplifies data validation, querying, and manipulation tasks. This makes it easier to work with MongoDB databases. 


3. How is Mongoose used with Express.js? 

Mongoose is often used alongside Express.js to create web applications. The RESTful APIs that interact with MongoDB databases. Express.js handles HTTP requests and routes. Mongoose handles data modeling, validation, and database operations. 


4. How is Mongoose used with Joi? 

Mongoose can be used with Joi to define and confirm the structure of data before saving it to MongoDB. Joi schemas can be defined to specify validation rules for Mongoose schema fields. 


5. How is Mongoose used with Passport.js? 

Mongoose can be integrated with Passport.js to handle user authentication and authorization. Mongoose models are used to store user data in MongoDB. Passport.js provides middleware for authenticating users using different strategies. 

Libraries for crafting dynamic tooltips are essential tools for web developers. They use them to enhance user experience.

They also provide informative hints or messages within their applications. These libraries offer pre-built solutions and components. They are often powered by positioning engines like Popper.js. They enable developers to integrate and customize tooltips without extensive coding. These libraries vary in features and capabilities. They generally provide APIs or components for creating tooltips.

  • The tooltips have customizable content, styling, and behaviors.
  • Some libraries may focus on tooltips.
  • Others offer a broader range of UI components alongside tooltips.
  • Additionally, these libraries often focus on responsiveness and accessibility.
  • They ensure tooltips adapt well to different screen sizes.
  • They also ensure tooltips are usable by individuals with disabilities.

Libraries for crafting dynamic tooltips simplify the implementation process. They allow developers to add informative and appealing tooltips to their web applications. this improves user interaction and usabiliy

popper-core:

  • This is a lightweight library that extends Popper.js.
  • Creating tooltips is the purpose of its use. The library has simple API methods that make tooltip creation easy.
  • Additionally, users can customize tooltips to change their appearance and behavior.

jquery.balloon.js:

  • This is a CSS library that only focuses on tooltips and popovers.
  • It uses Popper.js to position them.
  • It has a variety of different styles and animations for tooltips.

react-popper:

  • This is a React wrapper for Popper.js.
  • It helps you create tooltips, popovers, and other similar things.
  • It uses React hooks and components to handle Popper.js instances.

react-tooltip:

  • This is a tooltip library for React applications.
  • You can customize the content and positioning.
  • It is easy to integrate with React components.

jquery-validation-bootstrap-tooltip:

  • This tool combines jQuery validation with Bootstrap tooltips.
  • It shows validation messages as tooltips for form fields.
  • It improves the user experience by giving feedback on form validation.

material-ui-designer:

  • This toolkit helps you design user interfaces using Material-UI components.
  • It includes a variety of design tools and utilities.
  • It integrates with Material-UI, making it easier to develop user interfaces .

ant-design-vue:

  • This is a tooltip component for React that integrates with Popper.js.
  • It supports different tooltip configurations and placements.
  • Ant Design's design system styles it.

vuetify-form-base:

  • Vuetify's base component creates forms.
  • It provides reusable form components with built-in validation.
  • It integrates with Vuetify's styling and theming.

react-bulma-components:

  • This library contains React components for the Bulma CSS framework.
  • It includes tooltip components that have support for Popper.js.
  • The library offers a variety of UI components for building applications using Bulma.

FAQ

1.What are dynamic tooltips, and why are they important?

Dynamic tooltips are interactive elements in web applications. They provide users with helpful hints, messages, or extra information. This happens when they hover over or interact with certain UI elements. They are crucial for enhancing user experience. They offer guidance and context, improving usability and reducing user frustration.


2.How do libraries for crafting tooltips simplify development?

These libraries offer pre-built solutions and components. They are often powered by positioning engines, like Popper.js. Developers can integrate tooltips into their applications using these libraries. They won't need to write extensive custom code. This saves development time and effort. It allows developers to focus on other aspects of their projects.


3.What features do these libraries offer?

Libraries for crafting dynamic tooltips provide APIs or components. They allow creating tooltips with customizable content, styling, and behaviors. They may include features such as animations, delay options, and advanced positioning controls. Many of these libraries focus on responsiveness and accessibility. They ensure tooltips work well across different devices and are usable by all users.


4.Can popular UI frameworks use these libraries alongside?

Yes, developers have designed many of these libraries to work with popular UI frameworks. These include React, Vue.js, Angular, and Bootstrap. They offer integrations, wrappers, or components tailored to these frameworks. This way, developers can incorporate tooltips into their existing projects.


5.Are dynamic tooltips only useful for desktop applications?

Dynamic tooltips are helpful for desktop and mobile applications. Desktop interfaces connect to them. But, tooltips can also enhance the mobile user experience. They provide users with context and aid in navigating complex interfaces. These libraries ensure that tooltips function well on various screen sizes. They also ensure that tooltips work well with touch interactions. This makes them perfect for mobile usage.

Trending Discussions on Plugin

Error: Member not found: 'packageRoot', how to solve ignore: deprecated_member_use in Flutter?

Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle'

The unauthenticated git protocol on port 9418 is no longer supported

CentOS through a VM - no URLs in mirrorlist

Java, Intellij IDEA problem Unrecognized option: --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED

Springboot 2.6.0 / Spring fox 3 - Failed to start bean 'documentationPluginsBootstrapper'

Your project requires a newer version of the Kotlin Gradle plugin. (Android Studio)

ESlint - Error: Must use import to load ES Module

Allow insecure protocols, android gradle

Android studio - Generate signed APKs broke

QUESTION

Error: Member not found: 'packageRoot', how to solve ignore: deprecated_member_use in Flutter?

Asked 2022-Apr-05 at 06:52

In my flutter project, I have made some updates of plugins and then used flutter upgrade. After that, whenever I am running my flutter project it is showing following error-

1    /C:/src/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/platform-3.0.2/lib/src/interface/local_platform.dart:46:19: Error: Member not found: 'packageRoot'.
2          io.Platform.packageRoot; // ignore: deprecated_member_use
3                      ^^^^^^^^^^^ FAILURE: Build failed with an exception.
4
5* Where: Script 'C:\src\flutter\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1102
6
7* What went wrong: Execution failed for task ':app:compileFlutterBuildDebug'.
8&gt; Process 'command 'C:\src\flutter\flutter\bin\flutter.bat'' finished with non-zero exit value 1
9
10* Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
11
12* Get more help at https://help.gradle.org
13
14BUILD FAILED in 20s Exception: Gradle task assembleDebug failed with exit code 1
15

So, I need a suggestion that how can I solve this issue?

ANSWER

Answered 2021-Dec-16 at 11:49

For me, cleaning and getting the packages didn't work. This error started after I upgraded flutter. I was on the master channel, a quick fix for me was to switch to stable.

1    /C:/src/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/platform-3.0.2/lib/src/interface/local_platform.dart:46:19: Error: Member not found: 'packageRoot'.
2          io.Platform.packageRoot; // ignore: deprecated_member_use
3                      ^^^^^^^^^^^ FAILURE: Build failed with an exception.
4
5* Where: Script 'C:\src\flutter\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1102
6
7* What went wrong: Execution failed for task ':app:compileFlutterBuildDebug'.
8&gt; Process 'command 'C:\src\flutter\flutter\bin\flutter.bat'' finished with non-zero exit value 1
9
10* Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
11
12* Get more help at https://help.gradle.org
13
14BUILD FAILED in 20s Exception: Gradle task assembleDebug failed with exit code 1
15flutter channel stable
16flutter upgrade
17

Perhaps theres a better solution which deals with platform package directly.

Source https://stackoverflow.com/questions/70363918

QUESTION

Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle'

Asked 2022-Apr-04 at 13:12

I want to add jitpack.io as a repository in my gradle file. This is my gradle root file:

1buildscript {
2    repositories {
3        google()
4        mavenCentral()
5    }
6    dependencies {
7        classpath &quot;com.android.tools.build:gradle:7.0.2&quot;
8        classpath &quot;org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21&quot;
9
10        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.38.1'
11
12        // NOTE: Do not place your application dependencies here; they belong
13        // in the individual module build.gradle files
14    }
15}
16task clean(type: Delete) {
17    delete rootProject.buildDir
18}
19

Since I DON'T have a "allrepositories" to put my dependency there (only works there), I've created and added this code after buildscript code:

1buildscript {
2    repositories {
3        google()
4        mavenCentral()
5    }
6    dependencies {
7        classpath &quot;com.android.tools.build:gradle:7.0.2&quot;
8        classpath &quot;org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21&quot;
9
10        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.38.1'
11
12        // NOTE: Do not place your application dependencies here; they belong
13        // in the individual module build.gradle files
14    }
15}
16task clean(type: Delete) {
17    delete rootProject.buildDir
18}
19allprojects {
20    repositories {
21        maven {url 'https://www.jitpack.io'}
22    }
23}
24

But this is the error I get

1buildscript {
2    repositories {
3        google()
4        mavenCentral()
5    }
6    dependencies {
7        classpath &quot;com.android.tools.build:gradle:7.0.2&quot;
8        classpath &quot;org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21&quot;
9
10        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.38.1'
11
12        // NOTE: Do not place your application dependencies here; they belong
13        // in the individual module build.gradle files
14    }
15}
16task clean(type: Delete) {
17    delete rootProject.buildDir
18}
19allprojects {
20    repositories {
21        maven {url 'https://www.jitpack.io'}
22    }
23}
24Caused by: org.gradle.api.InvalidUserCodeException: Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle'
25

ANSWER

Answered 2021-Sep-16 at 11:02

Android introduced a new way to define repositories.

Remove the dependencyResolutionManagement block from the setting.gradle file to have your project work the old way.

Source https://stackoverflow.com/questions/69163511

QUESTION

The unauthenticated git protocol on port 9418 is no longer supported

Asked 2022-Mar-27 at 13:23

I have been using github actions for quite sometime but today my deployments started failing. Below is the error from github action logs

1Command: git
2Arguments: ls-remote --tags --heads git://github.com/adobe-webplatform/eve.git
3Directory: /home/runner/work/stackstream-fe/stackstream-fe
4Output:
5fatal: remote error: 
6  The unauthenticated git protocol on port 9418 is no longer supported.
7

Upon investigation, it appears that below section in my yml file is causing the issue.

1Command: git
2Arguments: ls-remote --tags --heads git://github.com/adobe-webplatform/eve.git
3Directory: /home/runner/work/stackstream-fe/stackstream-fe
4Output:
5fatal: remote error: 
6  The unauthenticated git protocol on port 9418 is no longer supported.
7    - name: Installing modules
8      run: yarn install
9

I have looked into this change log but can't seem to comprehend the issue.

Additional Details: Server: EC2 Instance Github actions steps:

1Command: git
2Arguments: ls-remote --tags --heads git://github.com/adobe-webplatform/eve.git
3Directory: /home/runner/work/stackstream-fe/stackstream-fe
4Output:
5fatal: remote error: 
6  The unauthenticated git protocol on port 9418 is no longer supported.
7    - name: Installing modules
8      run: yarn install
9  steps:
10  - name: Checkout
11    uses: actions/checkout@v2
12
13  - id: vars
14    run: |
15      if [ '${{ github.ref }}' == 'refs/heads/master' ]; then echo &quot;::set-output name=environment::prod_stackstream&quot; ; echo &quot;::set-output name=api-url::api&quot; ; elif [ '${{ github.ref }}' == 'refs/heads/staging' ]; then echo &quot;::set-output name=environment::staging_stackstream&quot;  ; echo &quot;::set-output name=api-url::stagingapi&quot; ; else echo &quot;::set-output name=environment::dev_stackstream&quot; ; echo &quot;::set-output name=api-url::devapi&quot; ; fi
16
17  - uses: pCYSl5EDgo/cat@master
18    id: slack
19    with:
20      path: .github/workflows/slack.txt
21
22  - name: Slack Start Notification
23    uses: 8398a7/action-slack@v3
24    env:
25      SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
26      ENVIRONMENT: '`${{ steps.vars.outputs.environment }}`'
27      COLOR: good
28      STATUS: '`Started`'
29    with:
30      status: custom
31      fields: workflow,job,commit,repo,ref,author,took
32      custom_payload: |
33        ${{ steps.slack.outputs.text }}
34
35  - name: Installing modules
36    env:
37      REACT_APP_API_URL: 'https://${{ steps.vars.outputs.api-url }}mergestack.com/api/v1'
38    run: yarn install
39
40  - name: Create Frontend Build
41    env:
42      REACT_APP_API_URL: 'https://${{ steps.vars.outputs.api-url }}mergestack.com/api/v1'
43    run: yarn build
44
45  - name: Deploy to Frontend Server DEV
46    if: ${{ contains(github.ref, 'dev') }}
47    uses: easingthemes/ssh-deploy@v2.1.5
48    env:
49      SSH_PRIVATE_KEY: ${{ secrets.DEV_KEY }}
50      ARGS: '-rltgoDzvO --delete'
51      SOURCE: 'deploy/'
52      REMOTE_HOST: ${{ secrets.DEV_HOST }}
53      REMOTE_USER: plyfolio-dev
54      TARGET: '/home/plyfolio-dev/${{ steps.vars.outputs.environment }}/fe/deploy'
55

package.json file

1Command: git
2Arguments: ls-remote --tags --heads git://github.com/adobe-webplatform/eve.git
3Directory: /home/runner/work/stackstream-fe/stackstream-fe
4Output:
5fatal: remote error: 
6  The unauthenticated git protocol on port 9418 is no longer supported.
7    - name: Installing modules
8      run: yarn install
9  steps:
10  - name: Checkout
11    uses: actions/checkout@v2
12
13  - id: vars
14    run: |
15      if [ '${{ github.ref }}' == 'refs/heads/master' ]; then echo &quot;::set-output name=environment::prod_stackstream&quot; ; echo &quot;::set-output name=api-url::api&quot; ; elif [ '${{ github.ref }}' == 'refs/heads/staging' ]; then echo &quot;::set-output name=environment::staging_stackstream&quot;  ; echo &quot;::set-output name=api-url::stagingapi&quot; ; else echo &quot;::set-output name=environment::dev_stackstream&quot; ; echo &quot;::set-output name=api-url::devapi&quot; ; fi
16
17  - uses: pCYSl5EDgo/cat@master
18    id: slack
19    with:
20      path: .github/workflows/slack.txt
21
22  - name: Slack Start Notification
23    uses: 8398a7/action-slack@v3
24    env:
25      SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
26      ENVIRONMENT: '`${{ steps.vars.outputs.environment }}`'
27      COLOR: good
28      STATUS: '`Started`'
29    with:
30      status: custom
31      fields: workflow,job,commit,repo,ref,author,took
32      custom_payload: |
33        ${{ steps.slack.outputs.text }}
34
35  - name: Installing modules
36    env:
37      REACT_APP_API_URL: 'https://${{ steps.vars.outputs.api-url }}mergestack.com/api/v1'
38    run: yarn install
39
40  - name: Create Frontend Build
41    env:
42      REACT_APP_API_URL: 'https://${{ steps.vars.outputs.api-url }}mergestack.com/api/v1'
43    run: yarn build
44
45  - name: Deploy to Frontend Server DEV
46    if: ${{ contains(github.ref, 'dev') }}
47    uses: easingthemes/ssh-deploy@v2.1.5
48    env:
49      SSH_PRIVATE_KEY: ${{ secrets.DEV_KEY }}
50      ARGS: '-rltgoDzvO --delete'
51      SOURCE: 'deploy/'
52      REMOTE_HOST: ${{ secrets.DEV_HOST }}
53      REMOTE_USER: plyfolio-dev
54      TARGET: '/home/plyfolio-dev/${{ steps.vars.outputs.environment }}/fe/deploy'
55   {
56  &quot;name&quot;: &quot;stackstream-fe&quot;,
57  &quot;version&quot;: &quot;1.0.0&quot;,
58  &quot;authors&quot;: [
59    &quot;fayyaznofal@gmail.com&quot;
60  ],
61  &quot;private&quot;: true,
62  &quot;dependencies&quot;: {
63    &quot;@fortawesome/fontawesome-svg-core&quot;: &quot;^1.2.34&quot;,
64    &quot;@fortawesome/free-solid-svg-icons&quot;: &quot;^5.15.2&quot;,
65    &quot;@fortawesome/react-fontawesome&quot;: &quot;^0.1.14&quot;,
66    &quot;@fullcalendar/bootstrap&quot;: &quot;^5.5.0&quot;,
67    &quot;@fullcalendar/core&quot;: &quot;^5.5.0&quot;,
68    &quot;@fullcalendar/daygrid&quot;: &quot;^5.5.0&quot;,
69    &quot;@fullcalendar/interaction&quot;: &quot;^5.5.0&quot;,
70    &quot;@fullcalendar/react&quot;: &quot;^5.5.0&quot;,
71    &quot;@lourenci/react-kanban&quot;: &quot;^2.1.0&quot;,
72    &quot;@redux-saga/simple-saga-monitor&quot;: &quot;^1.1.2&quot;,
73    &quot;@testing-library/jest-dom&quot;: &quot;^5.11.9&quot;,
74    &quot;@testing-library/react&quot;: &quot;^11.2.3&quot;,
75    &quot;@testing-library/user-event&quot;: &quot;^12.6.0&quot;,
76    &quot;@toast-ui/react-chart&quot;: &quot;^1.0.2&quot;,
77    &quot;@types/jest&quot;: &quot;^26.0.14&quot;,
78    &quot;@types/node&quot;: &quot;^14.10.3&quot;,
79    &quot;@types/react&quot;: &quot;^16.9.49&quot;,
80    &quot;@types/react-dom&quot;: &quot;^16.9.8&quot;,
81    &quot;@vtaits/react-color-picker&quot;: &quot;^0.1.1&quot;,
82    &quot;apexcharts&quot;: &quot;^3.23.1&quot;,
83    &quot;availity-reactstrap-validation&quot;: &quot;^2.7.0&quot;,
84    &quot;axios&quot;: &quot;^0.21.1&quot;,
85    &quot;axios-mock-adapter&quot;: &quot;^1.19.0&quot;,
86    &quot;axios-progress-bar&quot;: &quot;^1.2.0&quot;,
87    &quot;bootstrap&quot;: &quot;^5.0.0-beta2&quot;,
88    &quot;chart.js&quot;: &quot;^2.9.4&quot;,
89    &quot;chartist&quot;: &quot;^0.11.4&quot;,
90    &quot;classnames&quot;: &quot;^2.2.6&quot;,
91    &quot;components&quot;: &quot;^0.1.0&quot;,
92    &quot;dotenv&quot;: &quot;^8.2.0&quot;,
93    &quot;draft-js&quot;: &quot;^0.11.7&quot;,
94    &quot;echarts&quot;: &quot;^4.9.0&quot;,
95    &quot;echarts-for-react&quot;: &quot;^2.0.16&quot;,
96    &quot;firebase&quot;: &quot;^8.2.3&quot;,
97    &quot;google-maps-react&quot;: &quot;^2.0.6&quot;,
98    &quot;history&quot;: &quot;^4.10.1&quot;,
99    &quot;i&quot;: &quot;^0.3.6&quot;,
100    &quot;i18next&quot;: &quot;^19.8.4&quot;,
101    &quot;i18next-browser-languagedetector&quot;: &quot;^6.0.1&quot;,
102    &quot;jsonwebtoken&quot;: &quot;^8.5.1&quot;,
103    &quot;leaflet&quot;: &quot;^1.7.1&quot;,
104    &quot;lodash&quot;: &quot;^4.17.21&quot;,
105    &quot;lodash.clonedeep&quot;: &quot;^4.5.0&quot;,
106    &quot;lodash.get&quot;: &quot;^4.4.2&quot;,
107    &quot;metismenujs&quot;: &quot;^1.2.1&quot;,
108    &quot;mkdirp&quot;: &quot;^1.0.4&quot;,
109    &quot;moment&quot;: &quot;2.29.1&quot;,
110    &quot;moment-timezone&quot;: &quot;^0.5.32&quot;,
111    &quot;nouislider-react&quot;: &quot;^3.3.9&quot;,
112    &quot;npm&quot;: &quot;^7.6.3&quot;,
113    &quot;prop-types&quot;: &quot;^15.7.2&quot;,
114    &quot;query-string&quot;: &quot;^6.14.0&quot;,
115    &quot;react&quot;: &quot;^16.13.1&quot;,
116    &quot;react-apexcharts&quot;: &quot;^1.3.7&quot;,
117    &quot;react-auth-code-input&quot;: &quot;^1.0.0&quot;,
118    &quot;react-avatar&quot;: &quot;^3.10.0&quot;,
119    &quot;react-bootstrap&quot;: &quot;^1.5.0&quot;,
120    &quot;react-bootstrap-editable&quot;: &quot;^0.8.2&quot;,
121    &quot;react-bootstrap-sweetalert&quot;: &quot;^5.2.0&quot;,
122    &quot;react-bootstrap-table-next&quot;: &quot;^4.0.3&quot;,
123    &quot;react-bootstrap-table2-editor&quot;: &quot;^1.4.0&quot;,
124    &quot;react-bootstrap-table2-paginator&quot;: &quot;^2.1.2&quot;,
125    &quot;react-bootstrap-table2-toolkit&quot;: &quot;^2.1.3&quot;,
126    &quot;react-chartist&quot;: &quot;^0.14.3&quot;,
127    &quot;react-chartjs-2&quot;: &quot;^2.11.1&quot;,
128    &quot;react-color&quot;: &quot;^2.19.3&quot;,
129    &quot;react-confirm-alert&quot;: &quot;^2.7.0&quot;,
130    &quot;react-content-loader&quot;: &quot;^6.0.1&quot;,
131    &quot;react-countdown&quot;: &quot;^2.3.1&quot;,
132    &quot;react-countup&quot;: &quot;^4.3.3&quot;,
133    &quot;react-cropper&quot;: &quot;^2.1.4&quot;,
134    &quot;react-data-table-component&quot;: &quot;^6.11.8&quot;,
135    &quot;react-date-picker&quot;: &quot;^8.0.6&quot;,
136    &quot;react-datepicker&quot;: &quot;^3.4.1&quot;,
137    &quot;react-dom&quot;: &quot;^16.13.1&quot;,
138    &quot;react-draft-wysiwyg&quot;: &quot;^1.14.5&quot;,
139    &quot;react-drag-listview&quot;: &quot;^0.1.8&quot;,
140    &quot;react-drawer&quot;: &quot;^1.3.4&quot;,
141    &quot;react-dropzone&quot;: &quot;^11.2.4&quot;,
142    &quot;react-dual-listbox&quot;: &quot;^2.0.0&quot;,
143    &quot;react-facebook-login&quot;: &quot;^4.1.1&quot;,
144    &quot;react-flatpickr&quot;: &quot;^3.10.6&quot;,
145    &quot;react-google-login&quot;: &quot;^5.2.2&quot;,
146    &quot;react-hook-form&quot;: &quot;^7.15.2&quot;,
147    &quot;react-i18next&quot;: &quot;^11.8.5&quot;,
148    &quot;react-icons&quot;: &quot;^4.2.0&quot;,
149    &quot;react-image-lightbox&quot;: &quot;^5.1.1&quot;,
150    &quot;react-input-mask&quot;: &quot;^2.0.4&quot;,
151    &quot;react-jvectormap&quot;: &quot;^0.0.16&quot;,
152    &quot;react-leaflet&quot;: &quot;^3.0.5&quot;,
153    &quot;react-meta-tags&quot;: &quot;^1.0.1&quot;,
154    &quot;react-modal-video&quot;: &quot;^1.2.6&quot;,
155    &quot;react-notifications&quot;: &quot;^1.7.2&quot;,
156    &quot;react-number-format&quot;: &quot;^4.7.3&quot;,
157    &quot;react-perfect-scrollbar&quot;: &quot;^1.5.8&quot;,
158    &quot;react-rangeslider&quot;: &quot;^2.2.0&quot;,
159    &quot;react-rating&quot;: &quot;^2.0.5&quot;,
160    &quot;react-rating-tooltip&quot;: &quot;^1.1.6&quot;,
161    &quot;react-redux&quot;: &quot;^7.2.1&quot;,
162    &quot;react-responsive-carousel&quot;: &quot;^3.2.11&quot;,
163    &quot;react-router-dom&quot;: &quot;^5.2.0&quot;,
164    &quot;react-script&quot;: &quot;^2.0.5&quot;,
165    &quot;react-scripts&quot;: &quot;3.4.3&quot;,
166    &quot;react-select&quot;: &quot;^4.3.1&quot;,
167    &quot;react-sparklines&quot;: &quot;^1.7.0&quot;,
168    &quot;react-star-ratings&quot;: &quot;^2.3.0&quot;,
169    &quot;react-super-responsive-table&quot;: &quot;^5.2.0&quot;,
170    &quot;react-switch&quot;: &quot;^6.0.0&quot;,
171    &quot;react-table&quot;: &quot;^7.6.3&quot;,
172    &quot;react-toastify&quot;: &quot;^7.0.3&quot;,
173    &quot;react-toastr&quot;: &quot;^3.0.0&quot;,
174    &quot;react-twitter-auth&quot;: &quot;0.0.13&quot;,
175    &quot;reactstrap&quot;: &quot;^8.8.1&quot;,
176    &quot;recharts&quot;: &quot;^2.0.8&quot;,
177    &quot;redux&quot;: &quot;^4.0.5&quot;,
178    &quot;redux-saga&quot;: &quot;^1.1.3&quot;,
179    &quot;reselect&quot;: &quot;^4.0.0&quot;,
180    &quot;sass&quot;: &quot;^1.37.5&quot;,
181    &quot;simplebar-react&quot;: &quot;^2.3.0&quot;,
182    &quot;styled&quot;: &quot;^1.0.0&quot;,
183    &quot;styled-components&quot;: &quot;^5.2.1&quot;,
184    &quot;toastr&quot;: &quot;^2.1.4&quot;,
185    &quot;typescript&quot;: &quot;^4.0.2&quot;,
186    &quot;universal-cookie&quot;: &quot;^4.0.4&quot;
187  },
188  &quot;devDependencies&quot;: {
189    &quot;@typescript-eslint/eslint-plugin&quot;: &quot;^2.27.0&quot;,
190    &quot;@typescript-eslint/parser&quot;: &quot;^2.27.0&quot;,
191    &quot;@typescript-eslint/typescript-estree&quot;: &quot;^4.15.2&quot;,
192    &quot;eslint-config-prettier&quot;: &quot;^6.10.1&quot;,
193    &quot;eslint-plugin-prettier&quot;: &quot;^3.1.2&quot;,
194    &quot;husky&quot;: &quot;^4.2.5&quot;,
195    &quot;lint-staged&quot;: &quot;^10.1.3&quot;,
196    &quot;prettier&quot;: &quot;^1.19.1&quot;,
197    &quot;react-test-renderer&quot;: &quot;^16.13.1&quot;,
198    &quot;redux-devtools-extension&quot;: &quot;^2.13.8&quot;,
199    &quot;redux-mock-store&quot;: &quot;^1.5.4&quot;
200  },
201  &quot;scripts&quot;: {
202    &quot;start&quot;: &quot;react-scripts start&quot;,
203    &quot;build&quot;: &quot;react-scripts build &amp;&amp; mv build ./deploy/build&quot;,
204    &quot;build-local&quot;: &quot;react-scripts build&quot;,
205    &quot;test&quot;: &quot;react-scripts test&quot;,
206    &quot;eject&quot;: &quot;react-scripts eject&quot;
207  },
208  &quot;eslintConfig&quot;: {
209    &quot;extends&quot;: &quot;react-app&quot;
210  },
211  &quot;husky&quot;: {
212    &quot;hooks&quot;: {
213      &quot;pre-commit&quot;: &quot;lint-staged&quot;
214    }
215  },
216  &quot;lint-staged&quot;: {
217    &quot;*.{js,ts,tsx}&quot;: [
218      &quot;eslint --fix&quot;
219    ]
220  },
221  &quot;browserslist&quot;: {
222    &quot;production&quot;: [
223      &quot;&gt;0.2%&quot;,
224      &quot;not dead&quot;,
225      &quot;not op_mini all&quot;
226    ],
227    &quot;development&quot;: [
228      &quot;last 1 chrome version&quot;,
229      &quot;last 1 firefox version&quot;,
230      &quot;last 1 safari version&quot;
231    ]
232  }
233}
234

ANSWER

Answered 2022-Mar-16 at 07:01

First, this error message is indeed expected on Jan. 11th, 2022.
See "Improving Git protocol security on GitHub".

January 11, 2022 Final brownout.

This is the full brownout period where we’ll temporarily stop accepting the deprecated key and signature types, ciphers, and MACs, and the unencrypted Git protocol.
This will help clients discover any lingering use of older keys or old URLs.

Second, check your package.json dependencies for any git:// URL, as in this example, fixed in this PR.

As noted by Jörg W Mittag:

There was a 4-month warning.
The entire Internet has been moving away from unauthenticated, unencrypted protocols for a decade, it's not like this is a huge surprise.

Personally, I consider it less an "issue" and more "detecting unmaintained dependencies".

Plus, this is still only the brownout period, so the protocol will only be disabled for a short period of time, allowing developers to discover the problem.

The permanent shutdown is not until March 15th.


For GitHub Actions:

As in actions/checkout issue 14, you can add as a first step:

1Command: git
2Arguments: ls-remote --tags --heads git://github.com/adobe-webplatform/eve.git
3Directory: /home/runner/work/stackstream-fe/stackstream-fe
4Output:
5fatal: remote error: 
6  The unauthenticated git protocol on port 9418 is no longer supported.
7    - name: Installing modules
8      run: yarn install
9  steps:
10  - name: Checkout
11    uses: actions/checkout@v2
12
13  - id: vars
14    run: |
15      if [ '${{ github.ref }}' == 'refs/heads/master' ]; then echo &quot;::set-output name=environment::prod_stackstream&quot; ; echo &quot;::set-output name=api-url::api&quot; ; elif [ '${{ github.ref }}' == 'refs/heads/staging' ]; then echo &quot;::set-output name=environment::staging_stackstream&quot;  ; echo &quot;::set-output name=api-url::stagingapi&quot; ; else echo &quot;::set-output name=environment::dev_stackstream&quot; ; echo &quot;::set-output name=api-url::devapi&quot; ; fi
16
17  - uses: pCYSl5EDgo/cat@master
18    id: slack
19    with:
20      path: .github/workflows/slack.txt
21
22  - name: Slack Start Notification
23    uses: 8398a7/action-slack@v3
24    env:
25      SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
26      ENVIRONMENT: '`${{ steps.vars.outputs.environment }}`'
27      COLOR: good
28      STATUS: '`Started`'
29    with:
30      status: custom
31      fields: workflow,job,commit,repo,ref,author,took
32      custom_payload: |
33        ${{ steps.slack.outputs.text }}
34
35  - name: Installing modules
36    env:
37      REACT_APP_API_URL: 'https://${{ steps.vars.outputs.api-url }}mergestack.com/api/v1'
38    run: yarn install
39
40  - name: Create Frontend Build
41    env:
42      REACT_APP_API_URL: 'https://${{ steps.vars.outputs.api-url }}mergestack.com/api/v1'
43    run: yarn build
44
45  - name: Deploy to Frontend Server DEV
46    if: ${{ contains(github.ref, 'dev') }}
47    uses: easingthemes/ssh-deploy@v2.1.5
48    env:
49      SSH_PRIVATE_KEY: ${{ secrets.DEV_KEY }}
50      ARGS: '-rltgoDzvO --delete'
51      SOURCE: 'deploy/'
52      REMOTE_HOST: ${{ secrets.DEV_HOST }}
53      REMOTE_USER: plyfolio-dev
54      TARGET: '/home/plyfolio-dev/${{ steps.vars.outputs.environment }}/fe/deploy'
55   {
56  &quot;name&quot;: &quot;stackstream-fe&quot;,
57  &quot;version&quot;: &quot;1.0.0&quot;,
58  &quot;authors&quot;: [
59    &quot;fayyaznofal@gmail.com&quot;
60  ],
61  &quot;private&quot;: true,
62  &quot;dependencies&quot;: {
63    &quot;@fortawesome/fontawesome-svg-core&quot;: &quot;^1.2.34&quot;,
64    &quot;@fortawesome/free-solid-svg-icons&quot;: &quot;^5.15.2&quot;,
65    &quot;@fortawesome/react-fontawesome&quot;: &quot;^0.1.14&quot;,
66    &quot;@fullcalendar/bootstrap&quot;: &quot;^5.5.0&quot;,
67    &quot;@fullcalendar/core&quot;: &quot;^5.5.0&quot;,
68    &quot;@fullcalendar/daygrid&quot;: &quot;^5.5.0&quot;,
69    &quot;@fullcalendar/interaction&quot;: &quot;^5.5.0&quot;,
70    &quot;@fullcalendar/react&quot;: &quot;^5.5.0&quot;,
71    &quot;@lourenci/react-kanban&quot;: &quot;^2.1.0&quot;,
72    &quot;@redux-saga/simple-saga-monitor&quot;: &quot;^1.1.2&quot;,
73    &quot;@testing-library/jest-dom&quot;: &quot;^5.11.9&quot;,
74    &quot;@testing-library/react&quot;: &quot;^11.2.3&quot;,
75    &quot;@testing-library/user-event&quot;: &quot;^12.6.0&quot;,
76    &quot;@toast-ui/react-chart&quot;: &quot;^1.0.2&quot;,
77    &quot;@types/jest&quot;: &quot;^26.0.14&quot;,
78    &quot;@types/node&quot;: &quot;^14.10.3&quot;,
79    &quot;@types/react&quot;: &quot;^16.9.49&quot;,
80    &quot;@types/react-dom&quot;: &quot;^16.9.8&quot;,
81    &quot;@vtaits/react-color-picker&quot;: &quot;^0.1.1&quot;,
82    &quot;apexcharts&quot;: &quot;^3.23.1&quot;,
83    &quot;availity-reactstrap-validation&quot;: &quot;^2.7.0&quot;,
84    &quot;axios&quot;: &quot;^0.21.1&quot;,
85    &quot;axios-mock-adapter&quot;: &quot;^1.19.0&quot;,
86    &quot;axios-progress-bar&quot;: &quot;^1.2.0&quot;,
87    &quot;bootstrap&quot;: &quot;^5.0.0-beta2&quot;,
88    &quot;chart.js&quot;: &quot;^2.9.4&quot;,
89    &quot;chartist&quot;: &quot;^0.11.4&quot;,
90    &quot;classnames&quot;: &quot;^2.2.6&quot;,
91    &quot;components&quot;: &quot;^0.1.0&quot;,
92    &quot;dotenv&quot;: &quot;^8.2.0&quot;,
93    &quot;draft-js&quot;: &quot;^0.11.7&quot;,
94    &quot;echarts&quot;: &quot;^4.9.0&quot;,
95    &quot;echarts-for-react&quot;: &quot;^2.0.16&quot;,
96    &quot;firebase&quot;: &quot;^8.2.3&quot;,
97    &quot;google-maps-react&quot;: &quot;^2.0.6&quot;,
98    &quot;history&quot;: &quot;^4.10.1&quot;,
99    &quot;i&quot;: &quot;^0.3.6&quot;,
100    &quot;i18next&quot;: &quot;^19.8.4&quot;,
101    &quot;i18next-browser-languagedetector&quot;: &quot;^6.0.1&quot;,
102    &quot;jsonwebtoken&quot;: &quot;^8.5.1&quot;,
103    &quot;leaflet&quot;: &quot;^1.7.1&quot;,
104    &quot;lodash&quot;: &quot;^4.17.21&quot;,
105    &quot;lodash.clonedeep&quot;: &quot;^4.5.0&quot;,
106    &quot;lodash.get&quot;: &quot;^4.4.2&quot;,
107    &quot;metismenujs&quot;: &quot;^1.2.1&quot;,
108    &quot;mkdirp&quot;: &quot;^1.0.4&quot;,
109    &quot;moment&quot;: &quot;2.29.1&quot;,
110    &quot;moment-timezone&quot;: &quot;^0.5.32&quot;,
111    &quot;nouislider-react&quot;: &quot;^3.3.9&quot;,
112    &quot;npm&quot;: &quot;^7.6.3&quot;,
113    &quot;prop-types&quot;: &quot;^15.7.2&quot;,
114    &quot;query-string&quot;: &quot;^6.14.0&quot;,
115    &quot;react&quot;: &quot;^16.13.1&quot;,
116    &quot;react-apexcharts&quot;: &quot;^1.3.7&quot;,
117    &quot;react-auth-code-input&quot;: &quot;^1.0.0&quot;,
118    &quot;react-avatar&quot;: &quot;^3.10.0&quot;,
119    &quot;react-bootstrap&quot;: &quot;^1.5.0&quot;,
120    &quot;react-bootstrap-editable&quot;: &quot;^0.8.2&quot;,
121    &quot;react-bootstrap-sweetalert&quot;: &quot;^5.2.0&quot;,
122    &quot;react-bootstrap-table-next&quot;: &quot;^4.0.3&quot;,
123    &quot;react-bootstrap-table2-editor&quot;: &quot;^1.4.0&quot;,
124    &quot;react-bootstrap-table2-paginator&quot;: &quot;^2.1.2&quot;,
125    &quot;react-bootstrap-table2-toolkit&quot;: &quot;^2.1.3&quot;,
126    &quot;react-chartist&quot;: &quot;^0.14.3&quot;,
127    &quot;react-chartjs-2&quot;: &quot;^2.11.1&quot;,
128    &quot;react-color&quot;: &quot;^2.19.3&quot;,
129    &quot;react-confirm-alert&quot;: &quot;^2.7.0&quot;,
130    &quot;react-content-loader&quot;: &quot;^6.0.1&quot;,
131    &quot;react-countdown&quot;: &quot;^2.3.1&quot;,
132    &quot;react-countup&quot;: &quot;^4.3.3&quot;,
133    &quot;react-cropper&quot;: &quot;^2.1.4&quot;,
134    &quot;react-data-table-component&quot;: &quot;^6.11.8&quot;,
135    &quot;react-date-picker&quot;: &quot;^8.0.6&quot;,
136    &quot;react-datepicker&quot;: &quot;^3.4.1&quot;,
137    &quot;react-dom&quot;: &quot;^16.13.1&quot;,
138    &quot;react-draft-wysiwyg&quot;: &quot;^1.14.5&quot;,
139    &quot;react-drag-listview&quot;: &quot;^0.1.8&quot;,
140    &quot;react-drawer&quot;: &quot;^1.3.4&quot;,
141    &quot;react-dropzone&quot;: &quot;^11.2.4&quot;,
142    &quot;react-dual-listbox&quot;: &quot;^2.0.0&quot;,
143    &quot;react-facebook-login&quot;: &quot;^4.1.1&quot;,
144    &quot;react-flatpickr&quot;: &quot;^3.10.6&quot;,
145    &quot;react-google-login&quot;: &quot;^5.2.2&quot;,
146    &quot;react-hook-form&quot;: &quot;^7.15.2&quot;,
147    &quot;react-i18next&quot;: &quot;^11.8.5&quot;,
148    &quot;react-icons&quot;: &quot;^4.2.0&quot;,
149    &quot;react-image-lightbox&quot;: &quot;^5.1.1&quot;,
150    &quot;react-input-mask&quot;: &quot;^2.0.4&quot;,
151    &quot;react-jvectormap&quot;: &quot;^0.0.16&quot;,
152    &quot;react-leaflet&quot;: &quot;^3.0.5&quot;,
153    &quot;react-meta-tags&quot;: &quot;^1.0.1&quot;,
154    &quot;react-modal-video&quot;: &quot;^1.2.6&quot;,
155    &quot;react-notifications&quot;: &quot;^1.7.2&quot;,
156    &quot;react-number-format&quot;: &quot;^4.7.3&quot;,
157    &quot;react-perfect-scrollbar&quot;: &quot;^1.5.8&quot;,
158    &quot;react-rangeslider&quot;: &quot;^2.2.0&quot;,
159    &quot;react-rating&quot;: &quot;^2.0.5&quot;,
160    &quot;react-rating-tooltip&quot;: &quot;^1.1.6&quot;,
161    &quot;react-redux&quot;: &quot;^7.2.1&quot;,
162    &quot;react-responsive-carousel&quot;: &quot;^3.2.11&quot;,
163    &quot;react-router-dom&quot;: &quot;^5.2.0&quot;,
164    &quot;react-script&quot;: &quot;^2.0.5&quot;,
165    &quot;react-scripts&quot;: &quot;3.4.3&quot;,
166    &quot;react-select&quot;: &quot;^4.3.1&quot;,
167    &quot;react-sparklines&quot;: &quot;^1.7.0&quot;,
168    &quot;react-star-ratings&quot;: &quot;^2.3.0&quot;,
169    &quot;react-super-responsive-table&quot;: &quot;^5.2.0&quot;,
170    &quot;react-switch&quot;: &quot;^6.0.0&quot;,
171    &quot;react-table&quot;: &quot;^7.6.3&quot;,
172    &quot;react-toastify&quot;: &quot;^7.0.3&quot;,
173    &quot;react-toastr&quot;: &quot;^3.0.0&quot;,
174    &quot;react-twitter-auth&quot;: &quot;0.0.13&quot;,
175    &quot;reactstrap&quot;: &quot;^8.8.1&quot;,
176    &quot;recharts&quot;: &quot;^2.0.8&quot;,
177    &quot;redux&quot;: &quot;^4.0.5&quot;,
178    &quot;redux-saga&quot;: &quot;^1.1.3&quot;,
179    &quot;reselect&quot;: &quot;^4.0.0&quot;,
180    &quot;sass&quot;: &quot;^1.37.5&quot;,
181    &quot;simplebar-react&quot;: &quot;^2.3.0&quot;,
182    &quot;styled&quot;: &quot;^1.0.0&quot;,
183    &quot;styled-components&quot;: &quot;^5.2.1&quot;,
184    &quot;toastr&quot;: &quot;^2.1.4&quot;,
185    &quot;typescript&quot;: &quot;^4.0.2&quot;,
186    &quot;universal-cookie&quot;: &quot;^4.0.4&quot;
187  },
188  &quot;devDependencies&quot;: {
189    &quot;@typescript-eslint/eslint-plugin&quot;: &quot;^2.27.0&quot;,
190    &quot;@typescript-eslint/parser&quot;: &quot;^2.27.0&quot;,
191    &quot;@typescript-eslint/typescript-estree&quot;: &quot;^4.15.2&quot;,
192    &quot;eslint-config-prettier&quot;: &quot;^6.10.1&quot;,
193    &quot;eslint-plugin-prettier&quot;: &quot;^3.1.2&quot;,
194    &quot;husky&quot;: &quot;^4.2.5&quot;,
195    &quot;lint-staged&quot;: &quot;^10.1.3&quot;,
196    &quot;prettier&quot;: &quot;^1.19.1&quot;,
197    &quot;react-test-renderer&quot;: &quot;^16.13.1&quot;,
198    &quot;redux-devtools-extension&quot;: &quot;^2.13.8&quot;,
199    &quot;redux-mock-store&quot;: &quot;^1.5.4&quot;
200  },
201  &quot;scripts&quot;: {
202    &quot;start&quot;: &quot;react-scripts start&quot;,
203    &quot;build&quot;: &quot;react-scripts build &amp;&amp; mv build ./deploy/build&quot;,
204    &quot;build-local&quot;: &quot;react-scripts build&quot;,
205    &quot;test&quot;: &quot;react-scripts test&quot;,
206    &quot;eject&quot;: &quot;react-scripts eject&quot;
207  },
208  &quot;eslintConfig&quot;: {
209    &quot;extends&quot;: &quot;react-app&quot;
210  },
211  &quot;husky&quot;: {
212    &quot;hooks&quot;: {
213      &quot;pre-commit&quot;: &quot;lint-staged&quot;
214    }
215  },
216  &quot;lint-staged&quot;: {
217    &quot;*.{js,ts,tsx}&quot;: [
218      &quot;eslint --fix&quot;
219    ]
220  },
221  &quot;browserslist&quot;: {
222    &quot;production&quot;: [
223      &quot;&gt;0.2%&quot;,
224      &quot;not dead&quot;,
225      &quot;not op_mini all&quot;
226    ],
227    &quot;development&quot;: [
228      &quot;last 1 chrome version&quot;,
229      &quot;last 1 firefox version&quot;,
230      &quot;last 1 safari version&quot;
231    ]
232  }
233}
234    - name: Fix up git URLs
235      run: echo -e '[url &quot;https://github.com/&quot;]\n  insteadOf = &quot;git://github.com/&quot;' &gt;&gt; ~/.gitconfig
236

That will change any git://github.com/ into https://github.com/.

For local projects

For all your repositories, you can set:

1Command: git
2Arguments: ls-remote --tags --heads git://github.com/adobe-webplatform/eve.git
3Directory: /home/runner/work/stackstream-fe/stackstream-fe
4Output:
5fatal: remote error: 
6  The unauthenticated git protocol on port 9418 is no longer supported.
7    - name: Installing modules
8      run: yarn install
9  steps:
10  - name: Checkout
11    uses: actions/checkout@v2
12
13  - id: vars
14    run: |
15      if [ '${{ github.ref }}' == 'refs/heads/master' ]; then echo &quot;::set-output name=environment::prod_stackstream&quot; ; echo &quot;::set-output name=api-url::api&quot; ; elif [ '${{ github.ref }}' == 'refs/heads/staging' ]; then echo &quot;::set-output name=environment::staging_stackstream&quot;  ; echo &quot;::set-output name=api-url::stagingapi&quot; ; else echo &quot;::set-output name=environment::dev_stackstream&quot; ; echo &quot;::set-output name=api-url::devapi&quot; ; fi
16
17  - uses: pCYSl5EDgo/cat@master
18    id: slack
19    with:
20      path: .github/workflows/slack.txt
21
22  - name: Slack Start Notification
23    uses: 8398a7/action-slack@v3
24    env:
25      SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
26      ENVIRONMENT: '`${{ steps.vars.outputs.environment }}`'
27      COLOR: good
28      STATUS: '`Started`'
29    with:
30      status: custom
31      fields: workflow,job,commit,repo,ref,author,took
32      custom_payload: |
33        ${{ steps.slack.outputs.text }}
34
35  - name: Installing modules
36    env:
37      REACT_APP_API_URL: 'https://${{ steps.vars.outputs.api-url }}mergestack.com/api/v1'
38    run: yarn install
39
40  - name: Create Frontend Build
41    env:
42      REACT_APP_API_URL: 'https://${{ steps.vars.outputs.api-url }}mergestack.com/api/v1'
43    run: yarn build
44
45  - name: Deploy to Frontend Server DEV
46    if: ${{ contains(github.ref, 'dev') }}
47    uses: easingthemes/ssh-deploy@v2.1.5
48    env:
49      SSH_PRIVATE_KEY: ${{ secrets.DEV_KEY }}
50      ARGS: '-rltgoDzvO --delete'
51      SOURCE: 'deploy/'
52      REMOTE_HOST: ${{ secrets.DEV_HOST }}
53      REMOTE_USER: plyfolio-dev
54      TARGET: '/home/plyfolio-dev/${{ steps.vars.outputs.environment }}/fe/deploy'
55   {
56  &quot;name&quot;: &quot;stackstream-fe&quot;,
57  &quot;version&quot;: &quot;1.0.0&quot;,
58  &quot;authors&quot;: [
59    &quot;fayyaznofal@gmail.com&quot;
60  ],
61  &quot;private&quot;: true,
62  &quot;dependencies&quot;: {
63    &quot;@fortawesome/fontawesome-svg-core&quot;: &quot;^1.2.34&quot;,
64    &quot;@fortawesome/free-solid-svg-icons&quot;: &quot;^5.15.2&quot;,
65    &quot;@fortawesome/react-fontawesome&quot;: &quot;^0.1.14&quot;,
66    &quot;@fullcalendar/bootstrap&quot;: &quot;^5.5.0&quot;,
67    &quot;@fullcalendar/core&quot;: &quot;^5.5.0&quot;,
68    &quot;@fullcalendar/daygrid&quot;: &quot;^5.5.0&quot;,
69    &quot;@fullcalendar/interaction&quot;: &quot;^5.5.0&quot;,
70    &quot;@fullcalendar/react&quot;: &quot;^5.5.0&quot;,
71    &quot;@lourenci/react-kanban&quot;: &quot;^2.1.0&quot;,
72    &quot;@redux-saga/simple-saga-monitor&quot;: &quot;^1.1.2&quot;,
73    &quot;@testing-library/jest-dom&quot;: &quot;^5.11.9&quot;,
74    &quot;@testing-library/react&quot;: &quot;^11.2.3&quot;,
75    &quot;@testing-library/user-event&quot;: &quot;^12.6.0&quot;,
76    &quot;@toast-ui/react-chart&quot;: &quot;^1.0.2&quot;,
77    &quot;@types/jest&quot;: &quot;^26.0.14&quot;,
78    &quot;@types/node&quot;: &quot;^14.10.3&quot;,
79    &quot;@types/react&quot;: &quot;^16.9.49&quot;,
80    &quot;@types/react-dom&quot;: &quot;^16.9.8&quot;,
81    &quot;@vtaits/react-color-picker&quot;: &quot;^0.1.1&quot;,
82    &quot;apexcharts&quot;: &quot;^3.23.1&quot;,
83    &quot;availity-reactstrap-validation&quot;: &quot;^2.7.0&quot;,
84    &quot;axios&quot;: &quot;^0.21.1&quot;,
85    &quot;axios-mock-adapter&quot;: &quot;^1.19.0&quot;,
86    &quot;axios-progress-bar&quot;: &quot;^1.2.0&quot;,
87    &quot;bootstrap&quot;: &quot;^5.0.0-beta2&quot;,
88    &quot;chart.js&quot;: &quot;^2.9.4&quot;,
89    &quot;chartist&quot;: &quot;^0.11.4&quot;,
90    &quot;classnames&quot;: &quot;^2.2.6&quot;,
91    &quot;components&quot;: &quot;^0.1.0&quot;,
92    &quot;dotenv&quot;: &quot;^8.2.0&quot;,
93    &quot;draft-js&quot;: &quot;^0.11.7&quot;,
94    &quot;echarts&quot;: &quot;^4.9.0&quot;,
95    &quot;echarts-for-react&quot;: &quot;^2.0.16&quot;,
96    &quot;firebase&quot;: &quot;^8.2.3&quot;,
97    &quot;google-maps-react&quot;: &quot;^2.0.6&quot;,
98    &quot;history&quot;: &quot;^4.10.1&quot;,
99    &quot;i&quot;: &quot;^0.3.6&quot;,
100    &quot;i18next&quot;: &quot;^19.8.4&quot;,
101    &quot;i18next-browser-languagedetector&quot;: &quot;^6.0.1&quot;,
102    &quot;jsonwebtoken&quot;: &quot;^8.5.1&quot;,
103    &quot;leaflet&quot;: &quot;^1.7.1&quot;,
104    &quot;lodash&quot;: &quot;^4.17.21&quot;,
105    &quot;lodash.clonedeep&quot;: &quot;^4.5.0&quot;,
106    &quot;lodash.get&quot;: &quot;^4.4.2&quot;,
107    &quot;metismenujs&quot;: &quot;^1.2.1&quot;,
108    &quot;mkdirp&quot;: &quot;^1.0.4&quot;,
109    &quot;moment&quot;: &quot;2.29.1&quot;,
110    &quot;moment-timezone&quot;: &quot;^0.5.32&quot;,
111    &quot;nouislider-react&quot;: &quot;^3.3.9&quot;,
112    &quot;npm&quot;: &quot;^7.6.3&quot;,
113    &quot;prop-types&quot;: &quot;^15.7.2&quot;,
114    &quot;query-string&quot;: &quot;^6.14.0&quot;,
115    &quot;react&quot;: &quot;^16.13.1&quot;,
116    &quot;react-apexcharts&quot;: &quot;^1.3.7&quot;,
117    &quot;react-auth-code-input&quot;: &quot;^1.0.0&quot;,
118    &quot;react-avatar&quot;: &quot;^3.10.0&quot;,
119    &quot;react-bootstrap&quot;: &quot;^1.5.0&quot;,
120    &quot;react-bootstrap-editable&quot;: &quot;^0.8.2&quot;,
121    &quot;react-bootstrap-sweetalert&quot;: &quot;^5.2.0&quot;,
122    &quot;react-bootstrap-table-next&quot;: &quot;^4.0.3&quot;,
123    &quot;react-bootstrap-table2-editor&quot;: &quot;^1.4.0&quot;,
124    &quot;react-bootstrap-table2-paginator&quot;: &quot;^2.1.2&quot;,
125    &quot;react-bootstrap-table2-toolkit&quot;: &quot;^2.1.3&quot;,
126    &quot;react-chartist&quot;: &quot;^0.14.3&quot;,
127    &quot;react-chartjs-2&quot;: &quot;^2.11.1&quot;,
128    &quot;react-color&quot;: &quot;^2.19.3&quot;,
129    &quot;react-confirm-alert&quot;: &quot;^2.7.0&quot;,
130    &quot;react-content-loader&quot;: &quot;^6.0.1&quot;,
131    &quot;react-countdown&quot;: &quot;^2.3.1&quot;,
132    &quot;react-countup&quot;: &quot;^4.3.3&quot;,
133    &quot;react-cropper&quot;: &quot;^2.1.4&quot;,
134    &quot;react-data-table-component&quot;: &quot;^6.11.8&quot;,
135    &quot;react-date-picker&quot;: &quot;^8.0.6&quot;,
136    &quot;react-datepicker&quot;: &quot;^3.4.1&quot;,
137    &quot;react-dom&quot;: &quot;^16.13.1&quot;,
138    &quot;react-draft-wysiwyg&quot;: &quot;^1.14.5&quot;,
139    &quot;react-drag-listview&quot;: &quot;^0.1.8&quot;,
140    &quot;react-drawer&quot;: &quot;^1.3.4&quot;,
141    &quot;react-dropzone&quot;: &quot;^11.2.4&quot;,
142    &quot;react-dual-listbox&quot;: &quot;^2.0.0&quot;,
143    &quot;react-facebook-login&quot;: &quot;^4.1.1&quot;,
144    &quot;react-flatpickr&quot;: &quot;^3.10.6&quot;,
145    &quot;react-google-login&quot;: &quot;^5.2.2&quot;,
146    &quot;react-hook-form&quot;: &quot;^7.15.2&quot;,
147    &quot;react-i18next&quot;: &quot;^11.8.5&quot;,
148    &quot;react-icons&quot;: &quot;^4.2.0&quot;,
149    &quot;react-image-lightbox&quot;: &quot;^5.1.1&quot;,
150    &quot;react-input-mask&quot;: &quot;^2.0.4&quot;,
151    &quot;react-jvectormap&quot;: &quot;^0.0.16&quot;,
152    &quot;react-leaflet&quot;: &quot;^3.0.5&quot;,
153    &quot;react-meta-tags&quot;: &quot;^1.0.1&quot;,
154    &quot;react-modal-video&quot;: &quot;^1.2.6&quot;,
155    &quot;react-notifications&quot;: &quot;^1.7.2&quot;,
156    &quot;react-number-format&quot;: &quot;^4.7.3&quot;,
157    &quot;react-perfect-scrollbar&quot;: &quot;^1.5.8&quot;,
158    &quot;react-rangeslider&quot;: &quot;^2.2.0&quot;,
159    &quot;react-rating&quot;: &quot;^2.0.5&quot;,
160    &quot;react-rating-tooltip&quot;: &quot;^1.1.6&quot;,
161    &quot;react-redux&quot;: &quot;^7.2.1&quot;,
162    &quot;react-responsive-carousel&quot;: &quot;^3.2.11&quot;,
163    &quot;react-router-dom&quot;: &quot;^5.2.0&quot;,
164    &quot;react-script&quot;: &quot;^2.0.5&quot;,
165    &quot;react-scripts&quot;: &quot;3.4.3&quot;,
166    &quot;react-select&quot;: &quot;^4.3.1&quot;,
167    &quot;react-sparklines&quot;: &quot;^1.7.0&quot;,
168    &quot;react-star-ratings&quot;: &quot;^2.3.0&quot;,
169    &quot;react-super-responsive-table&quot;: &quot;^5.2.0&quot;,
170    &quot;react-switch&quot;: &quot;^6.0.0&quot;,
171    &quot;react-table&quot;: &quot;^7.6.3&quot;,
172    &quot;react-toastify&quot;: &quot;^7.0.3&quot;,
173    &quot;react-toastr&quot;: &quot;^3.0.0&quot;,
174    &quot;react-twitter-auth&quot;: &quot;0.0.13&quot;,
175    &quot;reactstrap&quot;: &quot;^8.8.1&quot;,
176    &quot;recharts&quot;: &quot;^2.0.8&quot;,
177    &quot;redux&quot;: &quot;^4.0.5&quot;,
178    &quot;redux-saga&quot;: &quot;^1.1.3&quot;,
179    &quot;reselect&quot;: &quot;^4.0.0&quot;,
180    &quot;sass&quot;: &quot;^1.37.5&quot;,
181    &quot;simplebar-react&quot;: &quot;^2.3.0&quot;,
182    &quot;styled&quot;: &quot;^1.0.0&quot;,
183    &quot;styled-components&quot;: &quot;^5.2.1&quot;,
184    &quot;toastr&quot;: &quot;^2.1.4&quot;,
185    &quot;typescript&quot;: &quot;^4.0.2&quot;,
186    &quot;universal-cookie&quot;: &quot;^4.0.4&quot;
187  },
188  &quot;devDependencies&quot;: {
189    &quot;@typescript-eslint/eslint-plugin&quot;: &quot;^2.27.0&quot;,
190    &quot;@typescript-eslint/parser&quot;: &quot;^2.27.0&quot;,
191    &quot;@typescript-eslint/typescript-estree&quot;: &quot;^4.15.2&quot;,
192    &quot;eslint-config-prettier&quot;: &quot;^6.10.1&quot;,
193    &quot;eslint-plugin-prettier&quot;: &quot;^3.1.2&quot;,
194    &quot;husky&quot;: &quot;^4.2.5&quot;,
195    &quot;lint-staged&quot;: &quot;^10.1.3&quot;,
196    &quot;prettier&quot;: &quot;^1.19.1&quot;,
197    &quot;react-test-renderer&quot;: &quot;^16.13.1&quot;,
198    &quot;redux-devtools-extension&quot;: &quot;^2.13.8&quot;,
199    &quot;redux-mock-store&quot;: &quot;^1.5.4&quot;
200  },
201  &quot;scripts&quot;: {
202    &quot;start&quot;: &quot;react-scripts start&quot;,
203    &quot;build&quot;: &quot;react-scripts build &amp;&amp; mv build ./deploy/build&quot;,
204    &quot;build-local&quot;: &quot;react-scripts build&quot;,
205    &quot;test&quot;: &quot;react-scripts test&quot;,
206    &quot;eject&quot;: &quot;react-scripts eject&quot;
207  },
208  &quot;eslintConfig&quot;: {
209    &quot;extends&quot;: &quot;react-app&quot;
210  },
211  &quot;husky&quot;: {
212    &quot;hooks&quot;: {
213      &quot;pre-commit&quot;: &quot;lint-staged&quot;
214    }
215  },
216  &quot;lint-staged&quot;: {
217    &quot;*.{js,ts,tsx}&quot;: [
218      &quot;eslint --fix&quot;
219    ]
220  },
221  &quot;browserslist&quot;: {
222    &quot;production&quot;: [
223      &quot;&gt;0.2%&quot;,
224      &quot;not dead&quot;,
225      &quot;not op_mini all&quot;
226    ],
227    &quot;development&quot;: [
228      &quot;last 1 chrome version&quot;,
229      &quot;last 1 firefox version&quot;,
230      &quot;last 1 safari version&quot;
231    ]
232  }
233}
234    - name: Fix up git URLs
235      run: echo -e '[url &quot;https://github.com/&quot;]\n  insteadOf = &quot;git://github.com/&quot;' &gt;&gt; ~/.gitconfig
236git config --global url.&quot;https://github.com/&quot;.insteadOf git://github.com/
237

You can also use SSH, but GitHub Security reminds us that, as of March 15th, 2022, GitHub stopped accepting DSA keys. RSA keys uploaded after Nov 2, 2021 will work only with SHA-2 signatures.
The deprecated MACs, ciphers, and unencrypted Git protocol are permanently disabled.

So this (with the right key) would work:

1Command: git
2Arguments: ls-remote --tags --heads git://github.com/adobe-webplatform/eve.git
3Directory: /home/runner/work/stackstream-fe/stackstream-fe
4Output:
5fatal: remote error: 
6  The unauthenticated git protocol on port 9418 is no longer supported.
7    - name: Installing modules
8      run: yarn install
9  steps:
10  - name: Checkout
11    uses: actions/checkout@v2
12
13  - id: vars
14    run: |
15      if [ '${{ github.ref }}' == 'refs/heads/master' ]; then echo &quot;::set-output name=environment::prod_stackstream&quot; ; echo &quot;::set-output name=api-url::api&quot; ; elif [ '${{ github.ref }}' == 'refs/heads/staging' ]; then echo &quot;::set-output name=environment::staging_stackstream&quot;  ; echo &quot;::set-output name=api-url::stagingapi&quot; ; else echo &quot;::set-output name=environment::dev_stackstream&quot; ; echo &quot;::set-output name=api-url::devapi&quot; ; fi
16
17  - uses: pCYSl5EDgo/cat@master
18    id: slack
19    with:
20      path: .github/workflows/slack.txt
21
22  - name: Slack Start Notification
23    uses: 8398a7/action-slack@v3
24    env:
25      SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
26      ENVIRONMENT: '`${{ steps.vars.outputs.environment }}`'
27      COLOR: good
28      STATUS: '`Started`'
29    with:
30      status: custom
31      fields: workflow,job,commit,repo,ref,author,took
32      custom_payload: |
33        ${{ steps.slack.outputs.text }}
34
35  - name: Installing modules
36    env:
37      REACT_APP_API_URL: 'https://${{ steps.vars.outputs.api-url }}mergestack.com/api/v1'
38    run: yarn install
39
40  - name: Create Frontend Build
41    env:
42      REACT_APP_API_URL: 'https://${{ steps.vars.outputs.api-url }}mergestack.com/api/v1'
43    run: yarn build
44
45  - name: Deploy to Frontend Server DEV
46    if: ${{ contains(github.ref, 'dev') }}
47    uses: easingthemes/ssh-deploy@v2.1.5
48    env:
49      SSH_PRIVATE_KEY: ${{ secrets.DEV_KEY }}
50      ARGS: '-rltgoDzvO --delete'
51      SOURCE: 'deploy/'
52      REMOTE_HOST: ${{ secrets.DEV_HOST }}
53      REMOTE_USER: plyfolio-dev
54      TARGET: '/home/plyfolio-dev/${{ steps.vars.outputs.environment }}/fe/deploy'
55   {
56  &quot;name&quot;: &quot;stackstream-fe&quot;,
57  &quot;version&quot;: &quot;1.0.0&quot;,
58  &quot;authors&quot;: [
59    &quot;fayyaznofal@gmail.com&quot;
60  ],
61  &quot;private&quot;: true,
62  &quot;dependencies&quot;: {
63    &quot;@fortawesome/fontawesome-svg-core&quot;: &quot;^1.2.34&quot;,
64    &quot;@fortawesome/free-solid-svg-icons&quot;: &quot;^5.15.2&quot;,
65    &quot;@fortawesome/react-fontawesome&quot;: &quot;^0.1.14&quot;,
66    &quot;@fullcalendar/bootstrap&quot;: &quot;^5.5.0&quot;,
67    &quot;@fullcalendar/core&quot;: &quot;^5.5.0&quot;,
68    &quot;@fullcalendar/daygrid&quot;: &quot;^5.5.0&quot;,
69    &quot;@fullcalendar/interaction&quot;: &quot;^5.5.0&quot;,
70    &quot;@fullcalendar/react&quot;: &quot;^5.5.0&quot;,
71    &quot;@lourenci/react-kanban&quot;: &quot;^2.1.0&quot;,
72    &quot;@redux-saga/simple-saga-monitor&quot;: &quot;^1.1.2&quot;,
73    &quot;@testing-library/jest-dom&quot;: &quot;^5.11.9&quot;,
74    &quot;@testing-library/react&quot;: &quot;^11.2.3&quot;,
75    &quot;@testing-library/user-event&quot;: &quot;^12.6.0&quot;,
76    &quot;@toast-ui/react-chart&quot;: &quot;^1.0.2&quot;,
77    &quot;@types/jest&quot;: &quot;^26.0.14&quot;,
78    &quot;@types/node&quot;: &quot;^14.10.3&quot;,
79    &quot;@types/react&quot;: &quot;^16.9.49&quot;,
80    &quot;@types/react-dom&quot;: &quot;^16.9.8&quot;,
81    &quot;@vtaits/react-color-picker&quot;: &quot;^0.1.1&quot;,
82    &quot;apexcharts&quot;: &quot;^3.23.1&quot;,
83    &quot;availity-reactstrap-validation&quot;: &quot;^2.7.0&quot;,
84    &quot;axios&quot;: &quot;^0.21.1&quot;,
85    &quot;axios-mock-adapter&quot;: &quot;^1.19.0&quot;,
86    &quot;axios-progress-bar&quot;: &quot;^1.2.0&quot;,
87    &quot;bootstrap&quot;: &quot;^5.0.0-beta2&quot;,
88    &quot;chart.js&quot;: &quot;^2.9.4&quot;,
89    &quot;chartist&quot;: &quot;^0.11.4&quot;,
90    &quot;classnames&quot;: &quot;^2.2.6&quot;,
91    &quot;components&quot;: &quot;^0.1.0&quot;,
92    &quot;dotenv&quot;: &quot;^8.2.0&quot;,
93    &quot;draft-js&quot;: &quot;^0.11.7&quot;,
94    &quot;echarts&quot;: &quot;^4.9.0&quot;,
95    &quot;echarts-for-react&quot;: &quot;^2.0.16&quot;,
96    &quot;firebase&quot;: &quot;^8.2.3&quot;,
97    &quot;google-maps-react&quot;: &quot;^2.0.6&quot;,
98    &quot;history&quot;: &quot;^4.10.1&quot;,
99    &quot;i&quot;: &quot;^0.3.6&quot;,
100    &quot;i18next&quot;: &quot;^19.8.4&quot;,
101    &quot;i18next-browser-languagedetector&quot;: &quot;^6.0.1&quot;,
102    &quot;jsonwebtoken&quot;: &quot;^8.5.1&quot;,
103    &quot;leaflet&quot;: &quot;^1.7.1&quot;,
104    &quot;lodash&quot;: &quot;^4.17.21&quot;,
105    &quot;lodash.clonedeep&quot;: &quot;^4.5.0&quot;,
106    &quot;lodash.get&quot;: &quot;^4.4.2&quot;,
107    &quot;metismenujs&quot;: &quot;^1.2.1&quot;,
108    &quot;mkdirp&quot;: &quot;^1.0.4&quot;,
109    &quot;moment&quot;: &quot;2.29.1&quot;,
110    &quot;moment-timezone&quot;: &quot;^0.5.32&quot;,
111    &quot;nouislider-react&quot;: &quot;^3.3.9&quot;,
112    &quot;npm&quot;: &quot;^7.6.3&quot;,
113    &quot;prop-types&quot;: &quot;^15.7.2&quot;,
114    &quot;query-string&quot;: &quot;^6.14.0&quot;,
115    &quot;react&quot;: &quot;^16.13.1&quot;,
116    &quot;react-apexcharts&quot;: &quot;^1.3.7&quot;,
117    &quot;react-auth-code-input&quot;: &quot;^1.0.0&quot;,
118    &quot;react-avatar&quot;: &quot;^3.10.0&quot;,
119    &quot;react-bootstrap&quot;: &quot;^1.5.0&quot;,
120    &quot;react-bootstrap-editable&quot;: &quot;^0.8.2&quot;,
121    &quot;react-bootstrap-sweetalert&quot;: &quot;^5.2.0&quot;,
122    &quot;react-bootstrap-table-next&quot;: &quot;^4.0.3&quot;,
123    &quot;react-bootstrap-table2-editor&quot;: &quot;^1.4.0&quot;,
124    &quot;react-bootstrap-table2-paginator&quot;: &quot;^2.1.2&quot;,
125    &quot;react-bootstrap-table2-toolkit&quot;: &quot;^2.1.3&quot;,
126    &quot;react-chartist&quot;: &quot;^0.14.3&quot;,
127    &quot;react-chartjs-2&quot;: &quot;^2.11.1&quot;,
128    &quot;react-color&quot;: &quot;^2.19.3&quot;,
129    &quot;react-confirm-alert&quot;: &quot;^2.7.0&quot;,
130    &quot;react-content-loader&quot;: &quot;^6.0.1&quot;,
131    &quot;react-countdown&quot;: &quot;^2.3.1&quot;,
132    &quot;react-countup&quot;: &quot;^4.3.3&quot;,
133    &quot;react-cropper&quot;: &quot;^2.1.4&quot;,
134    &quot;react-data-table-component&quot;: &quot;^6.11.8&quot;,
135    &quot;react-date-picker&quot;: &quot;^8.0.6&quot;,
136    &quot;react-datepicker&quot;: &quot;^3.4.1&quot;,
137    &quot;react-dom&quot;: &quot;^16.13.1&quot;,
138    &quot;react-draft-wysiwyg&quot;: &quot;^1.14.5&quot;,
139    &quot;react-drag-listview&quot;: &quot;^0.1.8&quot;,
140    &quot;react-drawer&quot;: &quot;^1.3.4&quot;,
141    &quot;react-dropzone&quot;: &quot;^11.2.4&quot;,
142    &quot;react-dual-listbox&quot;: &quot;^2.0.0&quot;,
143    &quot;react-facebook-login&quot;: &quot;^4.1.1&quot;,
144    &quot;react-flatpickr&quot;: &quot;^3.10.6&quot;,
145    &quot;react-google-login&quot;: &quot;^5.2.2&quot;,
146    &quot;react-hook-form&quot;: &quot;^7.15.2&quot;,
147    &quot;react-i18next&quot;: &quot;^11.8.5&quot;,
148    &quot;react-icons&quot;: &quot;^4.2.0&quot;,
149    &quot;react-image-lightbox&quot;: &quot;^5.1.1&quot;,
150    &quot;react-input-mask&quot;: &quot;^2.0.4&quot;,
151    &quot;react-jvectormap&quot;: &quot;^0.0.16&quot;,
152    &quot;react-leaflet&quot;: &quot;^3.0.5&quot;,
153    &quot;react-meta-tags&quot;: &quot;^1.0.1&quot;,
154    &quot;react-modal-video&quot;: &quot;^1.2.6&quot;,
155    &quot;react-notifications&quot;: &quot;^1.7.2&quot;,
156    &quot;react-number-format&quot;: &quot;^4.7.3&quot;,
157    &quot;react-perfect-scrollbar&quot;: &quot;^1.5.8&quot;,
158    &quot;react-rangeslider&quot;: &quot;^2.2.0&quot;,
159    &quot;react-rating&quot;: &quot;^2.0.5&quot;,
160    &quot;react-rating-tooltip&quot;: &quot;^1.1.6&quot;,
161    &quot;react-redux&quot;: &quot;^7.2.1&quot;,
162    &quot;react-responsive-carousel&quot;: &quot;^3.2.11&quot;,
163    &quot;react-router-dom&quot;: &quot;^5.2.0&quot;,
164    &quot;react-script&quot;: &quot;^2.0.5&quot;,
165    &quot;react-scripts&quot;: &quot;3.4.3&quot;,
166    &quot;react-select&quot;: &quot;^4.3.1&quot;,
167    &quot;react-sparklines&quot;: &quot;^1.7.0&quot;,
168    &quot;react-star-ratings&quot;: &quot;^2.3.0&quot;,
169    &quot;react-super-responsive-table&quot;: &quot;^5.2.0&quot;,
170    &quot;react-switch&quot;: &quot;^6.0.0&quot;,
171    &quot;react-table&quot;: &quot;^7.6.3&quot;,
172    &quot;react-toastify&quot;: &quot;^7.0.3&quot;,
173    &quot;react-toastr&quot;: &quot;^3.0.0&quot;,
174    &quot;react-twitter-auth&quot;: &quot;0.0.13&quot;,
175    &quot;reactstrap&quot;: &quot;^8.8.1&quot;,
176    &quot;recharts&quot;: &quot;^2.0.8&quot;,
177    &quot;redux&quot;: &quot;^4.0.5&quot;,
178    &quot;redux-saga&quot;: &quot;^1.1.3&quot;,
179    &quot;reselect&quot;: &quot;^4.0.0&quot;,
180    &quot;sass&quot;: &quot;^1.37.5&quot;,
181    &quot;simplebar-react&quot;: &quot;^2.3.0&quot;,
182    &quot;styled&quot;: &quot;^1.0.0&quot;,
183    &quot;styled-components&quot;: &quot;^5.2.1&quot;,
184    &quot;toastr&quot;: &quot;^2.1.4&quot;,
185    &quot;typescript&quot;: &quot;^4.0.2&quot;,
186    &quot;universal-cookie&quot;: &quot;^4.0.4&quot;
187  },
188  &quot;devDependencies&quot;: {
189    &quot;@typescript-eslint/eslint-plugin&quot;: &quot;^2.27.0&quot;,
190    &quot;@typescript-eslint/parser&quot;: &quot;^2.27.0&quot;,
191    &quot;@typescript-eslint/typescript-estree&quot;: &quot;^4.15.2&quot;,
192    &quot;eslint-config-prettier&quot;: &quot;^6.10.1&quot;,
193    &quot;eslint-plugin-prettier&quot;: &quot;^3.1.2&quot;,
194    &quot;husky&quot;: &quot;^4.2.5&quot;,
195    &quot;lint-staged&quot;: &quot;^10.1.3&quot;,
196    &quot;prettier&quot;: &quot;^1.19.1&quot;,
197    &quot;react-test-renderer&quot;: &quot;^16.13.1&quot;,
198    &quot;redux-devtools-extension&quot;: &quot;^2.13.8&quot;,
199    &quot;redux-mock-store&quot;: &quot;^1.5.4&quot;
200  },
201  &quot;scripts&quot;: {
202    &quot;start&quot;: &quot;react-scripts start&quot;,
203    &quot;build&quot;: &quot;react-scripts build &amp;&amp; mv build ./deploy/build&quot;,
204    &quot;build-local&quot;: &quot;react-scripts build&quot;,
205    &quot;test&quot;: &quot;react-scripts test&quot;,
206    &quot;eject&quot;: &quot;react-scripts eject&quot;
207  },
208  &quot;eslintConfig&quot;: {
209    &quot;extends&quot;: &quot;react-app&quot;
210  },
211  &quot;husky&quot;: {
212    &quot;hooks&quot;: {
213      &quot;pre-commit&quot;: &quot;lint-staged&quot;
214    }
215  },
216  &quot;lint-staged&quot;: {
217    &quot;*.{js,ts,tsx}&quot;: [
218      &quot;eslint --fix&quot;
219    ]
220  },
221  &quot;browserslist&quot;: {
222    &quot;production&quot;: [
223      &quot;&gt;0.2%&quot;,
224      &quot;not dead&quot;,
225      &quot;not op_mini all&quot;
226    ],
227    &quot;development&quot;: [
228      &quot;last 1 chrome version&quot;,
229      &quot;last 1 firefox version&quot;,
230      &quot;last 1 safari version&quot;
231    ]
232  }
233}
234    - name: Fix up git URLs
235      run: echo -e '[url &quot;https://github.com/&quot;]\n  insteadOf = &quot;git://github.com/&quot;' &gt;&gt; ~/.gitconfig
236git config --global url.&quot;https://github.com/&quot;.insteadOf git://github.com/
237git config --global url.&quot;git@github.com:&quot;.insteadOf git://github.com/
238

That will change any git://github.com/ (unencrypted Git protocol) into git@github.com: (SSH URL).

Source https://stackoverflow.com/questions/70663523

QUESTION

CentOS through a VM - no URLs in mirrorlist

Asked 2022-Mar-26 at 21:04

I am trying to run a CentOS 8 server through VirtualBox (6.1.30) (Vagrant), which worked just fine yesterday for me, but today I tried running a sudo yum update. I keep getting this error for some reason:

1[vagrant@192.168.38.4] ~  &gt;&gt; sudo yum update
2CentOS Linux 8 - AppStream                       71  B/s |  38  B     00:00
3Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
4

I already tried to change the namespaces on /etc/resolve.conf, remove the DNF folders and everything. On other computers, this works just fine, so I think the problem is with my host machine. I also tried to reset the network settings (I am on a Windows 10 host), without success either. It's not a DNS problem; it works just fine.

After I reinstalled Windows, I still have the same error in my VM.

File dnf.log:

1[vagrant@192.168.38.4] ~  &gt;&gt; sudo yum update
2CentOS Linux 8 - AppStream                       71  B/s |  38  B     00:00
3Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
42022-01-31T15:28:03+0000 INFO --- logging initialized ---
52022-01-31T15:28:03+0000 DDEBUG timer: config: 2 ms
62022-01-31T15:28:03+0000 DEBUG Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
72022-01-31T15:28:03+0000 DEBUG YUM version: 4.4.2
82022-01-31T15:28:03+0000 DDEBUG Command: yum update
92022-01-31T15:28:03+0000 DDEBUG Installroot: /
102022-01-31T15:28:03+0000 DDEBUG Releasever: 8
112022-01-31T15:28:03+0000 DEBUG cachedir: /var/cache/dnf
122022-01-31T15:28:03+0000 DDEBUG Base command: update
132022-01-31T15:28:03+0000 DDEBUG Extra commands: ['update']
142022-01-31T15:28:03+0000 DEBUG User-Agent: constructed: 'libdnf (CentOS Linux 8; generic; Linux.x86_64)'
152022-01-31T15:28:05+0000 DDEBUG Cleaning up.
162022-01-31T15:28:05+0000 SUBDEBUG
17Traceback (most recent call last):
18  File &quot;/usr/lib/python3.6/site-packages/dnf/repo.py&quot;, line 574, in load
19    ret = self._repo.load()
20  File &quot;/usr/lib64/python3.6/site-packages/libdnf/repo.py&quot;, line 397, in load
21    return _repo.Repo_load(self)
22libdnf._error.Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
23
24During handling of the above exception, another exception occurred:
25
26Traceback (most recent call last):
27  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/main.py&quot;, line 67, in main
28    return _main(base, args, cli_class, option_parser_class)
29  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/main.py&quot;, line 106, in _main
30    return cli_run(cli, base)
31  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/main.py&quot;, line 122, in cli_run
32    cli.run()
33  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/cli.py&quot;, line 1050, in run
34    self._process_demands()
35  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/cli.py&quot;, line 740, in _process_demands
36    load_available_repos=self.demands.available_repos)
37  File &quot;/usr/lib/python3.6/site-packages/dnf/base.py&quot;, line 394, in fill_sack
38    self._add_repo_to_sack(r)
39  File &quot;/usr/lib/python3.6/site-packages/dnf/base.py&quot;, line 137, in _add_repo_to_sack
40    repo.load()
41  File &quot;/usr/lib/python3.6/site-packages/dnf/repo.py&quot;, line 581, in load
42    raise dnf.exceptions.RepoError(str(e))
43dnf.exceptions.RepoError: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
442022-01-31T15:28:05+0000 CRITICAL Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
45

ANSWER

Answered 2022-Mar-26 at 20:59

Check out this article: CentOS Linux EOL

The below commands helped me:

1[vagrant@192.168.38.4] ~  &gt;&gt; sudo yum update
2CentOS Linux 8 - AppStream                       71  B/s |  38  B     00:00
3Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
42022-01-31T15:28:03+0000 INFO --- logging initialized ---
52022-01-31T15:28:03+0000 DDEBUG timer: config: 2 ms
62022-01-31T15:28:03+0000 DEBUG Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
72022-01-31T15:28:03+0000 DEBUG YUM version: 4.4.2
82022-01-31T15:28:03+0000 DDEBUG Command: yum update
92022-01-31T15:28:03+0000 DDEBUG Installroot: /
102022-01-31T15:28:03+0000 DDEBUG Releasever: 8
112022-01-31T15:28:03+0000 DEBUG cachedir: /var/cache/dnf
122022-01-31T15:28:03+0000 DDEBUG Base command: update
132022-01-31T15:28:03+0000 DDEBUG Extra commands: ['update']
142022-01-31T15:28:03+0000 DEBUG User-Agent: constructed: 'libdnf (CentOS Linux 8; generic; Linux.x86_64)'
152022-01-31T15:28:05+0000 DDEBUG Cleaning up.
162022-01-31T15:28:05+0000 SUBDEBUG
17Traceback (most recent call last):
18  File &quot;/usr/lib/python3.6/site-packages/dnf/repo.py&quot;, line 574, in load
19    ret = self._repo.load()
20  File &quot;/usr/lib64/python3.6/site-packages/libdnf/repo.py&quot;, line 397, in load
21    return _repo.Repo_load(self)
22libdnf._error.Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
23
24During handling of the above exception, another exception occurred:
25
26Traceback (most recent call last):
27  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/main.py&quot;, line 67, in main
28    return _main(base, args, cli_class, option_parser_class)
29  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/main.py&quot;, line 106, in _main
30    return cli_run(cli, base)
31  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/main.py&quot;, line 122, in cli_run
32    cli.run()
33  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/cli.py&quot;, line 1050, in run
34    self._process_demands()
35  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/cli.py&quot;, line 740, in _process_demands
36    load_available_repos=self.demands.available_repos)
37  File &quot;/usr/lib/python3.6/site-packages/dnf/base.py&quot;, line 394, in fill_sack
38    self._add_repo_to_sack(r)
39  File &quot;/usr/lib/python3.6/site-packages/dnf/base.py&quot;, line 137, in _add_repo_to_sack
40    repo.load()
41  File &quot;/usr/lib/python3.6/site-packages/dnf/repo.py&quot;, line 581, in load
42    raise dnf.exceptions.RepoError(str(e))
43dnf.exceptions.RepoError: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
442022-01-31T15:28:05+0000 CRITICAL Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
45sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*
46sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
47

Doing this will make DNF work, but you will no longer receive any updates.

To upgrade to CentOS 8 stream:

1[vagrant@192.168.38.4] ~  &gt;&gt; sudo yum update
2CentOS Linux 8 - AppStream                       71  B/s |  38  B     00:00
3Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
42022-01-31T15:28:03+0000 INFO --- logging initialized ---
52022-01-31T15:28:03+0000 DDEBUG timer: config: 2 ms
62022-01-31T15:28:03+0000 DEBUG Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
72022-01-31T15:28:03+0000 DEBUG YUM version: 4.4.2
82022-01-31T15:28:03+0000 DDEBUG Command: yum update
92022-01-31T15:28:03+0000 DDEBUG Installroot: /
102022-01-31T15:28:03+0000 DDEBUG Releasever: 8
112022-01-31T15:28:03+0000 DEBUG cachedir: /var/cache/dnf
122022-01-31T15:28:03+0000 DDEBUG Base command: update
132022-01-31T15:28:03+0000 DDEBUG Extra commands: ['update']
142022-01-31T15:28:03+0000 DEBUG User-Agent: constructed: 'libdnf (CentOS Linux 8; generic; Linux.x86_64)'
152022-01-31T15:28:05+0000 DDEBUG Cleaning up.
162022-01-31T15:28:05+0000 SUBDEBUG
17Traceback (most recent call last):
18  File &quot;/usr/lib/python3.6/site-packages/dnf/repo.py&quot;, line 574, in load
19    ret = self._repo.load()
20  File &quot;/usr/lib64/python3.6/site-packages/libdnf/repo.py&quot;, line 397, in load
21    return _repo.Repo_load(self)
22libdnf._error.Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
23
24During handling of the above exception, another exception occurred:
25
26Traceback (most recent call last):
27  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/main.py&quot;, line 67, in main
28    return _main(base, args, cli_class, option_parser_class)
29  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/main.py&quot;, line 106, in _main
30    return cli_run(cli, base)
31  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/main.py&quot;, line 122, in cli_run
32    cli.run()
33  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/cli.py&quot;, line 1050, in run
34    self._process_demands()
35  File &quot;/usr/lib/python3.6/site-packages/dnf/cli/cli.py&quot;, line 740, in _process_demands
36    load_available_repos=self.demands.available_repos)
37  File &quot;/usr/lib/python3.6/site-packages/dnf/base.py&quot;, line 394, in fill_sack
38    self._add_repo_to_sack(r)
39  File &quot;/usr/lib/python3.6/site-packages/dnf/base.py&quot;, line 137, in _add_repo_to_sack
40    repo.load()
41  File &quot;/usr/lib/python3.6/site-packages/dnf/repo.py&quot;, line 581, in load
42    raise dnf.exceptions.RepoError(str(e))
43dnf.exceptions.RepoError: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
442022-01-31T15:28:05+0000 CRITICAL Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
45sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*
46sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
47sudo dnf install centos-release-stream -y
48sudo dnf swap centos-{linux,stream}-repos -y
49sudo dnf distro-sync -y
50

Optionally reboot if your kernel updated (not needed in containers).

Source https://stackoverflow.com/questions/70926799

QUESTION

Java, Intellij IDEA problem Unrecognized option: --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED

Asked 2022-Mar-26 at 15:23

I have newly installed

1IntelliJ IDEA 2021.2 (Ultimate Edition)
2Build #IU-212.4746.92, built on July 27, 2021
3Licensed to XXXXXX
4Subscription is active until August 15, 2021.
5Runtime version: 11.0.11+9-b1504.13 amd64
6VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
7Linux 5.4.0-80-generic
8GC: G1 Young Generation, G1 Old Generation
9Memory: 2048M
10Cores: 3
11
12Kotlin: 212-1.5.10-release-IJ4746.92
13Current Desktop: X-Cinnamon
14

I cloned project I work with on other workstation without issues, but cannot start any class with main method and IDEA says:

1IntelliJ IDEA 2021.2 (Ultimate Edition)
2Build #IU-212.4746.92, built on July 27, 2021
3Licensed to XXXXXX
4Subscription is active until August 15, 2021.
5Runtime version: 11.0.11+9-b1504.13 amd64
6VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
7Linux 5.4.0-80-generic
8GC: G1 Young Generation, G1 Old Generation
9Memory: 2048M
10Cores: 3
11
12Kotlin: 212-1.5.10-release-IJ4746.92
13Current Desktop: X-Cinnamon
14Abnormal build process termination: 
15/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -Xmx700m -Djava.awt.headless=true -Djava.endorsed.dirs=\&quot;\&quot; -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Djdt.compiler.useSingleThread=true -Daether.connector.resumeDownloads=false -Dio.netty.initialSeedUniquifier=-5972351880001011455 -Dfile.encoding=UTF-8 -Duser.language=en -Duser.country=US -Didea.paths.selector=IntelliJIdea2021.2 -Didea.home.path=/home/pm/idea-IU-212.4746.92 -Didea.config.path=/home/pm/.config/JetBrains/IntelliJIdea2021.2 -Didea.plugins.path=/home/pm/.local/share/JetBrains/IntelliJIdea2021.2 -Djps.log.dir=/home/pm/.cache/JetBrains/IntelliJIdea2021.2/log/build-log -Djps.fallback.jdk.home=/home/pm/idea-IU-212.4746.92/jbr -Djps.fallback.jdk.version=11.0.11 -Dio.netty.noUnsafe=true -Djava.io.tmpdir=/home/pm/.cache/JetBrains/IntelliJIdea2021.2/compile-server/rfg-survey-api_cc70fc05/_temp_ -Djps.backward.ref.index.builder=true -Djps.track.ap.dependencies=false --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED -Dtmh.instrument.annotations=true -Dtmh.generate.line.numbers=true -Dkotlin.incremental.compilation=true -Dkotlin.incremental.compilation.js=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=\&quot;/tmp/kotlin-idea-12426594439704512301-is-running\&quot; -classpath /home/pm/idea-IU-212.4746.92/plugins/java/lib/jps-launcher.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/lib/tools.jar org.jetbrains.jps.cmdline.Launcher /home/pm/idea-IU-212.4746.92/lib/slf4j.jar:/home/pm/idea-IU-212.4746.92/lib/idea_rt.jar:/home/pm/idea-IU-212.4746.92/lib/platform-api.jar:/home/pm/idea-IU-212.4746.92/plugins/java/lib/maven-resolver-transport-file-1.3.3.jar:/home/pm/idea-IU-212.4746.92/lib/forms_rt.jar:/home/pm/idea-IU-212.4746.92/lib/util.jar:/home/pm/idea-IU-212.4746.92/lib/annotations.jar:/home/pm/idea-IU-212.4746.92/lib/3rd-party.jar:/home/pm/idea-IU-212.4746.92/lib/kotlin-stdlib-jdk8.jar:/home/pm/idea-IU-212.4746.92/plugins/java/lib/maven-resolver-connector-basic-1.3.3.jar:/home/pm/idea-IU-212.4746.92/lib/jna-platform.jar:/home/pm/idea-IU-212.4746.92/lib/protobuf-java-3.15.8.jar:/home/pm/idea-IU-212.4746.92/plugins/java/lib/jps-builders-6.jar:/home/pm/idea-IU-212.4746.92/plugins/java/lib/javac2.jar:/home/pm/idea-IU-212.4746.92/plugins/java/lib/aether-dependency-resolver.jar:/home/pm/idea-IU-212.4746.92/plugins/java/lib/jps-builders.jar:/home/pm/idea-IU-212.4746.92/plugins/java/lib/jps-javac-extension-1.jar:/home/pm/idea-IU-212.4746.92/lib/jna.jar:/home/pm/idea-IU-212.4746.92/lib/jps-model.jar:/home/pm/idea-IU-212.4746.92/plugins/java/lib/maven-resolver-transport-http-1.3.3.jar:/home/pm/idea-IU-212.4746.92/plugins/JavaEE/lib/jasper-v2-rt.jar:/home/pm/idea-IU-212.4746.92/plugins/Kotlin/lib/kotlin-reflect.jar:/home/pm/idea-IU-212.4746.92/plugins/Kotlin/lib/kotlin-plugin.jar:/home/pm/idea-IU-212.4746.92/plugins/ant/lib/ant-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/uiDesigner/lib/jps/java-guiForms-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/eclipse/lib/eclipse-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/eclipse/lib/eclipse-common.jar:/home/pm/idea-IU-212.4746.92/plugins/IntelliLang/lib/java-langInjection-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/Groovy/lib/groovy-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/Groovy/lib/groovy-constants-rt.jar:/home/pm/idea-IU-212.4746.92/plugins/maven/lib/maven-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/gradle-java/lib/gradle-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/devkit/lib/devkit-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/javaFX/lib/javaFX-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/javaFX/lib/javaFX-common.jar:/home/pm/idea-IU-212.4746.92/plugins/JavaEE/lib/javaee-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/webSphereIntegration/lib/jps/javaee-appServers-websphere-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/weblogicIntegration/lib/jps/javaee-appServers-weblogic-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/JPA/lib/jps/javaee-jpa-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/Grails/lib/groovy-grails-jps.jar:/home/pm/idea-IU-212.4746.92/plugins/Grails/lib/groovy-grails-compilerPatch.jar:/home/pm/idea-IU-212.4746.92/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar:/home/pm/idea-IU-212.4746.92/plugins/Kotlin/lib/kotlin-jps-common.jar:/home/pm/idea-IU-212.4746.92/plugins/Kotlin/lib/kotlin-common.jar org.jetbrains.jps.cmdline.BuildMain 127.0.0.1 34781 9f0681bb-da2a-48db-8344-900ddeb29804 /home/pm/.cache/JetBrains/IntelliJIdea2021.2/compile-server
16Unrecognized option: --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
17Error: Could not create the Java Virtual Machine.
18Error: A fatal exception has occurred. Program will exit.
19

I found other comment to check Lombok works and I see it is fine.

How to fix the problem?

ANSWER

Answered 2021-Jul-28 at 07:22

You are running the project via Java 1.8 and add the --add-opens option to the runner. However Java 1.8 does not support it.

So, the first option is to use Java 11 to run the project, as Java 11 can recognize this VM option.

Another solution is to find a place where --add-opens is added and remove it. Check Run configuration in IntelliJ IDEA (VM options field) and Maven/Gradle configuration files for argLine (Maven) and jvmArgs (Gradle)

Source https://stackoverflow.com/questions/68554693

QUESTION

Springboot 2.6.0 / Spring fox 3 - Failed to start bean 'documentationPluginsBootstrapper'

Asked 2022-Mar-25 at 06:14

I'm trying to initiate a Springboot project using Open Jdk 15, Springboot 2.6.0, Springfox 3. We are working on a project that replaced Netty as the webserver and used Jetty instead because we do not need a non-blocking environment.

In the code we depend primarily on Reactor API (Flux, Mono), so we can not remove org.springframework.boot:spring-boot-starter-webflux dependencies.

I replicated the problem that we have in a new project.: https://github.com/jvacaq/spring-fox.

I figured out that these lines in our build.gradle file are the origin of the problem.

1compile(&quot;org.springframework.boot:spring-boot-starter-web&quot;) {
2   exclude module: &quot;spring-boot-starter-tomcat&quot;
3}
4compile(&quot;org.springframework.boot:spring-boot-starter-jetty&quot;)
5

Here is the build.gradle file:

1compile(&quot;org.springframework.boot:spring-boot-starter-web&quot;) {
2   exclude module: &quot;spring-boot-starter-tomcat&quot;
3}
4compile(&quot;org.springframework.boot:spring-boot-starter-jetty&quot;)
5plugins {
6    id 'org.springframework.boot' version '2.6.0'
7    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
8    id 'java'
9}
10
11group = 'com.example'
12version = '0.0.1-SNAPSHOT'
13sourceCompatibility = '11'
14
15repositories {
16    mavenCentral()
17}
18
19dependencies {
20    compile(&quot;org.springframework.boot:spring-boot-starter-web&quot;) {
21        exclude module: &quot;spring-boot-starter-tomcat&quot;
22    }
23    compile(&quot;org.springframework.boot:spring-boot-starter-jetty&quot;)
24    implementation 'org.springframework.boot:spring-boot-starter-webflux'
25    testImplementation 'org.springframework.boot:spring-boot-starter-test'
26    testImplementation 'io.projectreactor:reactor-test'
27    implementation &quot;io.springfox:springfox-boot-starter:3.0.0&quot;
28}
29
30test {
31    useJUnitPlatform()
32}
33
34

I issued the command gradle clean bootrun. The result is this error:

1compile(&quot;org.springframework.boot:spring-boot-starter-web&quot;) {
2   exclude module: &quot;spring-boot-starter-tomcat&quot;
3}
4compile(&quot;org.springframework.boot:spring-boot-starter-jetty&quot;)
5plugins {
6    id 'org.springframework.boot' version '2.6.0'
7    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
8    id 'java'
9}
10
11group = 'com.example'
12version = '0.0.1-SNAPSHOT'
13sourceCompatibility = '11'
14
15repositories {
16    mavenCentral()
17}
18
19dependencies {
20    compile(&quot;org.springframework.boot:spring-boot-starter-web&quot;) {
21        exclude module: &quot;spring-boot-starter-tomcat&quot;
22    }
23    compile(&quot;org.springframework.boot:spring-boot-starter-jetty&quot;)
24    implementation 'org.springframework.boot:spring-boot-starter-webflux'
25    testImplementation 'org.springframework.boot:spring-boot-starter-test'
26    testImplementation 'io.projectreactor:reactor-test'
27    implementation &quot;io.springfox:springfox-boot-starter:3.0.0&quot;
28}
29
30test {
31    useJUnitPlatform()
32}
33
34 gradle clean bootrun                                                                                                                                                                                                               
35
36&gt; Task :bootRun FAILED
37
38  .   ____          _            __ _ _
39 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
40( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
41 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
42  '  |____| .__|_| |_|_| |_\__, | / / / /
43 =========|_|==============|___/=/_/_/_/
44 :: Spring Boot ::                (v2.6.0)
45
462021-11-19 09:41:06.665  INFO 16666 --- [           main] c.e.springfox.SpringFoxApplication       : Starting SpringFoxApplication using Java 15.0.2 on advance-Inspiron-5379 with PID 16666 (/home/advance/projects/spring-fox/build/classes/java/main started by advance in /home/advance/projects/spring-fox)
472021-11-19 09:41:06.666  INFO 16666 --- [           main] c.e.springfox.SpringFoxApplication       : No active profile set, falling back to default profiles: default
482021-11-19 09:41:07.294  INFO 16666 --- [           main] org.eclipse.jetty.util.log               : Logging initialized @1132ms to org.eclipse.jetty.util.log.Slf4jLog
492021-11-19 09:41:07.396  INFO 16666 --- [           main] o.s.b.w.e.j.JettyServletWebServerFactory : Server initialized with port: 8080
502021-11-19 09:41:07.398  INFO 16666 --- [           main] org.eclipse.jetty.server.Server          : jetty-9.4.44.v20210927; built: 2021-09-27T23:02:44.612Z; git: 8da83308eeca865e495e53ef315a249d63ba9332; jvm 15.0.2+7-27
512021-11-19 09:41:07.417  INFO 16666 --- [           main] o.e.j.s.h.ContextHandler.application     : Initializing Spring embedded WebApplicationContext
522021-11-19 09:41:07.417  INFO 16666 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 713 ms
532021-11-19 09:41:07.474  INFO 16666 --- [           main] org.eclipse.jetty.server.session         : DefaultSessionIdManager workerName=node0
542021-11-19 09:41:07.474  INFO 16666 --- [           main] org.eclipse.jetty.server.session         : No SessionScavenger set, using defaults
552021-11-19 09:41:07.475  INFO 16666 --- [           main] org.eclipse.jetty.server.session         : node0 Scavenging every 660000ms
562021-11-19 09:41:07.480  INFO 16666 --- [           main] o.e.jetty.server.handler.ContextHandler  : Started o.s.b.w.e.j.JettyEmbeddedWebAppContext@6aa3bfc{application,/,[file:///tmp/jetty-docbase.8080.2024342829220941812/, jar:file:/home/advance/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-swagger-ui/3.0.0/1e665fbe22148f7c36fa8a08e515a0047cd4390b/springfox-swagger-ui-3.0.0.jar!/META-INF/resources],AVAILABLE}
572021-11-19 09:41:07.480  INFO 16666 --- [           main] org.eclipse.jetty.server.Server          : Started @1318ms
582021-11-19 09:41:07.920  INFO 16666 --- [           main] o.e.j.s.h.ContextHandler.application     : Initializing Spring DispatcherServlet 'dispatcherServlet'
592021-11-19 09:41:07.920  INFO 16666 --- [           main] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
602021-11-19 09:41:07.921  INFO 16666 --- [           main] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
612021-11-19 09:41:07.931  INFO 16666 --- [           main] o.e.jetty.server.AbstractConnector       : Started ServerConnector@2643d762{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
622021-11-19 09:41:07.932  INFO 16666 --- [           main] o.s.b.web.embedded.jetty.JettyWebServer  : Jetty started on port(s) 8080 (http/1.1) with context path '/'
632021-11-19 09:41:07.934  WARN 16666 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException: Cannot invoke &quot;org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()&quot; because &quot;this.condition&quot; is null
642021-11-19 09:41:07.949  INFO 16666 --- [           main] o.e.jetty.server.AbstractConnector       : Stopped ServerConnector@2643d762{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
652021-11-19 09:41:07.950  INFO 16666 --- [           main] org.eclipse.jetty.server.session         : node0 Stopped scavenging
662021-11-19 09:41:07.951  INFO 16666 --- [           main] o.e.j.s.h.ContextHandler.application     : Destroying Spring FrameworkServlet 'dispatcherServlet'
672021-11-19 09:41:07.951  INFO 16666 --- [           main] o.e.jetty.server.handler.ContextHandler  : Stopped o.s.b.w.e.j.JettyEmbeddedWebAppContext@6aa3bfc{application,/,[file:///tmp/jetty-docbase.8080.2024342829220941812/, jar:file:/home/advance/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-swagger-ui/3.0.0/1e665fbe22148f7c36fa8a08e515a0047cd4390b/springfox-swagger-ui-3.0.0.jar!/META-INF/resources],STOPPED}
682021-11-19 09:41:07.958  INFO 16666 --- [           main] ConditionEvaluationReportLoggingListener : 
69
70Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
712021-11-19 09:41:07.970 ERROR 16666 --- [           main] o.s.boot.SpringApplication               : Application run failed
72
73org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException: Cannot invoke &quot;org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()&quot; because &quot;this.condition&quot; is null
74        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.13.jar:5.3.13]
75        at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.13.jar:5.3.13]
76        at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.13.jar:5.3.13]
77        at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
78        at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.13.jar:5.3.13]
79        at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.13.jar:5.3.13]
80        at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.13.jar:5.3.13]
81        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.13.jar:5.3.13]
82        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.0.jar:2.6.0]
83        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730) ~[spring-boot-2.6.0.jar:2.6.0]
84        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412) ~[spring-boot-2.6.0.jar:2.6.0]
85        at org.springframework.boot.SpringApplication.run(SpringApplication.java:302) ~[spring-boot-2.6.0.jar:2.6.0]
86        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301) ~[spring-boot-2.6.0.jar:2.6.0]
87        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1290) ~[spring-boot-2.6.0.jar:2.6.0]
88        at com.example.springfox.SpringFoxApplication.main(SpringFoxApplication.java:10) ~[main/:na]
89Caused by: java.lang.NullPointerException: Cannot invoke &quot;org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()&quot; because &quot;this.condition&quot; is null
90        at springfox.documentation.spring.web.WebMvcPatternsRequestConditionWrapper.getPatterns(WebMvcPatternsRequestConditionWrapper.java:56) ~[springfox-spring-webmvc-3.0.0.jar:3.0.0]
91        at springfox.documentation.RequestHandler.sortedPaths(RequestHandler.java:113) ~[springfox-core-3.0.0.jar:3.0.0]
92        at springfox.documentation.spi.service.contexts.Orderings.lambda$byPatternsCondition$3(Orderings.java:89) ~[springfox-spi-3.0.0.jar:3.0.0]
93        at java.base/java.util.Comparator.lambda$comparing$77a9974f$1(Comparator.java:469) ~[na:na]
94        at java.base/java.util.TimSort.countRunAndMakeAscending(TimSort.java:355) ~[na:na]
95        at java.base/java.util.TimSort.sort(TimSort.java:220) ~[na:na]
96        at java.base/java.util.Arrays.sort(Arrays.java:1306) ~[na:na]
97        at java.base/java.util.ArrayList.sort(ArrayList.java:1721) ~[na:na]
98        at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:392) ~[na:na]
99        at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[na:na]
100        at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[na:na]
101        at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[na:na]
102        at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[na:na]
103        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[na:na]
104        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[na:na]
105        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[na:na]
106        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
107        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[na:na]
108        at springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider.requestHandlers(WebMvcRequestHandlerProvider.java:81) ~[springfox-spring-webmvc-3.0.0.jar:3.0.0]
109        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[na:na]
110        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[na:na]
111        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[na:na]
112        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[na:na]
113        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[na:na]
114        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
115        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[na:na]
116        at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.withDefaults(AbstractDocumentationPluginsBootstrapper.java:107) ~[springfox-spring-web-3.0.0.jar:3.0.0]
117        at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.buildContext(AbstractDocumentationPluginsBootstrapper.java:91) ~[springfox-spring-web-3.0.0.jar:3.0.0]
118        at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.bootstrapDocumentationPlugins(AbstractDocumentationPluginsBootstrapper.java:82) ~[springfox-spring-web-3.0.0.jar:3.0.0]
119        at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.start(DocumentationPluginsBootstrapper.java:100) ~[springfox-spring-web-3.0.0.jar:3.0.0]
120        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.13.jar:5.3.13]
121        ... 14 common frames omitted
122
123
124FAILURE: Build failed with an exception.
125
126* What went wrong:
127Execution failed for task ':bootRun'.
128&gt; Process 'command '/home/advance/.sdkman/candidates/java/15.0.2-open/bin/java'' finished with non-zero exit value 1
129
130* Try:
131Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
132
133* Get more help at https://help.gradle.org
134
135Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
136Use '--warning-mode all' to show the individual deprecation warnings.
137See https://docs.gradle.org/6.9.1/userguide/command_line_interface.html#sec:command_line_warnings
138
139BUILD FAILED in 2s
1405 actionable tasks: 5 executed
141

Does anyone have an idea how to solve it?

ANSWER

Answered 2022-Feb-08 at 12:36

This problem's caused by a bug in Springfox. It's making an assumption about how Spring MVC is set up that doesn't always hold true. Specifically, it's assuming that MVC's path matching will use the Ant-based path matcher and not the PathPattern-based matcher. PathPattern-based matching has been an option for some time now and is the default as of Spring Boot 2.6.

As described in Spring Boot 2.6's release notes, you can restore the configuration that Springfox assumes will be used by setting spring.mvc.pathmatch.matching-strategy to ant-path-matcher in your application.properties file. Note that this will only work if you are not using Spring Boot's Actuator. The Actuator always uses PathPattern-based parsing, irrespective of the configured matching-strategy. A change to Springfox will be required if you want to use it with the Actuator in Spring Boot 2.6 and later.

Source https://stackoverflow.com/questions/70036953

QUESTION

Your project requires a newer version of the Kotlin Gradle plugin. (Android Studio)

Asked 2022-Mar-17 at 15:50

I've just updated my flutter project packages to be null-safety compliant and now Android Studio wants me to update my project to use the latest version of Kotling Gradle Plugin. Can't see where to change this though. I have tried to change "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" into "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10" but this has no effect.

My build.grade-file looks like this:

1def localProperties = new Properties()
2def localPropertiesFile = rootProject.file('local.properties')
3if (localPropertiesFile.exists()) {
4    localPropertiesFile.withReader('UTF-8') { reader -&gt;
5        localProperties.load(reader)
6    }
7}
8
9def flutterRoot = localProperties.getProperty('flutter.sdk')
10if (flutterRoot == null) {
11    throw new GradleException(&quot;Flutter SDK not found. Define location with flutter.sdk in the local.properties file.&quot;)
12}
13
14def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15if (flutterVersionCode == null) {
16    flutterVersionCode = '1'
17}
18
19def flutterVersionName = localProperties.getProperty('flutter.versionName')
20if (flutterVersionName == null) {
21    flutterVersionName = '1.0'
22}
23
24apply plugin: 'com.android.application'
25apply plugin: 'kotlin-android'
26apply from: &quot;$flutterRoot/packages/flutter_tools/gradle/flutter.gradle&quot;
27
28def keystoreProperties = new Properties()
29def keystorePropertiesFile = rootProject.file('key.properties')
30if (keystorePropertiesFile.exists()) {
31    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
32}
33
34android {
35    compileSdkVersion 31
36
37    sourceSets {
38        main.java.srcDirs += 'src/main/kotlin'
39    }
40
41    lintOptions {
42        disable 'InvalidPackage'
43    }
44
45    defaultConfig {
46        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
47        applicationId &quot;*********&quot;
48        minSdkVersion 30
49        targetSdkVersion 30
50        versionCode flutterVersionCode.toInteger()
51        versionName flutterVersionName
52        testInstrumentationRunner &quot;androidx.test.runner.AndroidJUnitRunner&quot;
53    }
54
55
56
57    signingConfigs {
58        release {
59            keyAlias keystoreProperties['keyAlias']
60            keyPassword keystoreProperties['keyPassword']
61            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
62            storePassword keystoreProperties['storePassword']
63        }
64    }
65    buildTypes {
66        release {
67            signingConfig signingConfigs.release
68        }
69    }
70
71}
72
73flutter {
74    source '../..'
75}
76
77dependencies {
78    implementation &quot;org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version&quot;
79    testImplementation 'junit:junit:4.12'
80    androidTestImplementation 'androidx.test:runner:1.1.1'
81    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
82    implementation 'com.google.firebase:firebase-analytics:17.2.2'
83}
84apply plugin: 'com.google.gms.google-services'
85

Build output:

1def localProperties = new Properties()
2def localPropertiesFile = rootProject.file('local.properties')
3if (localPropertiesFile.exists()) {
4    localPropertiesFile.withReader('UTF-8') { reader -&gt;
5        localProperties.load(reader)
6    }
7}
8
9def flutterRoot = localProperties.getProperty('flutter.sdk')
10if (flutterRoot == null) {
11    throw new GradleException(&quot;Flutter SDK not found. Define location with flutter.sdk in the local.properties file.&quot;)
12}
13
14def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15if (flutterVersionCode == null) {
16    flutterVersionCode = '1'
17}
18
19def flutterVersionName = localProperties.getProperty('flutter.versionName')
20if (flutterVersionName == null) {
21    flutterVersionName = '1.0'
22}
23
24apply plugin: 'com.android.application'
25apply plugin: 'kotlin-android'
26apply from: &quot;$flutterRoot/packages/flutter_tools/gradle/flutter.gradle&quot;
27
28def keystoreProperties = new Properties()
29def keystorePropertiesFile = rootProject.file('key.properties')
30if (keystorePropertiesFile.exists()) {
31    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
32}
33
34android {
35    compileSdkVersion 31
36
37    sourceSets {
38        main.java.srcDirs += 'src/main/kotlin'
39    }
40
41    lintOptions {
42        disable 'InvalidPackage'
43    }
44
45    defaultConfig {
46        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
47        applicationId &quot;*********&quot;
48        minSdkVersion 30
49        targetSdkVersion 30
50        versionCode flutterVersionCode.toInteger()
51        versionName flutterVersionName
52        testInstrumentationRunner &quot;androidx.test.runner.AndroidJUnitRunner&quot;
53    }
54
55
56
57    signingConfigs {
58        release {
59            keyAlias keystoreProperties['keyAlias']
60            keyPassword keystoreProperties['keyPassword']
61            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
62            storePassword keystoreProperties['storePassword']
63        }
64    }
65    buildTypes {
66        release {
67            signingConfig signingConfigs.release
68        }
69    }
70
71}
72
73flutter {
74    source '../..'
75}
76
77dependencies {
78    implementation &quot;org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version&quot;
79    testImplementation 'junit:junit:4.12'
80    androidTestImplementation 'androidx.test:runner:1.1.1'
81    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
82    implementation 'com.google.firebase:firebase-analytics:17.2.2'
83}
84apply plugin: 'com.google.gms.google-services'
85BUILD FAILED in 8s
86[!] Your project requires a newer version of the Kotlin Gradle plugin.
87    Find the latest version on https://kotlinlang.org/docs/gradle.html#plugin-and-versions, then update project/android/build.gradle:
88    ext.kotlin_version = '&lt;latest-version&gt;'
89Exception: Gradle task assembleDebug failed with exit code 1
90

ANSWER

Answered 2022-Jan-30 at 21:52

change build gradle to this :

1def localProperties = new Properties()
2def localPropertiesFile = rootProject.file('local.properties')
3if (localPropertiesFile.exists()) {
4    localPropertiesFile.withReader('UTF-8') { reader -&gt;
5        localProperties.load(reader)
6    }
7}
8
9def flutterRoot = localProperties.getProperty('flutter.sdk')
10if (flutterRoot == null) {
11    throw new GradleException(&quot;Flutter SDK not found. Define location with flutter.sdk in the local.properties file.&quot;)
12}
13
14def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15if (flutterVersionCode == null) {
16    flutterVersionCode = '1'
17}
18
19def flutterVersionName = localProperties.getProperty('flutter.versionName')
20if (flutterVersionName == null) {
21    flutterVersionName = '1.0'
22}
23
24apply plugin: 'com.android.application'
25apply plugin: 'kotlin-android'
26apply from: &quot;$flutterRoot/packages/flutter_tools/gradle/flutter.gradle&quot;
27
28def keystoreProperties = new Properties()
29def keystorePropertiesFile = rootProject.file('key.properties')
30if (keystorePropertiesFile.exists()) {
31    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
32}
33
34android {
35    compileSdkVersion 31
36
37    sourceSets {
38        main.java.srcDirs += 'src/main/kotlin'
39    }
40
41    lintOptions {
42        disable 'InvalidPackage'
43    }
44
45    defaultConfig {
46        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
47        applicationId &quot;*********&quot;
48        minSdkVersion 30
49        targetSdkVersion 30
50        versionCode flutterVersionCode.toInteger()
51        versionName flutterVersionName
52        testInstrumentationRunner &quot;androidx.test.runner.AndroidJUnitRunner&quot;
53    }
54
55
56
57    signingConfigs {
58        release {
59            keyAlias keystoreProperties['keyAlias']
60            keyPassword keystoreProperties['keyPassword']
61            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
62            storePassword keystoreProperties['storePassword']
63        }
64    }
65    buildTypes {
66        release {
67            signingConfig signingConfigs.release
68        }
69    }
70
71}
72
73flutter {
74    source '../..'
75}
76
77dependencies {
78    implementation &quot;org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version&quot;
79    testImplementation 'junit:junit:4.12'
80    androidTestImplementation 'androidx.test:runner:1.1.1'
81    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
82    implementation 'com.google.firebase:firebase-analytics:17.2.2'
83}
84apply plugin: 'com.google.gms.google-services'
85BUILD FAILED in 8s
86[!] Your project requires a newer version of the Kotlin Gradle plugin.
87    Find the latest version on https://kotlinlang.org/docs/gradle.html#plugin-and-versions, then update project/android/build.gradle:
88    ext.kotlin_version = '&lt;latest-version&gt;'
89Exception: Gradle task assembleDebug failed with exit code 1
90classpath 'com.android.tools.build:gradle:4.1.0'
91

and gradle-wrapper to this :

1def localProperties = new Properties()
2def localPropertiesFile = rootProject.file('local.properties')
3if (localPropertiesFile.exists()) {
4    localPropertiesFile.withReader('UTF-8') { reader -&gt;
5        localProperties.load(reader)
6    }
7}
8
9def flutterRoot = localProperties.getProperty('flutter.sdk')
10if (flutterRoot == null) {
11    throw new GradleException(&quot;Flutter SDK not found. Define location with flutter.sdk in the local.properties file.&quot;)
12}
13
14def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15if (flutterVersionCode == null) {
16    flutterVersionCode = '1'
17}
18
19def flutterVersionName = localProperties.getProperty('flutter.versionName')
20if (flutterVersionName == null) {
21    flutterVersionName = '1.0'
22}
23
24apply plugin: 'com.android.application'
25apply plugin: 'kotlin-android'
26apply from: &quot;$flutterRoot/packages/flutter_tools/gradle/flutter.gradle&quot;
27
28def keystoreProperties = new Properties()
29def keystorePropertiesFile = rootProject.file('key.properties')
30if (keystorePropertiesFile.exists()) {
31    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
32}
33
34android {
35    compileSdkVersion 31
36
37    sourceSets {
38        main.java.srcDirs += 'src/main/kotlin'
39    }
40
41    lintOptions {
42        disable 'InvalidPackage'
43    }
44
45    defaultConfig {
46        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
47        applicationId &quot;*********&quot;
48        minSdkVersion 30
49        targetSdkVersion 30
50        versionCode flutterVersionCode.toInteger()
51        versionName flutterVersionName
52        testInstrumentationRunner &quot;androidx.test.runner.AndroidJUnitRunner&quot;
53    }
54
55
56
57    signingConfigs {
58        release {
59            keyAlias keystoreProperties['keyAlias']
60            keyPassword keystoreProperties['keyPassword']
61            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
62            storePassword keystoreProperties['storePassword']
63        }
64    }
65    buildTypes {
66        release {
67            signingConfig signingConfigs.release
68        }
69    }
70
71}
72
73flutter {
74    source '../..'
75}
76
77dependencies {
78    implementation &quot;org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version&quot;
79    testImplementation 'junit:junit:4.12'
80    androidTestImplementation 'androidx.test:runner:1.1.1'
81    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
82    implementation 'com.google.firebase:firebase-analytics:17.2.2'
83}
84apply plugin: 'com.google.gms.google-services'
85BUILD FAILED in 8s
86[!] Your project requires a newer version of the Kotlin Gradle plugin.
87    Find the latest version on https://kotlinlang.org/docs/gradle.html#plugin-and-versions, then update project/android/build.gradle:
88    ext.kotlin_version = '&lt;latest-version&gt;'
89Exception: Gradle task assembleDebug failed with exit code 1
90classpath 'com.android.tools.build:gradle:4.1.0'
91distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
92

Source https://stackoverflow.com/questions/70919127

QUESTION

ESlint - Error: Must use import to load ES Module

Asked 2022-Mar-17 at 12:13

I am currently setting up a boilerplate with React, Typescript, styled components, webpack etc. and I am getting an error when trying to run eslint:

Error: Must use import to load ES Module

Here is a more verbose version of the error:

1/Users/ben/Desktop/development projects/react-boilerplate-styled-context/src/api/api.ts
2  0:0  error  Parsing error: Must use import to load ES Module: /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/lib/definition.js
3require() of ES modules is not supported.
4require() of /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/lib/definition.js from /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/babel-eslint/lib/require-from-eslint.js is an ES module file as it is a .js file whose nearest parent package.json contains &quot;type&quot;: &quot;module&quot; which defines all .js files in that package scope as ES modules.
5Instead rename definition.js to end in .cjs, change the requiring code to use import(), or remove &quot;type&quot;: &quot;module&quot; from /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/package.json
6

The error occurs in every single one of my .js and .ts/ .tsx files where I only use import or the file doesn't even have an import at all. I understand what the error is saying but I have no idea why it is being thrown when in fact I only use imports or even no imports at all in some files.

Here is my package.json where I trigger the linter from using npm run lint:eslint:quiet:

1/Users/ben/Desktop/development projects/react-boilerplate-styled-context/src/api/api.ts
2  0:0  error  Parsing error: Must use import to load ES Module: /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/lib/definition.js
3require() of ES modules is not supported.
4require() of /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/lib/definition.js from /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/babel-eslint/lib/require-from-eslint.js is an ES module file as it is a .js file whose nearest parent package.json contains &quot;type&quot;: &quot;module&quot; which defines all .js files in that package scope as ES modules.
5Instead rename definition.js to end in .cjs, change the requiring code to use import(), or remove &quot;type&quot;: &quot;module&quot; from /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/package.json
6{
7  &quot;name&quot;: &quot;my-react-boilerplate&quot;,
8  &quot;version&quot;: &quot;1.0.0&quot;,
9  &quot;description&quot;: &quot;&quot;,
10  &quot;main&quot;: &quot;index.tsx&quot;,
11  &quot;directories&quot;: {
12    &quot;test&quot;: &quot;test&quot;
13  },
14  &quot;engines&quot;: {
15    &quot;node&quot;: &quot;&gt;=14.0.0&quot;
16  },
17  &quot;type&quot;: &quot;module&quot;,
18  &quot;scripts&quot;: {
19    &quot;build&quot;: &quot;webpack --config webpack.prod.js&quot;,
20    &quot;dev&quot;: &quot;webpack serve --config webpack.dev.js&quot;,
21    &quot;lint&quot;: &quot;npm run typecheck &amp;&amp; npm run lint:css &amp;&amp; npm run lint:eslint:quiet&quot;,
22    &quot;lint:css&quot;: &quot;stylelint './src/**/*.{js,ts,tsx}'&quot;,
23    &quot;lint:eslint:quiet&quot;: &quot;eslint --ext .ts,.tsx,.js,.jsx  ./src --no-error-on-unmatched-pattern --quiet&quot;,
24    &quot;lint:eslint&quot;: &quot;eslint --ext .ts,.tsx,.js,.jsx  ./src --no-error-on-unmatched-pattern&quot;,
25    &quot;lint:eslint:fix&quot;: &quot;eslint --ext .ts,.tsx,.js,.jsx  ./src --no-error-on-unmatched-pattern --quiet --fix&quot;,
26    &quot;test&quot;: &quot;cross-env NODE_ENV=test jest --coverage&quot;,
27    &quot;test:watch&quot;: &quot;cross-env NODE_ENV=test jest --watchAll&quot;,
28    &quot;typecheck&quot;: &quot;tsc --noEmit&quot;,
29    &quot;precommit&quot;: &quot;npm run lint&quot;
30  },
31  &quot;lint-staged&quot;: {
32    &quot;*.{ts,tsx,js,jsx}&quot;: [
33      &quot;npm run lint:eslint:fix&quot;,
34      &quot;git add --force&quot;
35    ],
36    &quot;*.{md,json}&quot;: [
37      &quot;prettier --write&quot;,
38      &quot;git add --force&quot;
39    ]
40  },
41  &quot;husky&quot;: {
42    &quot;hooks&quot;: {
43      &quot;pre-commit&quot;: &quot;npx lint-staged &amp;&amp; npm run typecheck&quot;
44    }
45  },
46  &quot;resolutions&quot;: {
47    &quot;styled-components&quot;: &quot;^5&quot;
48  },
49  &quot;author&quot;: &quot;&quot;,
50  &quot;license&quot;: &quot;ISC&quot;,
51  &quot;devDependencies&quot;: {
52    &quot;@babel/core&quot;: &quot;^7.5.4&quot;,
53    &quot;@babel/plugin-proposal-class-properties&quot;: &quot;^7.5.0&quot;,
54    &quot;@babel/preset-env&quot;: &quot;^7.5.4&quot;,
55    &quot;@babel/preset-react&quot;: &quot;^7.0.0&quot;,
56    &quot;@types/history&quot;: &quot;^4.7.6&quot;,
57    &quot;@types/react&quot;: &quot;^17.0.29&quot;,
58    &quot;@types/react-dom&quot;: &quot;^17.0.9&quot;,
59    &quot;@types/react-router&quot;: &quot;^5.1.17&quot;,
60    &quot;@types/react-router-dom&quot;: &quot;^5.1.5&quot;,
61    &quot;@types/styled-components&quot;: &quot;^5.1.15&quot;,
62    &quot;@typescript-eslint/eslint-plugin&quot;: &quot;^5.0.0&quot;,
63    &quot;babel-cli&quot;: &quot;^6.26.0&quot;,
64    &quot;babel-eslint&quot;: &quot;^10.0.2&quot;,
65    &quot;babel-loader&quot;: &quot;^8.0.0-beta.6&quot;,
66    &quot;babel-polyfill&quot;: &quot;^6.26.0&quot;,
67    &quot;babel-preset-env&quot;: &quot;^1.7.0&quot;,
68    &quot;babel-preset-react&quot;: &quot;^6.24.1&quot;,
69    &quot;babel-preset-stage-2&quot;: &quot;^6.24.1&quot;,
70    &quot;clean-webpack-plugin&quot;: &quot;^4.0.0&quot;,
71    &quot;dotenv-webpack&quot;: &quot;^7.0.3&quot;,
72    &quot;error-overlay-webpack-plugin&quot;: &quot;^1.0.0&quot;,
73    &quot;eslint&quot;: &quot;^8.0.0&quot;,
74    &quot;eslint-config-airbnb&quot;: &quot;^18.2.0&quot;,
75    &quot;eslint-config-prettier&quot;: &quot;^8.3.0&quot;,
76    &quot;eslint-config-with-prettier&quot;: &quot;^6.0.0&quot;,
77    &quot;eslint-plugin-compat&quot;: &quot;^3.3.0&quot;,
78    &quot;eslint-plugin-import&quot;: &quot;^2.25.2&quot;,
79    &quot;eslint-plugin-jsx-a11y&quot;: &quot;^6.2.3&quot;,
80    &quot;eslint-plugin-prettier&quot;: &quot;^4.0.0&quot;,
81    &quot;eslint-plugin-react&quot;: &quot;^7.14.2&quot;,
82    &quot;eslint-plugin-react-hooks&quot;: &quot;^4.2.0&quot;,
83    &quot;extract-text-webpack-plugin&quot;: &quot;^3.0.2&quot;,
84    &quot;file-loader&quot;: &quot;^6.2.0&quot;,
85    &quot;html-webpack-plugin&quot;: &quot;^5.3.2&quot;,
86    &quot;husky&quot;: &quot;^7.0.2&quot;,
87    &quot;prettier&quot;: &quot;^2.4.1&quot;,
88    &quot;raw-loader&quot;: &quot;^4.0.2&quot;,
89    &quot;style-loader&quot;: &quot;^3.3.0&quot;,
90    &quot;stylelint&quot;: &quot;^13.13.1&quot;,
91    &quot;stylelint-config-recommended&quot;: &quot;^5.0.0&quot;,
92    &quot;stylelint-config-styled-components&quot;: &quot;^0.1.1&quot;,
93    &quot;stylelint-processor-styled-components&quot;: &quot;^1.10.0&quot;,
94    &quot;ts-loader&quot;: &quot;^9.2.6&quot;,
95    &quot;tslint&quot;: &quot;^6.1.3&quot;,
96    &quot;typescript&quot;: &quot;^4.4.4&quot;,
97    &quot;url-loader&quot;: &quot;^4.1.1&quot;,
98    &quot;webpack&quot;: &quot;^5.58.2&quot;,
99    &quot;webpack-cli&quot;: &quot;^4.2.0&quot;,
100    &quot;webpack-dev-server&quot;: &quot;^4.3.1&quot;,
101    &quot;webpack-merge&quot;: &quot;^5.3.0&quot;
102  },
103  &quot;dependencies&quot;: {
104    &quot;history&quot;: &quot;^4.10.0&quot;,
105    &quot;process&quot;: &quot;^0.11.10&quot;,
106    &quot;react&quot;: &quot;^17.0.1&quot;,
107    &quot;react-dom&quot;: &quot;^17.0.1&quot;,
108    &quot;react-router-dom&quot;: &quot;^5.2.0&quot;,
109    &quot;styled-components&quot;: &quot;^5.2.1&quot;
110  }
111}
112

Here is my .eslintrc file:

1/Users/ben/Desktop/development projects/react-boilerplate-styled-context/src/api/api.ts
2  0:0  error  Parsing error: Must use import to load ES Module: /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/lib/definition.js
3require() of ES modules is not supported.
4require() of /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/lib/definition.js from /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/babel-eslint/lib/require-from-eslint.js is an ES module file as it is a .js file whose nearest parent package.json contains &quot;type&quot;: &quot;module&quot; which defines all .js files in that package scope as ES modules.
5Instead rename definition.js to end in .cjs, change the requiring code to use import(), or remove &quot;type&quot;: &quot;module&quot; from /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/package.json
6{
7  &quot;name&quot;: &quot;my-react-boilerplate&quot;,
8  &quot;version&quot;: &quot;1.0.0&quot;,
9  &quot;description&quot;: &quot;&quot;,
10  &quot;main&quot;: &quot;index.tsx&quot;,
11  &quot;directories&quot;: {
12    &quot;test&quot;: &quot;test&quot;
13  },
14  &quot;engines&quot;: {
15    &quot;node&quot;: &quot;&gt;=14.0.0&quot;
16  },
17  &quot;type&quot;: &quot;module&quot;,
18  &quot;scripts&quot;: {
19    &quot;build&quot;: &quot;webpack --config webpack.prod.js&quot;,
20    &quot;dev&quot;: &quot;webpack serve --config webpack.dev.js&quot;,
21    &quot;lint&quot;: &quot;npm run typecheck &amp;&amp; npm run lint:css &amp;&amp; npm run lint:eslint:quiet&quot;,
22    &quot;lint:css&quot;: &quot;stylelint './src/**/*.{js,ts,tsx}'&quot;,
23    &quot;lint:eslint:quiet&quot;: &quot;eslint --ext .ts,.tsx,.js,.jsx  ./src --no-error-on-unmatched-pattern --quiet&quot;,
24    &quot;lint:eslint&quot;: &quot;eslint --ext .ts,.tsx,.js,.jsx  ./src --no-error-on-unmatched-pattern&quot;,
25    &quot;lint:eslint:fix&quot;: &quot;eslint --ext .ts,.tsx,.js,.jsx  ./src --no-error-on-unmatched-pattern --quiet --fix&quot;,
26    &quot;test&quot;: &quot;cross-env NODE_ENV=test jest --coverage&quot;,
27    &quot;test:watch&quot;: &quot;cross-env NODE_ENV=test jest --watchAll&quot;,
28    &quot;typecheck&quot;: &quot;tsc --noEmit&quot;,
29    &quot;precommit&quot;: &quot;npm run lint&quot;
30  },
31  &quot;lint-staged&quot;: {
32    &quot;*.{ts,tsx,js,jsx}&quot;: [
33      &quot;npm run lint:eslint:fix&quot;,
34      &quot;git add --force&quot;
35    ],
36    &quot;*.{md,json}&quot;: [
37      &quot;prettier --write&quot;,
38      &quot;git add --force&quot;
39    ]
40  },
41  &quot;husky&quot;: {
42    &quot;hooks&quot;: {
43      &quot;pre-commit&quot;: &quot;npx lint-staged &amp;&amp; npm run typecheck&quot;
44    }
45  },
46  &quot;resolutions&quot;: {
47    &quot;styled-components&quot;: &quot;^5&quot;
48  },
49  &quot;author&quot;: &quot;&quot;,
50  &quot;license&quot;: &quot;ISC&quot;,
51  &quot;devDependencies&quot;: {
52    &quot;@babel/core&quot;: &quot;^7.5.4&quot;,
53    &quot;@babel/plugin-proposal-class-properties&quot;: &quot;^7.5.0&quot;,
54    &quot;@babel/preset-env&quot;: &quot;^7.5.4&quot;,
55    &quot;@babel/preset-react&quot;: &quot;^7.0.0&quot;,
56    &quot;@types/history&quot;: &quot;^4.7.6&quot;,
57    &quot;@types/react&quot;: &quot;^17.0.29&quot;,
58    &quot;@types/react-dom&quot;: &quot;^17.0.9&quot;,
59    &quot;@types/react-router&quot;: &quot;^5.1.17&quot;,
60    &quot;@types/react-router-dom&quot;: &quot;^5.1.5&quot;,
61    &quot;@types/styled-components&quot;: &quot;^5.1.15&quot;,
62    &quot;@typescript-eslint/eslint-plugin&quot;: &quot;^5.0.0&quot;,
63    &quot;babel-cli&quot;: &quot;^6.26.0&quot;,
64    &quot;babel-eslint&quot;: &quot;^10.0.2&quot;,
65    &quot;babel-loader&quot;: &quot;^8.0.0-beta.6&quot;,
66    &quot;babel-polyfill&quot;: &quot;^6.26.0&quot;,
67    &quot;babel-preset-env&quot;: &quot;^1.7.0&quot;,
68    &quot;babel-preset-react&quot;: &quot;^6.24.1&quot;,
69    &quot;babel-preset-stage-2&quot;: &quot;^6.24.1&quot;,
70    &quot;clean-webpack-plugin&quot;: &quot;^4.0.0&quot;,
71    &quot;dotenv-webpack&quot;: &quot;^7.0.3&quot;,
72    &quot;error-overlay-webpack-plugin&quot;: &quot;^1.0.0&quot;,
73    &quot;eslint&quot;: &quot;^8.0.0&quot;,
74    &quot;eslint-config-airbnb&quot;: &quot;^18.2.0&quot;,
75    &quot;eslint-config-prettier&quot;: &quot;^8.3.0&quot;,
76    &quot;eslint-config-with-prettier&quot;: &quot;^6.0.0&quot;,
77    &quot;eslint-plugin-compat&quot;: &quot;^3.3.0&quot;,
78    &quot;eslint-plugin-import&quot;: &quot;^2.25.2&quot;,
79    &quot;eslint-plugin-jsx-a11y&quot;: &quot;^6.2.3&quot;,
80    &quot;eslint-plugin-prettier&quot;: &quot;^4.0.0&quot;,
81    &quot;eslint-plugin-react&quot;: &quot;^7.14.2&quot;,
82    &quot;eslint-plugin-react-hooks&quot;: &quot;^4.2.0&quot;,
83    &quot;extract-text-webpack-plugin&quot;: &quot;^3.0.2&quot;,
84    &quot;file-loader&quot;: &quot;^6.2.0&quot;,
85    &quot;html-webpack-plugin&quot;: &quot;^5.3.2&quot;,
86    &quot;husky&quot;: &quot;^7.0.2&quot;,
87    &quot;prettier&quot;: &quot;^2.4.1&quot;,
88    &quot;raw-loader&quot;: &quot;^4.0.2&quot;,
89    &quot;style-loader&quot;: &quot;^3.3.0&quot;,
90    &quot;stylelint&quot;: &quot;^13.13.1&quot;,
91    &quot;stylelint-config-recommended&quot;: &quot;^5.0.0&quot;,
92    &quot;stylelint-config-styled-components&quot;: &quot;^0.1.1&quot;,
93    &quot;stylelint-processor-styled-components&quot;: &quot;^1.10.0&quot;,
94    &quot;ts-loader&quot;: &quot;^9.2.6&quot;,
95    &quot;tslint&quot;: &quot;^6.1.3&quot;,
96    &quot;typescript&quot;: &quot;^4.4.4&quot;,
97    &quot;url-loader&quot;: &quot;^4.1.1&quot;,
98    &quot;webpack&quot;: &quot;^5.58.2&quot;,
99    &quot;webpack-cli&quot;: &quot;^4.2.0&quot;,
100    &quot;webpack-dev-server&quot;: &quot;^4.3.1&quot;,
101    &quot;webpack-merge&quot;: &quot;^5.3.0&quot;
102  },
103  &quot;dependencies&quot;: {
104    &quot;history&quot;: &quot;^4.10.0&quot;,
105    &quot;process&quot;: &quot;^0.11.10&quot;,
106    &quot;react&quot;: &quot;^17.0.1&quot;,
107    &quot;react-dom&quot;: &quot;^17.0.1&quot;,
108    &quot;react-router-dom&quot;: &quot;^5.2.0&quot;,
109    &quot;styled-components&quot;: &quot;^5.2.1&quot;
110  }
111}
112{
113  &quot;extends&quot;: [&quot;airbnb&quot;, &quot;prettier&quot;],
114  &quot;parser&quot;: &quot;babel-eslint&quot;,
115  &quot;plugins&quot;: [&quot;prettier&quot;, &quot;@typescript-eslint&quot;],
116  &quot;parserOptions&quot;: {
117    &quot;ecmaVersion&quot;: 8,
118    &quot;ecmaFeatures&quot;: {
119      &quot;experimentalObjectRestSpread&quot;: true,
120      &quot;impliedStrict&quot;: true,
121      &quot;classes&quot;: true
122    }
123  },
124  &quot;env&quot;: {
125    &quot;browser&quot;: true,
126    &quot;node&quot;: true,
127    &quot;jest&quot;: true
128  },
129  &quot;rules&quot;: {
130    &quot;arrow-body-style&quot;: [&quot;error&quot;, &quot;as-needed&quot;],
131    &quot;class-methods-use-this&quot;: 0,
132    &quot;react/jsx-filename-extension&quot;: 0,
133    &quot;global-require&quot;: 0,
134    &quot;react/destructuring-assignment&quot;: 0,
135    &quot;import/named&quot;: 2,
136    &quot;linebreak-style&quot;: 0,
137    &quot;import/no-dynamic-require&quot;: 0,
138    &quot;import/no-named-as-default&quot;: 0,
139    &quot;import/no-unresolved&quot;: 2,
140    &quot;import/prefer-default-export&quot;: 0,
141    &quot;semi&quot;: [2, &quot;always&quot;],
142    &quot;max-len&quot;: [
143      &quot;error&quot;,
144      {
145        &quot;code&quot;: 80,
146        &quot;ignoreUrls&quot;: true,
147        &quot;ignoreComments&quot;: true,
148        &quot;ignoreStrings&quot;: true,
149        &quot;ignoreTemplateLiterals&quot;: true
150      }
151    ],
152    &quot;new-cap&quot;: [
153      2,
154      {
155        &quot;capIsNew&quot;: false,
156        &quot;newIsCap&quot;: true
157      }
158    ],
159    &quot;no-param-reassign&quot;: 0,
160    &quot;no-shadow&quot;: 0,
161    &quot;no-tabs&quot;: 2,
162    &quot;no-underscore-dangle&quot;: 0,
163    &quot;react/forbid-prop-types&quot;: [
164      &quot;error&quot;,
165      {
166        &quot;forbid&quot;: [&quot;any&quot;]
167      }
168    ],
169    &quot;import/no-extraneous-dependencies&quot;: [&quot;error&quot;, { &quot;devDependencies&quot;: true }],
170    &quot;react/jsx-no-bind&quot;: [
171      &quot;error&quot;,
172      {
173        &quot;ignoreRefs&quot;: true,
174        &quot;allowArrowFunctions&quot;: true,
175        &quot;allowBind&quot;: false
176      }
177    ],
178    &quot;react/no-unknown-property&quot;: [
179      2,
180      {
181        &quot;ignore&quot;: [&quot;itemscope&quot;, &quot;itemtype&quot;, &quot;itemprop&quot;]
182      }
183    ]
184  }
185}
186

And i'm not sure if relevant but also my tsconfig.eslint.json file:

1/Users/ben/Desktop/development projects/react-boilerplate-styled-context/src/api/api.ts
2  0:0  error  Parsing error: Must use import to load ES Module: /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/lib/definition.js
3require() of ES modules is not supported.
4require() of /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/lib/definition.js from /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/babel-eslint/lib/require-from-eslint.js is an ES module file as it is a .js file whose nearest parent package.json contains &quot;type&quot;: &quot;module&quot; which defines all .js files in that package scope as ES modules.
5Instead rename definition.js to end in .cjs, change the requiring code to use import(), or remove &quot;type&quot;: &quot;module&quot; from /Users/ben/Desktop/development projects/react-boilerplate-styled-context/node_modules/eslint/node_modules/eslint-scope/package.json
6{
7  &quot;name&quot;: &quot;my-react-boilerplate&quot;,
8  &quot;version&quot;: &quot;1.0.0&quot;,
9  &quot;description&quot;: &quot;&quot;,
10  &quot;main&quot;: &quot;index.tsx&quot;,
11  &quot;directories&quot;: {
12    &quot;test&quot;: &quot;test&quot;
13  },
14  &quot;engines&quot;: {
15    &quot;node&quot;: &quot;&gt;=14.0.0&quot;
16  },
17  &quot;type&quot;: &quot;module&quot;,
18  &quot;scripts&quot;: {
19    &quot;build&quot;: &quot;webpack --config webpack.prod.js&quot;,
20    &quot;dev&quot;: &quot;webpack serve --config webpack.dev.js&quot;,
21    &quot;lint&quot;: &quot;npm run typecheck &amp;&amp; npm run lint:css &amp;&amp; npm run lint:eslint:quiet&quot;,
22    &quot;lint:css&quot;: &quot;stylelint './src/**/*.{js,ts,tsx}'&quot;,
23    &quot;lint:eslint:quiet&quot;: &quot;eslint --ext .ts,.tsx,.js,.jsx  ./src --no-error-on-unmatched-pattern --quiet&quot;,
24    &quot;lint:eslint&quot;: &quot;eslint --ext .ts,.tsx,.js,.jsx  ./src --no-error-on-unmatched-pattern&quot;,
25    &quot;lint:eslint:fix&quot;: &quot;eslint --ext .ts,.tsx,.js,.jsx  ./src --no-error-on-unmatched-pattern --quiet --fix&quot;,
26    &quot;test&quot;: &quot;cross-env NODE_ENV=test jest --coverage&quot;,
27    &quot;test:watch&quot;: &quot;cross-env NODE_ENV=test jest --watchAll&quot;,
28    &quot;typecheck&quot;: &quot;tsc --noEmit&quot;,
29    &quot;precommit&quot;: &quot;npm run lint&quot;
30  },
31  &quot;lint-staged&quot;: {
32    &quot;*.{ts,tsx,js,jsx}&quot;: [
33      &quot;npm run lint:eslint:fix&quot;,
34      &quot;git add --force&quot;
35    ],
36    &quot;*.{md,json}&quot;: [
37      &quot;prettier --write&quot;,
38      &quot;git add --force&quot;
39    ]
40  },
41  &quot;husky&quot;: {
42    &quot;hooks&quot;: {
43      &quot;pre-commit&quot;: &quot;npx lint-staged &amp;&amp; npm run typecheck&quot;
44    }
45  },
46  &quot;resolutions&quot;: {
47    &quot;styled-components&quot;: &quot;^5&quot;
48  },
49  &quot;author&quot;: &quot;&quot;,
50  &quot;license&quot;: &quot;ISC&quot;,
51  &quot;devDependencies&quot;: {
52    &quot;@babel/core&quot;: &quot;^7.5.4&quot;,
53    &quot;@babel/plugin-proposal-class-properties&quot;: &quot;^7.5.0&quot;,
54    &quot;@babel/preset-env&quot;: &quot;^7.5.4&quot;,
55    &quot;@babel/preset-react&quot;: &quot;^7.0.0&quot;,
56    &quot;@types/history&quot;: &quot;^4.7.6&quot;,
57    &quot;@types/react&quot;: &quot;^17.0.29&quot;,
58    &quot;@types/react-dom&quot;: &quot;^17.0.9&quot;,
59    &quot;@types/react-router&quot;: &quot;^5.1.17&quot;,
60    &quot;@types/react-router-dom&quot;: &quot;^5.1.5&quot;,
61    &quot;@types/styled-components&quot;: &quot;^5.1.15&quot;,
62    &quot;@typescript-eslint/eslint-plugin&quot;: &quot;^5.0.0&quot;,
63    &quot;babel-cli&quot;: &quot;^6.26.0&quot;,
64    &quot;babel-eslint&quot;: &quot;^10.0.2&quot;,
65    &quot;babel-loader&quot;: &quot;^8.0.0-beta.6&quot;,
66    &quot;babel-polyfill&quot;: &quot;^6.26.0&quot;,
67    &quot;babel-preset-env&quot;: &quot;^1.7.0&quot;,
68    &quot;babel-preset-react&quot;: &quot;^6.24.1&quot;,
69    &quot;babel-preset-stage-2&quot;: &quot;^6.24.1&quot;,
70    &quot;clean-webpack-plugin&quot;: &quot;^4.0.0&quot;,
71    &quot;dotenv-webpack&quot;: &quot;^7.0.3&quot;,
72    &quot;error-overlay-webpack-plugin&quot;: &quot;^1.0.0&quot;,
73    &quot;eslint&quot;: &quot;^8.0.0&quot;,
74    &quot;eslint-config-airbnb&quot;: &quot;^18.2.0&quot;,
75    &quot;eslint-config-prettier&quot;: &quot;^8.3.0&quot;,
76    &quot;eslint-config-with-prettier&quot;: &quot;^6.0.0&quot;,
77    &quot;eslint-plugin-compat&quot;: &quot;^3.3.0&quot;,
78    &quot;eslint-plugin-import&quot;: &quot;^2.25.2&quot;,
79    &quot;eslint-plugin-jsx-a11y&quot;: &quot;^6.2.3&quot;,
80    &quot;eslint-plugin-prettier&quot;: &quot;^4.0.0&quot;,
81    &quot;eslint-plugin-react&quot;: &quot;^7.14.2&quot;,
82    &quot;eslint-plugin-react-hooks&quot;: &quot;^4.2.0&quot;,
83    &quot;extract-text-webpack-plugin&quot;: &quot;^3.0.2&quot;,
84    &quot;file-loader&quot;: &quot;^6.2.0&quot;,
85    &quot;html-webpack-plugin&quot;: &quot;^5.3.2&quot;,
86    &quot;husky&quot;: &quot;^7.0.2&quot;,
87    &quot;prettier&quot;: &quot;^2.4.1&quot;,
88    &quot;raw-loader&quot;: &quot;^4.0.2&quot;,
89    &quot;style-loader&quot;: &quot;^3.3.0&quot;,
90    &quot;stylelint&quot;: &quot;^13.13.1&quot;,
91    &quot;stylelint-config-recommended&quot;: &quot;^5.0.0&quot;,
92    &quot;stylelint-config-styled-components&quot;: &quot;^0.1.1&quot;,
93    &quot;stylelint-processor-styled-components&quot;: &quot;^1.10.0&quot;,
94    &quot;ts-loader&quot;: &quot;^9.2.6&quot;,
95    &quot;tslint&quot;: &quot;^6.1.3&quot;,
96    &quot;typescript&quot;: &quot;^4.4.4&quot;,
97    &quot;url-loader&quot;: &quot;^4.1.1&quot;,
98    &quot;webpack&quot;: &quot;^5.58.2&quot;,
99    &quot;webpack-cli&quot;: &quot;^4.2.0&quot;,
100    &quot;webpack-dev-server&quot;: &quot;^4.3.1&quot;,
101    &quot;webpack-merge&quot;: &quot;^5.3.0&quot;
102  },
103  &quot;dependencies&quot;: {
104    &quot;history&quot;: &quot;^4.10.0&quot;,
105    &quot;process&quot;: &quot;^0.11.10&quot;,
106    &quot;react&quot;: &quot;^17.0.1&quot;,
107    &quot;react-dom&quot;: &quot;^17.0.1&quot;,
108    &quot;react-router-dom&quot;: &quot;^5.2.0&quot;,
109    &quot;styled-components&quot;: &quot;^5.2.1&quot;
110  }
111}
112{
113  &quot;extends&quot;: [&quot;airbnb&quot;, &quot;prettier&quot;],
114  &quot;parser&quot;: &quot;babel-eslint&quot;,
115  &quot;plugins&quot;: [&quot;prettier&quot;, &quot;@typescript-eslint&quot;],
116  &quot;parserOptions&quot;: {
117    &quot;ecmaVersion&quot;: 8,
118    &quot;ecmaFeatures&quot;: {
119      &quot;experimentalObjectRestSpread&quot;: true,
120      &quot;impliedStrict&quot;: true,
121      &quot;classes&quot;: true
122    }
123  },
124  &quot;env&quot;: {
125    &quot;browser&quot;: true,
126    &quot;node&quot;: true,
127    &quot;jest&quot;: true
128  },
129  &quot;rules&quot;: {
130    &quot;arrow-body-style&quot;: [&quot;error&quot;, &quot;as-needed&quot;],
131    &quot;class-methods-use-this&quot;: 0,
132    &quot;react/jsx-filename-extension&quot;: 0,
133    &quot;global-require&quot;: 0,
134    &quot;react/destructuring-assignment&quot;: 0,
135    &quot;import/named&quot;: 2,
136    &quot;linebreak-style&quot;: 0,
137    &quot;import/no-dynamic-require&quot;: 0,
138    &quot;import/no-named-as-default&quot;: 0,
139    &quot;import/no-unresolved&quot;: 2,
140    &quot;import/prefer-default-export&quot;: 0,
141    &quot;semi&quot;: [2, &quot;always&quot;],
142    &quot;max-len&quot;: [
143      &quot;error&quot;,
144      {
145        &quot;code&quot;: 80,
146        &quot;ignoreUrls&quot;: true,
147        &quot;ignoreComments&quot;: true,
148        &quot;ignoreStrings&quot;: true,
149        &quot;ignoreTemplateLiterals&quot;: true
150      }
151    ],
152    &quot;new-cap&quot;: [
153      2,
154      {
155        &quot;capIsNew&quot;: false,
156        &quot;newIsCap&quot;: true
157      }
158    ],
159    &quot;no-param-reassign&quot;: 0,
160    &quot;no-shadow&quot;: 0,
161    &quot;no-tabs&quot;: 2,
162    &quot;no-underscore-dangle&quot;: 0,
163    &quot;react/forbid-prop-types&quot;: [
164      &quot;error&quot;,
165      {
166        &quot;forbid&quot;: [&quot;any&quot;]
167      }
168    ],
169    &quot;import/no-extraneous-dependencies&quot;: [&quot;error&quot;, { &quot;devDependencies&quot;: true }],
170    &quot;react/jsx-no-bind&quot;: [
171      &quot;error&quot;,
172      {
173        &quot;ignoreRefs&quot;: true,
174        &quot;allowArrowFunctions&quot;: true,
175        &quot;allowBind&quot;: false
176      }
177    ],
178    &quot;react/no-unknown-property&quot;: [
179      2,
180      {
181        &quot;ignore&quot;: [&quot;itemscope&quot;, &quot;itemtype&quot;, &quot;itemprop&quot;]
182      }
183    ]
184  }
185}
186{
187  &quot;extends&quot;: &quot;./tsconfig.json&quot;,
188  &quot;include&quot;: [&quot;./src/**/*.ts&quot;, &quot;./src/**/*.tsx&quot;, &quot;./src/**/*.js&quot;],
189  &quot;exclude&quot;: [&quot;node_modules/**&quot;, &quot;build/**&quot;, &quot;coverage/**&quot;]
190}
191

Not sure if anyone has come across this before? Googling the error does not present any useful forums or raised bugs, most of them just state not to use require in your files which I am not.

ANSWER

Answered 2022-Mar-15 at 16:08

I think the problem is that you are trying to use the deprecated babel-eslint parser, last updated a year ago, which looks like it doesn't support ES6 modules. Updating to the latest parser seems to work, at least for simple linting.

So, do this:

  • In package.json, update the line "babel-eslint": "^10.0.2", to "@babel/eslint-parser": "^7.5.4",. This works with the code above but it may be better to use the latest version, which at the time of writing is 7.16.3.
  • Run npm i from a terminal/command prompt in the folder
  • In .eslintrc, update the parser line "parser": "babel-eslint", to "parser": "@babel/eslint-parser",
  • In .eslintrc, add "requireConfigFile": false, to the parserOptions section (underneath "ecmaVersion": 8,) (I needed this or babel was looking for config files I don't have)
  • Run the command to lint a file

Then, for me with just your two configuration files, the error goes away and I get appropriate linting errors.

Source https://stackoverflow.com/questions/69554485

QUESTION

Allow insecure protocols, android gradle

Asked 2022-Mar-17 at 10:30

I recently updated my android studio to Arctic Fox and got an error in my project

1A problem occurred configuring root project 'so10'.
2&gt; Could not resolve all dependencies for configuration ':classpath'.
3   &gt; Using insecure protocols with repositories, without explicit opt-in, is     unsupported. Switch Maven repository 
4'maven3(http://oss.sonatype.org/content/repositories/snapshots)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols.
5 See https://docs.gradle.org/7.0.2/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details. 
6

This is my gradle where the problem occurs

1A problem occurred configuring root project 'so10'.
2&gt; Could not resolve all dependencies for configuration ':classpath'.
3   &gt; Using insecure protocols with repositories, without explicit opt-in, is     unsupported. Switch Maven repository 
4'maven3(http://oss.sonatype.org/content/repositories/snapshots)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols.
5 See https://docs.gradle.org/7.0.2/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details. 
6repositories {
7    // maven { url 'https://maven.fabric.io/public' }
8    maven { url &quot;https://jitpack.io&quot; }
9    maven { url 'https://raw.github.com/Raizlabs/maven-releases/master/releases' }
10    maven { url 'http://oss.sonatype.org/content/repositories/snapshots'}
11    maven { url &quot;https://plugins.gradle.org/m2/&quot; }
12    maven { url 'https://maven.google.com'  }
13    google()
14    mavenCentral()
15    jcenter()
16}
17

How do I solve it?

ANSWER

Answered 2022-Mar-17 at 10:30

For insecure HTTP connections in Gradle 7+ versions, we need to specify a boolean allowInsecureProtocol as true to MavenArtifactRepository closure.
Since you have received this error for sonatype repository, you need to set the repositories as below:

  1. Groovy DSL
1A problem occurred configuring root project 'so10'.
2&gt; Could not resolve all dependencies for configuration ':classpath'.
3   &gt; Using insecure protocols with repositories, without explicit opt-in, is     unsupported. Switch Maven repository 
4'maven3(http://oss.sonatype.org/content/repositories/snapshots)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols.
5 See https://docs.gradle.org/7.0.2/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details. 
6repositories {
7    // maven { url 'https://maven.fabric.io/public' }
8    maven { url &quot;https://jitpack.io&quot; }
9    maven { url 'https://raw.github.com/Raizlabs/maven-releases/master/releases' }
10    maven { url 'http://oss.sonatype.org/content/repositories/snapshots'}
11    maven { url &quot;https://plugins.gradle.org/m2/&quot; }
12    maven { url 'https://maven.google.com'  }
13    google()
14    mavenCentral()
15    jcenter()
16}
17repositories {
18    maven {
19        url &quot;http://oss.sonatype.org/content/repositories/snapshots&quot;
20        allowInsecureProtocol = true
21    }
22    // other repositories ...
23}
24
  1. Kotlin DSL
1A problem occurred configuring root project 'so10'.
2&gt; Could not resolve all dependencies for configuration ':classpath'.
3   &gt; Using insecure protocols with repositories, without explicit opt-in, is     unsupported. Switch Maven repository 
4'maven3(http://oss.sonatype.org/content/repositories/snapshots)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols.
5 See https://docs.gradle.org/7.0.2/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details. 
6repositories {
7    // maven { url 'https://maven.fabric.io/public' }
8    maven { url &quot;https://jitpack.io&quot; }
9    maven { url 'https://raw.github.com/Raizlabs/maven-releases/master/releases' }
10    maven { url 'http://oss.sonatype.org/content/repositories/snapshots'}
11    maven { url &quot;https://plugins.gradle.org/m2/&quot; }
12    maven { url 'https://maven.google.com'  }
13    google()
14    mavenCentral()
15    jcenter()
16}
17repositories {
18    maven {
19        url &quot;http://oss.sonatype.org/content/repositories/snapshots&quot;
20        allowInsecureProtocol = true
21    }
22    // other repositories ...
23}
24repositories {
25    maven {
26        url = uri(&quot;http://oss.sonatype.org/content/repositories/snapshots&quot;)
27        isAllowInsecureProtocol = true
28    }
29    // other repositories ...
30}
31

Source https://stackoverflow.com/questions/68585885

QUESTION

Android studio - Generate signed APKs broke

Asked 2022-Mar-15 at 13:50

I just updated my Android studio to the version 2021.1.1 Canary 12. After struggling to make it work, I had to also upgrade my Gradle and Gradle plugin to 7.0.2. Now I can compile my project and launch my app on my mobile, everything is working. But when I try to generate a Signed APK, I get a strange message after building telling me: APK(s) generated successfully for module 'android-mobile-app-XXXX.app' with 0 build variants:

enter image description here

Even though the build seem to be successful I cannot find the generated APK anywhere (and considering the time it takes to give me that error, I don't even think it is building anything). Now, I have been generating an APK every week for years now, so I know my way around the folders, the different build variant output folders etc... Nothing changed in my way of generating an APK. I do it via AS and follow the very standard procedure.

Can someone point to me what am I missing here? I assume there is a way to select a specific build variant when generating a signed APK, how does it works?

PS: Obviously, I am selecting my variant here during the process: enter image description here

PS2: I can generate a debug APK without any issue whatsoever.

ANSWER

Answered 2021-Oct-05 at 07:39

After a few days of struggle, I ended up switching to Bundle. It achieves the same purpose for me and it actually works so... That's my solution here.

Source https://stackoverflow.com/questions/69408222

Community Discussions contain sources that include Stack Exchange Network

Tutorials and Learning Resources in Plugin

Share this Page

share link

Get latest updates on Plugin