Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add @capacitor-mlkit/selfie-segmentation package #66

Merged
merged 10 commits into from
Sep 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
[
"@capacitor-mlkit/barcode-scanning",
"@capacitor-mlkit/face-detection",
"@capacitor-mlkit/selfie-segmentation",
"@capacitor-mlkit/translation"
]
],
Expand Down
5 changes: 5 additions & 0 deletions .changeset/fifty-mirrors-teach.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@capacitor-mlkit/selfie-segmentation': minor
---

Initial release 🎉
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,12 @@ Click on the name of the desired plugin under the [`Plugins`](#plugins) section

## Plugins

| Name | Package | Version | Downloads |
| ----------------------------------------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Barcode Scanning](./packages/barcode-scanning) | `@capacitor-mlkit/barcode-scanning` | [![npm badge](https://img.shields.io/npm/v/@capacitor-mlkit/barcode-scanning?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/barcode-scanning) | [![npm downloads](https://img.shields.io/npm/dw/@capacitor-mlkit/barcode-scanning?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/barcode-scanning) |
| [Face Detection](./packages/face-detection) | `@capacitor-mlkit/face-detection` | [![npm badge](https://img.shields.io/npm/v/@capacitor-mlkit/face-detection?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/face-detection) | [![npm downloads](https://img.shields.io/npm/dw/@capacitor-mlkit/face-detection?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/face-detection) |
| [Translation](./packages/translation) | `@capacitor-mlkit/translation` | [![npm badge](https://img.shields.io/npm/v/@capacitor-mlkit/translation?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/translation) | [![npm downloads](https://img.shields.io/npm/dw/@capacitor-mlkit/translation?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/translation) |
| Name | Package | Version | Downloads |
| ----------------------------------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Barcode Scanning](./packages/barcode-scanning) | `@capacitor-mlkit/barcode-scanning` | [![npm badge](https://img.shields.io/npm/v/@capacitor-mlkit/barcode-scanning?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/barcode-scanning) | [![npm downloads](https://img.shields.io/npm/dw/@capacitor-mlkit/barcode-scanning?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/barcode-scanning) |
| [Face Detection](./packages/face-detection) | `@capacitor-mlkit/face-detection` | [![npm badge](https://img.shields.io/npm/v/@capacitor-mlkit/face-detection?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/face-detection) | [![npm downloads](https://img.shields.io/npm/dw/@capacitor-mlkit/face-detection?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/face-detection) |
| [Selfie Segmentation](./packages/selfie-segmentation) | `@capacitor-mlkit/selfie-segmentation` | [![npm badge](https://img.shields.io/npm/v/@capacitor-mlkit/selfie-segmentation?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/selfie-segmentation) | [![npm downloads](https://img.shields.io/npm/dw/@capacitor-mlkit/selfie-segmentation?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/selfie-segmentation) |
| [Translation](./packages/translation) | `@capacitor-mlkit/translation` | [![npm badge](https://img.shields.io/npm/v/@capacitor-mlkit/translation?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/translation) | [![npm downloads](https://img.shields.io/npm/dw/@capacitor-mlkit/translation?style=flat-square)](https://www.npmjs.com/package/@capacitor-mlkit/translation) |

## Changelogs

Expand Down
50 changes: 50 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/barcode-scanning/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# @capacitor-mlkit/barcode-scanning

Unofficial Capacitor plugin for [ML Kit Barcode scanning](https://developers.google.com/ml-kit/vision/barcode-scanning).[^1][^2]
Unofficial Capacitor plugin for [ML Kit Barcode Scanning](https://developers.google.com/ml-kit/vision/barcode-scanning).[^1][^2]

## Features

Expand Down
4 changes: 2 additions & 2 deletions packages/barcode-scanning/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@capacitor-mlkit/barcode-scanning",
"version": "5.1.0",
"description": "Capacitor plugin for ML Kit Barcode scanning.",
"description": "Capacitor plugin for ML Kit Barcode Scanning.",
"main": "dist/plugin.cjs.js",
"module": "dist/esm/index.js",
"types": "dist/esm/index.d.ts",
Expand All @@ -21,7 +21,7 @@
"url": "git+https://github.com/capawesome-team/capacitor-mlkit.git"
},
"bugs": {
"url": "https://github.com/capawesome-team/capacitor-mlkit.git/issues"
"url": "https://github.com/capawesome-team/capacitor-mlkit/issues"
},
"funding": [
{
Expand Down
3 changes: 2 additions & 1 deletion packages/face-detection/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ A working example can be found here: [robingenz/capacitor-mlkit-plugin-demo](htt
import { FaceDetection, PerformanceMode, LandmarkMode, ContourMode, ClassificationMode } from '@capacitor-mlkit/face-detection';

const processImage = async () => {
await FaceDetection.processImage({
const { faces } = await FaceDetection.processImage({
path: 'path/to/image.jpg',
performanceMode: PerformanceMode.Fast,
landmarkMode: LandmarkMode.All,
Expand All @@ -48,6 +48,7 @@ const processImage = async () => {
minFaceSize: 0.1,
enableTracking: false,
});
return faces;
};
```

Expand Down
2 changes: 1 addition & 1 deletion packages/face-detection/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"url": "git+https://github.com/capawesome-team/capacitor-mlkit.git"
},
"bugs": {
"url": "https://github.com/capawesome-team/capacitor-mlkit.git/issues"
"url": "https://github.com/capawesome-team/capacitor-mlkit/issues"
},
"funding": [
{
Expand Down
2 changes: 2 additions & 0 deletions packages/selfie-segmentation/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
build
dist
61 changes: 61 additions & 0 deletions packages/selfie-segmentation/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# node files
dist
node_modules

# iOS files
Pods
Podfile.lock
Build
xcuserdata

# macOS files
.DS_Store



# Based on Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin
gen
out

# Gradle files
.gradle
build

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation

# Android Studio captures folder
captures

# IntelliJ
*.iml
.idea

# Keystore files
# Uncomment the following line if you do not want to check your keystore files in.
#*.jks

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
2 changes: 2 additions & 0 deletions packages/selfie-segmentation/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
build
dist
2 changes: 2 additions & 0 deletions packages/selfie-segmentation/.prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
const config = require('../../.prettierrc.js');
module.exports = config;
3 changes: 3 additions & 0 deletions packages/selfie-segmentation/BREAKING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Breaking Changes

This is a comprehensive list of the breaking changes introduced in the major version releases of Capacitor ML Kit Selfie Segmentation plugin.
1 change: 1 addition & 0 deletions packages/selfie-segmentation/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Changelog
52 changes: 52 additions & 0 deletions packages/selfie-segmentation/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Contributing

This guide provides instructions for contributing to this Capacitor plugin.

## Developing

### Local Setup

1. Fork and clone the repo.
1. Install the dependencies.

```shell
npm install
```

1. Install SwiftLint if you're on macOS.

```shell
brew install swiftlint
```

### Scripts

#### `npm run build`

Build the plugin web assets and generate plugin API documentation using [`@capacitor/docgen`](https://github.com/ionic-team/capacitor-docgen).

It will compile the TypeScript code from `src/` into ESM JavaScript in `dist/esm/`. These files are used in apps with bundlers when your plugin is imported.

Then, Rollup will bundle the code into a single file at `dist/plugin.js`. This file is used in apps without bundlers by including it as a script in `index.html`.

#### `npm run verify`

Build and validate the web and native projects.

This is useful to run in CI to verify that the plugin builds for all platforms.

#### `npm run lint` / `npm run fmt`

Check formatting and code quality, autoformat/autofix if possible.

This template is integrated with ESLint, Prettier, and SwiftLint. Using these tools is completely optional, but the [Capacitor Community](https://github.com/capacitor-community/) strives to have consistent code style and structure for easier cooperation.

## Publishing

There is a `prepublishOnly` hook in `package.json` which prepares the plugin before publishing, so all you need to do is run:

```shell
npm publish
```

> **Note**: The [`files`](https://docs.npmjs.com/cli/v7/configuring-npm/package-json#files) array in `package.json` specifies which files get published. If you rename files/directories or add files elsewhere, you may need to update it.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
require 'json'

package = JSON.parse(File.read(File.join(__dir__, 'package.json')))

Pod::Spec.new do |s|
s.name = 'CapacitorMlkitSelfieSegmentation'
s.version = package['version']
s.summary = package['description']
s.license = package['license']
s.homepage = package['repository']['url']
s.author = package['author']
s.source = { :git => package['repository']['url'], :tag => s.version.to_s }
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
s.ios.deployment_target = '13.0'
s.dependency 'Capacitor'
s.dependency 'GoogleMLKit/SegmentationSelfie', '4.0.0'
s.swift_version = '5.1'
s.static_framework = true
end
Loading