diff --git a/.gitignore b/.gitignore
index cb32dd9..eee3ca0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,4 +47,5 @@ yarn-error.log
*.d.ts
*.js.map
-npm-debug.log
\ No newline at end of file
+npm-debug.log
+yarn.lock
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..8838e22
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,8 @@
+{
+ "workbench.colorCustomizations": {
+ "statusBar.background": "#BDB76B",
+ "statusBar.debuggingBackground": "#BDB76B",
+ "statusBar.noFolderBackground": "#BDB76B",
+ "statussBar.prominentBackground": "#BDB76B"
+ }
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index a2e0fb0..cf79e33 100644
--- a/README.md
+++ b/README.md
@@ -5,12 +5,39 @@ Also easily **highlight** matched terms which is the true added value of this mo
Demo:
+## Forked by Miguel Monwoo for Angular 10 compatibilities
+Watting for Author updates, did fix missing type to fit angular-fusejs with last fusejs lib and fix some production issue, all seem ok with Angular 10.
+
+Production build inspired from :
+https://github.com/malick-dev/angular-fusejs/commit/89d005037f62728c734904a155f996699ab882bb
+
+https://github.com/ng-packagr/ng-packagr/issues/355
+
+https://github.com/abbazabacto/ngpackagr-barrel-issue/blob/master/package.json
+
+https://www.typescriptlang.org/tsconfig#allowSyntheticDefaultImports
+
+And fixed with ng-packagr
+
+```bash
+# Just use this fork dist build in your project :
+yarn upgrade angular-fusejs@git+https://github.com/MonwooServices/angular-fusejs.git#DistBuild
+
+
+# Build the fork sources for production (in ./dist):
+yarn install
+yarn clean && yarn package
+
+```
+
+
## How to install?
This module is available through npm. It is compatible with module bundlers (webpack / browserify ...).
-1. `npm install angular-fusejs`
-2. Import `FusejsModule` into your module:
+1. `# npm install angular-fusejs`
+2. `npm upgrade angular-fusejs@git+https://github.com/MonwooServices/angular-fusejs.git#DistBuild`
+3. Import `FusejsModule` into your module:
```
import {FusejsModule} from 'angular-fusejs'
@NgModule({
@@ -71,4 +98,4 @@ Replace `whateverAttribute` with your attribute name, trust it as HTML and you a
I made this just for fun, to learn a bit more about fuzzy search + angular. Fuzzy search + detecting what should be highlighted is 100% handled by [fuse.js](http://fusejs.io/).
-If you encounter any bug, please check who is the culprit before submitting an issue - it might be a bug in fuse.js library.
\ No newline at end of file
+If you encounter any bug, please check who is the culprit before submitting an issue - it might be a bug in fuse.js library.
diff --git a/index.js b/index.js
deleted file mode 100644
index aa88a8c..0000000
--- a/index.js
+++ /dev/null
@@ -1,35 +0,0 @@
-"use strict";
-var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
-};
-function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
-}
-Object.defineProperty(exports, "__esModule", { value: true });
-var core_1 = require("@angular/core");
-var fusejs_pipe_1 = require("./src/fusejs.pipe");
-var fusejs_service_1 = require("./src/fusejs.service");
-var FusejsModule = (function () {
- function FusejsModule() {
- }
- return FusejsModule;
-}());
-FusejsModule = __decorate([
- core_1.NgModule({
- providers: [
- fusejs_service_1.FusejsService
- ],
- declarations: [
- fusejs_pipe_1.FusejsPipe,
- ],
- exports: [
- fusejs_pipe_1.FusejsPipe,
- ]
- })
-], FusejsModule);
-exports.FusejsModule = FusejsModule;
-__export(require("./src/fusejs.service"));
-__export(require("./src/fusejs.pipe"));
diff --git a/index.ts b/index.ts
index 674da86..dec895b 100644
--- a/index.ts
+++ b/index.ts
@@ -1,18 +1,4 @@
-import { NgModule } from '@angular/core'
-import { FusejsPipe } from './src/fusejs.pipe'
-import { FusejsService } from './src/fusejs.service'
-@NgModule({
- providers: [
- FusejsService
- ],
- declarations: [
- FusejsPipe,
- ],
- exports: [
- FusejsPipe,
- ]
-})
-export class FusejsModule {}
+export * from './src/fusejs.module';
export * from './src/fusejs.service';
export * from './src/fusejs.pipe';
\ No newline at end of file
diff --git a/package.json b/package.json
index 4418e76..85aeb42 100644
--- a/package.json
+++ b/package.json
@@ -1,18 +1,45 @@
{
+ "$schema": "./node_modules/ng-packagr/package.schema.json",
"name": "angular-fusejs",
- "version": "1.0.1",
+ "version": "1.0.6",
"description": "Angular plugin using fuse.js to search through a list of elements with a string. Supports highlight.",
"main": "index.js",
+ "type": "module",
+ "ngPackage": {
+ "lib": {
+ "entryFile": "index.ts"
+ },
+ "allowedNonPeerDependencies": [
+ "."
+ ]
+ },
"dependencies": {
- "fuse.js": "^3.2.0",
- "lodash.get": "^4.4.2",
- "lodash.set": "^4.3.2"
+ "@angular/core": "10.2.0",
+ "fuse.js": "^3.6.1",
+ "lodash-es": "^4.17.21",
+ "rxjs": "^6.6.7",
+ "tslib": "^2.1.0",
+ "zone.js": "~0.10.3"
},
"peerDependencies": {
- "@angular/core": "^2.0.0"
+ "@angular/core": "10.2.0"
+ },
+ "devDependencies": {
+ "@angular/compiler": "10.2.0",
+ "@angular/compiler-cli": "10.2.0",
+ "@types/lodash-es": "^4.17.4",
+ "@types/lodash.get": "^4.4.2",
+ "@types/lodash.set": "^4.3.2",
+ "@types/node": "^13.1.8",
+ "ng-packagr": "^11.2.4",
+ "typescript": "3.9.7"
},
"scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
+ "test": "echo \"Error: no test specified\" && exit 1",
+ "clean": "rm -rf ./dist",
+ "copy-files": "cp README.md LICENSE package.json tsconfig.json dist/",
+ "package": "ng-packagr -p package.json",
+ "build": "tsc -p . && yarn copy-files"
},
"repository": {
"type": "git",
@@ -28,9 +55,5 @@
"bugs": {
"url": "https://github.com/maleblond/angular-local-search/issues"
},
- "homepage": "https://github.com/maleblond/angular-local-search#readme",
- "devDependencies": {
- "@types/lodash.get": "^4.4.2",
- "@types/lodash.set": "^4.3.2"
- }
+ "homepage": "https://github.com/maleblond/angular-local-search#readme"
}
diff --git a/src/fusejs.module.ts b/src/fusejs.module.ts
new file mode 100644
index 0000000..f405039
--- /dev/null
+++ b/src/fusejs.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core'
+import { FusejsPipe } from './fusejs.pipe'
+import { FusejsService } from './fusejs.service'
+
+@NgModule({
+ providers: [
+ FusejsService
+ ],
+ declarations: [
+ FusejsPipe,
+ ],
+ exports: [
+ FusejsPipe,
+ ]
+})
+export class FusejsModule {};
diff --git a/src/fusejs.pipe.ts b/src/fusejs.pipe.ts
index 3b3ecd2..bfe0081 100644
--- a/src/fusejs.pipe.ts
+++ b/src/fusejs.pipe.ts
@@ -3,14 +3,14 @@ import {FusejsService, AngularFusejsOptions} from './fusejs.service';
@Pipe({name: 'fusejs'})
-export class FusejsPipe implements PipeTransform {
+export class FusejsPipe implements PipeTransform {
constructor(
- private FusejsService: FusejsService
+ private FusejsService: FusejsService
) {}
- transform(elements: Array