mirror of
https://github.com/expo/config-plugins.git
synced 2026-11-13 20:28:07 -10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e57c2a75a2 | ||
|
|
92776140fe |
No files matched your search
@@ -0,0 +1,80 @@
|
||||
node_modules/**/*
|
||||
.expo/*
|
||||
npm-debug.*
|
||||
*.jks
|
||||
*.p8
|
||||
*.p12
|
||||
*.key
|
||||
*.mobileprovision
|
||||
*.orig.*
|
||||
web-build/
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
|
||||
|
||||
/artifacts
|
||||
|
||||
/scripts/start.command
|
||||
/ios
|
||||
/android
|
||||
# @generated expo-cli sync-e7dcf75f4e856f7b6f3239b3f3a7dd614ee755a8
|
||||
# The following patterns were generated by expo-cli
|
||||
|
||||
# OSX
|
||||
#
|
||||
.DS_Store
|
||||
|
||||
# Xcode
|
||||
#
|
||||
build/
|
||||
*.pbxuser
|
||||
!default.pbxuser
|
||||
*.mode1v3
|
||||
!default.mode1v3
|
||||
*.mode2v3
|
||||
!default.mode2v3
|
||||
*.perspectivev3
|
||||
!default.perspectivev3
|
||||
xcuserdata
|
||||
*.xccheckout
|
||||
*.moved-aside
|
||||
DerivedData
|
||||
*.hmap
|
||||
*.ipa
|
||||
*.xcuserstate
|
||||
project.xcworkspace
|
||||
|
||||
# Android/IntelliJ
|
||||
#
|
||||
build/
|
||||
.idea
|
||||
.gradle
|
||||
local.properties
|
||||
*.iml
|
||||
*.hprof
|
||||
|
||||
# node.js
|
||||
#
|
||||
node_modules/
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
|
||||
# BUCK
|
||||
buck-out/
|
||||
\.buckd/
|
||||
*.keystore
|
||||
!debug.keystore
|
||||
|
||||
# Bundle artifacts
|
||||
*.jsbundle
|
||||
|
||||
# CocoaPods
|
||||
/ios/Pods/
|
||||
|
||||
# Expo
|
||||
.expo/
|
||||
web-build/
|
||||
dist/
|
||||
|
||||
# @end expo-cli
|
||||
Whitespace-only changes.
@@ -0,0 +1,16 @@
|
||||
const path = require("path");
|
||||
const folderName = path.basename(__dirname);
|
||||
const cleanName = folderName.replace(/[_\s-]/g, "");
|
||||
const appId = "dev.bacon." + cleanName;
|
||||
|
||||
module.exports = ({ config }) => {
|
||||
if (!config.extra) config.extra = {};
|
||||
// Expose CI env variables to the app
|
||||
config.extra.CI = process.env.CI;
|
||||
|
||||
if (!config.ios) config.ios = {};
|
||||
config.ios.bundleIdentifier = appId;
|
||||
if (!config.android) config.android = {};
|
||||
config.android.package = appId;
|
||||
return config;
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"expo": {
|
||||
"icon": "https://icogen.vercel.app/api/icon?icon=1f334",
|
||||
"plugins": [
|
||||
"@config-plugins/airbridge-react-native-sdk"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
module.exports = function(api) {
|
||||
api.cache(true);
|
||||
return {
|
||||
presets: ['babel-preset-expo'],
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,5 @@
|
||||
import { registerRootComponent } from "expo";
|
||||
|
||||
import App from "./src/App";
|
||||
|
||||
registerRootComponent(App);
|
||||
@@ -0,0 +1,6 @@
|
||||
// Learn more https://docs.expo.io/guides/customizing-metro
|
||||
const { getDefaultConfig } = require("@expo/metro-config");
|
||||
|
||||
const config = getDefaultConfig(__dirname);
|
||||
|
||||
module.exports = config;
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "@config-plugins-app/airbridge-react-native-sdk",
|
||||
"main": "./index.js",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"start": "expo start --dev-client",
|
||||
"ios": "expo run:ios",
|
||||
"android": "expo run:android"
|
||||
},
|
||||
"dependencies": {
|
||||
"@config-plugins/airbridge-react-native-sdk": "*",
|
||||
"expo": "^45.0.0",
|
||||
"expo-splash-screen": "~0.15.1",
|
||||
"react": "17.0.2",
|
||||
"react-native": "0.68.2",
|
||||
"airbridge-react-native-sdk": "^1.4.5",
|
||||
"expo-status-bar": "~1.3.0",
|
||||
"react-dom": "17.0.2",
|
||||
"react-native-web": "0.17.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.12.9"
|
||||
},
|
||||
"private": true
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import React from "react";
|
||||
import { Text, View } from "react-native";
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
|
||||
<Text>airbridge-react-native-sdk</Text>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
// @generated by expo-module-scripts
|
||||
module.exports = require('expo-module-scripts/eslintrc.base.js');
|
||||
@@ -0,0 +1,50 @@
|
||||
# @config-plugins/airbridge-react-native-sdk
|
||||
|
||||
Expo Config Plugin to auto configure [`airbridge-react-native-sdk`](https://www.npmjs.com/package/airbridge-react-native-sdk) when the native code is generated (`expo prebuild`).
|
||||
|
||||
## Expo installation
|
||||
|
||||
> Tested against Expo SDK 42
|
||||
|
||||
This package cannot be used in the "Expo Go" app because [it requires custom native code](https://docs.expo.io/workflow/customizing/).
|
||||
|
||||
- First install the package with yarn, npm, or [`expo install`](https://docs.expo.io/workflow/expo-cli/#expo-install).
|
||||
|
||||
```sh
|
||||
expo install airbridge-react-native-sdk @config-plugins/airbridge-react-native-sdk
|
||||
```
|
||||
|
||||
After installing this npm package, add the [config plugin](https://docs.expo.io/guides/config-plugins/) to the [`plugins`](https://docs.expo.io/versions/latest/config/app/#plugins) array of your `app.json` or `app.config.js`:
|
||||
|
||||
```json
|
||||
{
|
||||
"expo": {
|
||||
"plugins": ["@config-plugins/airbridge-react-native-sdk"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Next, rebuild your app as described in the ["Adding custom native code"](https://docs.expo.io/workflow/customizing/) guide.
|
||||
|
||||
## API
|
||||
|
||||
The plugin provides props for extra customization. Every time you change the props or plugins, you'll need to rebuild (and `prebuild`) the native app. If no extra properties are added, defaults will be used.
|
||||
|
||||
- `foobar` (_boolean_): Does XYZ. Default `false`.
|
||||
|
||||
#### Example
|
||||
|
||||
```json
|
||||
{
|
||||
"expo": {
|
||||
"plugins": [
|
||||
[
|
||||
"@config-plugins/airbridge-react-native-sdk",
|
||||
{
|
||||
// props ...
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,3 @@
|
||||
# Gradle files
|
||||
.gradle/
|
||||
build/
|
||||
@@ -0,0 +1,67 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
|
||||
group = 'host.exp.exponent'
|
||||
version = '2.0.0'
|
||||
|
||||
buildscript {
|
||||
def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
|
||||
if (expoModulesCorePlugin.exists()) {
|
||||
apply from: expoModulesCorePlugin
|
||||
applyKotlinExpoModulesCorePlugin()
|
||||
}
|
||||
|
||||
// Simple helper that allows the root project to override versions declared by this library.
|
||||
ext.safeExtGet = { prop, fallback ->
|
||||
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
||||
}
|
||||
|
||||
// Ensures backward compatibility
|
||||
ext.getKotlinVersion = {
|
||||
if (ext.has("kotlinVersion")) {
|
||||
ext.kotlinVersion()
|
||||
} else {
|
||||
ext.safeExtGet("kotlinVersion", "1.6.10")
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${getKotlinVersion()}")
|
||||
}
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion safeExtGet("compileSdkVersion", 31)
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_11
|
||||
targetCompatibility JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = JavaVersion.VERSION_11.majorVersion
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion safeExtGet("minSdkVersion", 21)
|
||||
targetSdkVersion safeExtGet("targetSdkVersion", 31)
|
||||
versionCode 2
|
||||
versionName '2.0.0'
|
||||
}
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':expo-modules-core')
|
||||
// implementation project(':react-native-branch')
|
||||
|
||||
//noinspection GradleDynamicVersion
|
||||
implementation 'com.facebook.react:react-native:+'
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${getKotlinVersion()}"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
<manifest package="expo.modules.adapters.airbridge">
|
||||
</manifest>
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package expo.modules.adapters.airbridge
|
||||
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import expo.modules.core.interfaces.ApplicationLifecycleListener
|
||||
// import io.branch.rnbranch.RNBranchModule
|
||||
|
||||
class AirbridgeApplicationLifecycleListener(context: Context?) : ApplicationLifecycleListener {
|
||||
var context = context
|
||||
|
||||
override fun onCreate(application: Application) {
|
||||
super.onCreate(application)
|
||||
// RNBranchModule.getAutoInstance(this.context)
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package expo.modules.adapters.airbridge
|
||||
|
||||
import android.content.Context
|
||||
import expo.modules.core.interfaces.ApplicationLifecycleListener
|
||||
import expo.modules.core.interfaces.Package
|
||||
import expo.modules.core.interfaces.ReactActivityLifecycleListener
|
||||
|
||||
class AirbridgePackage : Package {
|
||||
override fun createApplicationLifecycleListeners(context: Context?): List<ApplicationLifecycleListener> {
|
||||
return listOf(AirbridgeApplicationLifecycleListener(context))
|
||||
}
|
||||
override fun createReactActivityLifecycleListeners(activityContext: Context): List<ReactActivityLifecycleListener> {
|
||||
return listOf(AirbridgeReactActivityLifecycleListener(activityContext))
|
||||
}
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package expo.modules.adapters.airbridge
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import expo.modules.core.interfaces.ReactActivityLifecycleListener
|
||||
// import io.airbridge.rnbranch.RNBranchModule
|
||||
|
||||
|
||||
class AirbridgeReactActivityLifecycleListener(activityContext: Context) : ReactActivityLifecycleListener {
|
||||
override fun onCreate(activity: Activity, savedInstanceState: Bundle?) {
|
||||
// RNBranchModule.initSession(activity.getIntent().getData(), activity);
|
||||
}
|
||||
|
||||
override fun onNewIntent(intent: Intent?): Boolean {
|
||||
if (intent != null) {
|
||||
// RNBranchModule.onNewIntent(intent);
|
||||
}
|
||||
return super.onNewIntent(intent)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
module.exports = require("./build/withAirbridgeReactNativeSdk");
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"platforms": [
|
||||
"android",
|
||||
"ios"
|
||||
],
|
||||
"ios": {
|
||||
"appDelegateSubscribers": ["AirbridgeAppDelegate"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
require 'json'
|
||||
|
||||
package = JSON.parse(File.read(File.join(__dir__, '..', 'package.json')))
|
||||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'ExpoAdapterAirbridge'
|
||||
s.version = package['version']
|
||||
s.summary = package['description']
|
||||
s.description = package['description']
|
||||
s.license = package['license']
|
||||
s.author = package['author']
|
||||
s.homepage = package['homepage']
|
||||
s.platform = :ios, '12.0'
|
||||
s.swift_version = '5.4'
|
||||
s.source = { git: 'https://github.com/expo/config-plugins.git' }
|
||||
s.static_framework = true
|
||||
|
||||
# s.compiler_flags = %(-DRNBRANCH_VERSION=@\\"#{package['dependencies']['react-native-branch']}\\")
|
||||
|
||||
s.dependency 'ExpoModulesCore'
|
||||
s.dependency 'React-Core'
|
||||
# s.dependency 'react-native-branch'
|
||||
|
||||
# Swift/Objective-C compatibility
|
||||
s.pod_target_xcconfig = {
|
||||
'DEFINES_MODULE' => 'YES'
|
||||
}
|
||||
|
||||
if !$ExpoUseSources&.include?(package['name']) && ENV['EXPO_USE_SOURCE'].to_i == 0 && File.exist?("#{s.name}.xcframework") && Gem::Version.new(Pod::VERSION) >= Gem::Version.new('1.10.0')
|
||||
s.source_files = "#{s.name}/**/*.h"
|
||||
s.vendored_frameworks = "#{s.name}.xcframework"
|
||||
else
|
||||
s.source_files = "#{s.name}/**/*.{h,m,swift}"
|
||||
end
|
||||
end
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
import ExpoModulesCore
|
||||
import AirbridgeRN
|
||||
|
||||
public class AirbridgeAppDelegate: ExpoAppDelegateSubscriber {
|
||||
public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
|
||||
AirbridgeRN.getInstance("YOUR_APP_TOKEN", appName:"YOUR_APP_NAME", withLaunchOptions:launchOptions)
|
||||
// RNBranch.initSession(launchOptions: launchOptions, isReferrable: true)
|
||||
return true
|
||||
}
|
||||
|
||||
// public func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
|
||||
// return RNBranch.application(application, open:url, options:options)
|
||||
// }
|
||||
|
||||
// public func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
|
||||
// return RNBranch.continue(userActivity)
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"name": "@config-plugins/airbridge-react-native-sdk",
|
||||
"version": "0.0.0",
|
||||
"description": "Config plugin for airbridge-react-native-sdk package",
|
||||
"author": "650 Industries, Inc.",
|
||||
"license": "MIT",
|
||||
"homepage": "https://github.com/expo/config-plugins/tree/main/packages/airbridge-react-native-sdk",
|
||||
"main": "build/withAirbridgeReactNativeSdk.js",
|
||||
"types": "build/withAirbridgeReactNativeSdk.d.ts",
|
||||
"sideEffects": false,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/expo/config-plugins.git",
|
||||
"directory": "packages/airbridge-react-native-sdk"
|
||||
},
|
||||
"files": [
|
||||
"android",
|
||||
"app.plugin.js",
|
||||
"build",
|
||||
"expo-module.config.json",
|
||||
"ios"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "expo-module build",
|
||||
"clean": "expo-module clean",
|
||||
"lint": "expo-module lint",
|
||||
"test": "expo-module test",
|
||||
"prepare": "expo-module prepare",
|
||||
"prepublishOnly": "expo-module prepublishOnly",
|
||||
"expo-module": "expo-module"
|
||||
},
|
||||
"keywords": [
|
||||
"react",
|
||||
"expo",
|
||||
"config-plugins",
|
||||
"prebuild",
|
||||
"airbridge-react-native-sdk",
|
||||
"expo-42"
|
||||
],
|
||||
"jest": {
|
||||
"preset": "expo-module-scripts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@expo/config-plugins": "^4.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"expo-module-scripts": "^2.0.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import { ConfigPlugin, createRunOncePlugin } from "@expo/config-plugins";
|
||||
|
||||
/**
|
||||
* Apply airbridge-react-native-sdk configuration for Expo SDK 42 projects.
|
||||
*/
|
||||
const withAirbridgeReactNativeSdk: ConfigPlugin<{} | void> = (config, _props = {}) => {
|
||||
// Support passing no props to the plugin.
|
||||
const props = _props || {};
|
||||
|
||||
// Return the modified config.
|
||||
return config;
|
||||
};
|
||||
|
||||
const pkg = {
|
||||
// Prevent this plugin from being run more than once.
|
||||
// This pattern enables users to safely migrate off of this
|
||||
// out-of-tree `@config-plugins/airbridge-react-native-sdk` to a future
|
||||
// upstream plugin in `airbridge-react-native-sdk`
|
||||
name: "airbridge-react-native-sdk",
|
||||
// Indicates that this plugin is dangerously linked to a module,
|
||||
// and might not work with the latest version of that module.
|
||||
version: "UNVERSIONED",
|
||||
};
|
||||
|
||||
export default createRunOncePlugin(withAirbridgeReactNativeSdk, pkg.name, pkg.version);
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "expo-module-scripts/tsconfig.plugin",
|
||||
"compilerOptions": {
|
||||
"outDir": "./build"
|
||||
},
|
||||
"include": ["./src"],
|
||||
"exclude": ["**/__mocks__/*", "**/__tests__/*"]
|
||||
}
|
||||
@@ -1,19 +1,3 @@
|
||||
## @config-plugins/react-native-ble-plx [2.0.0](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-05-27)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* add SDK 45 support (#79)
|
||||
|
||||
### Features
|
||||
|
||||
* add SDK 45 support ([#79](https://github.com/expo/config-plugins/issues/79)) ([96c72dd](https://github.com/expo/config-plugins/commit/96c72dda469ace2b9eafd38ba4d21f1bcd2e3cdf))
|
||||
|
||||
|
||||
### Other chores
|
||||
|
||||
* publish packages [no-ci] ([0c7b413](https://github.com/expo/config-plugins/commit/0c7b413a765e4b1ff92b9e3edc2b62077c41ce46))
|
||||
|
||||
### @config-plugins/react-native-ble-plx [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-05-09)
|
||||
|
||||
|
||||
|
||||
@@ -1402,7 +1402,7 @@
|
||||
node-forge "^1.2.1"
|
||||
nullthrows "^1.1.1"
|
||||
|
||||
"@expo/[email protected]", "@expo/[email protected]", "@expo/[email protected]", "@expo/[email protected]", "@expo/config-plugins@^4.0.14", "@expo/config-plugins@~4.1.4":
|
||||
"@expo/[email protected]", "@expo/[email protected]", "@expo/[email protected]", "@expo/[email protected]", "@expo/config-plugins@^4.0.14", "@expo/config-plugins@^4.1.0", "@expo/config-plugins@~4.1.4":
|
||||
version "4.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-4.1.4.tgz#08e1a6314dc0f96cd165a748b5997b5ec75a84d0"
|
||||
integrity sha512-fkOjXnSieQfVSWVLKhst0DnCAyeHksvWky1CldFCQllhDB1HHBiP09Z8pamVB783n3qr/1HNZiSp6k2iUcaSoA==
|
||||
@@ -4976,6 +4976,15 @@ airbnb-prop-types@^2.16.0:
|
||||
prop-types-exact "^1.2.0"
|
||||
react-is "^16.13.1"
|
||||
|
||||
airbridge-react-native-sdk@^1.4.5:
|
||||
version "1.4.5"
|
||||
resolved "https://registry.yarnpkg.com/airbridge-react-native-sdk/-/airbridge-react-native-sdk-1.4.5.tgz#281d370b4ff3f4491b80d8a0d6d771de5024c4b9"
|
||||
integrity sha512-gdpm+p5m6pk5CPQ/hrW+ll5qs3xFunwMDZR3A4v8oRpGSoqDQrelBflWwf3B/ay9dSFwBARfdOsj4H+Mho/LpQ==
|
||||
dependencies:
|
||||
lodash.isfunction "^3.0.9"
|
||||
lodash.isplainobject "^4.0.6"
|
||||
lodash.isstring "^4.0.1"
|
||||
|
||||
ajv-errors@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
|
||||
@@ -13134,6 +13143,11 @@ lodash.isequal@^4.5.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
|
||||
integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
|
||||
|
||||
lodash.isfunction@^3.0.9:
|
||||
version "3.0.9"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051"
|
||||
integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==
|
||||
|
||||
lodash.ismatch@^4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37"
|
||||
|
||||
Reference in new issue
Block a user