├── .all-contributorsrc ├── .commitlintrc.json ├── .eslintignore ├── .eslintrc.json ├── .github ├── CODEOWNERS ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── until-destroy.yml ├── .gitignore ├── .husky ├── .gitignore ├── commit-msg └── pre-commit ├── .npmrc ├── .nvmrc ├── .prettierignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── apps ├── integration-e2e │ ├── .eslintrc.json │ ├── cypress.json │ ├── project.json │ ├── src │ │ ├── integration │ │ │ ├── array-of-subscriptions.spec.js │ │ │ ├── custom-method.spec.js │ │ │ ├── destroyable-provider.spec.js │ │ │ ├── directive.spec.js │ │ │ ├── inheritance.spec.js │ │ │ ├── multiple-custom-methods.spec.js │ │ │ └── pipe.spec.js │ │ ├── plugins │ │ │ └── index.js │ │ └── support │ │ │ └── commands.js │ ├── tsconfig.e2e.json │ └── tsconfig.json └── integration │ ├── .browserslistrc │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── project.json │ ├── src │ ├── app │ │ ├── app.component.html │ │ ├── app.component.scss │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── array-of-subscriptions │ │ │ ├── array-of-subscriptions.component.html │ │ │ ├── array-of-subscriptions.component.ts │ │ │ ├── array-of-subscriptions.module.ts │ │ │ └── document-click │ │ │ │ ├── document-click.component.html │ │ │ │ └── document-click.component.ts │ │ ├── custom-method │ │ │ ├── custom-method.component.html │ │ │ ├── custom-method.component.ts │ │ │ ├── custom-method.module.ts │ │ │ └── interval.service.ts │ │ ├── destroyable-provider │ │ │ ├── connection │ │ │ │ ├── connection.directive.ts │ │ │ │ └── connection.service.ts │ │ │ ├── destroyable-provider.component.html │ │ │ ├── destroyable-provider.component.ts │ │ │ └── destroyable-provider.module.ts │ │ ├── directive │ │ │ ├── directive.component.html │ │ │ ├── directive.component.ts │ │ │ ├── directive.module.ts │ │ │ └── http.directive.ts │ │ ├── enums │ │ │ └── notification.enum.ts │ │ ├── inheritance │ │ │ ├── inheritance.component.html │ │ │ ├── inheritance.component.ts │ │ │ ├── inheritance.module.ts │ │ │ ├── issue-61 │ │ │ │ └── issue-61.component.ts │ │ │ └── issue-97 │ │ │ │ └── issue-97.component.ts │ │ ├── logger │ │ │ └── logger.factory.ts │ │ ├── multiple-custom-methods │ │ │ ├── issue-66.service.ts │ │ │ ├── multiple-custom-methods.component.html │ │ │ ├── multiple-custom-methods.component.ts │ │ │ └── multiple-custom-methods.module.ts │ │ ├── navbar │ │ │ ├── navbar.component.html │ │ │ ├── navbar.component.ts │ │ │ └── navbar.module.ts │ │ └── pipe │ │ │ ├── i18n.pipe.ts │ │ │ ├── pipe.component.html │ │ │ ├── pipe.component.ts │ │ │ └── pipe.module.ts │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── index.html │ ├── main.ts │ ├── polyfills.ts │ └── test-setup.ts │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ ├── tsconfig.spec.json │ └── webpack.config.js ├── jest.config.ts ├── jest.preset.js ├── libs ├── until-destroy-migration │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── package.json │ ├── project.json │ ├── src │ │ ├── index.ts │ │ └── test-setup.ts │ ├── tests │ │ ├── fixtures │ │ │ ├── filled-onDestroy.service.ts │ │ │ ├── several-imports.component.ts │ │ │ └── single-import.component.ts │ │ └── run.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json └── until-destroy │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── ng-package.json │ ├── package.json │ ├── project.json │ ├── src │ ├── index.ts │ ├── lib │ │ ├── checker.ts │ │ ├── internals.ts │ │ ├── ivy.ts │ │ ├── until-destroy.ts │ │ └── until-destroyed.ts │ └── test-setup.ts │ ├── tests │ ├── until-destroy.spec.ts │ ├── until-destroyed.spec.ts │ └── utils.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json ├── nx.json ├── package.json ├── pnpm-lock.yaml └── tsconfig.base.json /.all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "projectName": "until-destroy", 3 | "projectOwner": "ngneat", 4 | "repoType": "github", 5 | "repoHost": "https://github.com", 6 | "files": [ 7 | "README.md" 8 | ], 9 | "imageSize": 100, 10 | "commit": true, 11 | "commitConvention": "angular", 12 | "contributors": [ 13 | { 14 | "login": "NetanelBasal", 15 | "name": "Netanel Basal", 16 | "avatar_url": "https://avatars1.githubusercontent.com/u/6745730?v=4", 17 | "profile": "https://www.netbasal.com", 18 | "contributions": [ 19 | "code", 20 | "doc", 21 | "ideas" 22 | ] 23 | }, 24 | { 25 | "login": "arturovt", 26 | "name": "Artur Androsovych", 27 | "avatar_url": "https://avatars1.githubusercontent.com/u/7337691?v=4", 28 | "profile": "https://medium.com/@overthesanity", 29 | "contributions": [ 30 | "code", 31 | "example", 32 | "ideas", 33 | "infra" 34 | ] 35 | }, 36 | { 37 | "login": "KrzysztofKarol", 38 | "name": "Krzysztof Karol", 39 | "avatar_url": "https://avatars3.githubusercontent.com/u/12470911?v=4", 40 | "profile": "https://github.com/KrzysztofKarol", 41 | "contributions": [ 42 | "content" 43 | ] 44 | }, 45 | { 46 | "login": "gund", 47 | "name": "Alex Malkevich", 48 | "avatar_url": "https://avatars0.githubusercontent.com/u/3644678?v=4", 49 | "profile": "https://github.com/gund", 50 | "contributions": [ 51 | "code" 52 | ] 53 | }, 54 | { 55 | "login": "webdevius", 56 | "name": "Khaled Shaaban", 57 | "avatar_url": "https://avatars0.githubusercontent.com/u/2960769?v=4", 58 | "profile": "https://github.com/webdevius", 59 | "contributions": [ 60 | "code" 61 | ] 62 | }, 63 | { 64 | "login": "kmathy", 65 | "name": "kmathy", 66 | "avatar_url": "https://avatars3.githubusercontent.com/u/15690980?v=4", 67 | "profile": "https://github.com/kmathy", 68 | "contributions": [ 69 | "code" 70 | ] 71 | }, 72 | { 73 | "login": "FFKL", 74 | "name": "Dmitrii Korostelev", 75 | "avatar_url": "https://avatars1.githubusercontent.com/u/11336491?v=4", 76 | "profile": "https://github.com/FFKL", 77 | "contributions": [ 78 | "code" 79 | ] 80 | } 81 | ], 82 | "contributorsPerLine": 7 83 | } 84 | -------------------------------------------------------------------------------- /.commitlintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["@commitlint/config-conventional"] 3 | } 4 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "ignorePatterns": ["**/*"], 4 | "plugins": ["@nx", "ban"], 5 | "overrides": [ 6 | { 7 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 8 | "rules": { 9 | "ban/ban": [ 10 | "error", 11 | { 12 | "name": "fit", 13 | "message": "The fit is forbidden" 14 | }, 15 | { 16 | "name": "debugger", 17 | "message": "The debugger is forbidden" 18 | }, 19 | { 20 | "name": "fdescribe", 21 | "message": "The fdescribe is forbidden" 22 | } 23 | ], 24 | "@nx/enforce-module-boundaries": [ 25 | "error", 26 | { 27 | "enforceBuildableLibDependency": true, 28 | "allow": [], 29 | "depConstraints": [ 30 | { 31 | "sourceTag": "*", 32 | "onlyDependOnLibsWithTags": ["*"] 33 | } 34 | ] 35 | } 36 | ] 37 | } 38 | }, 39 | { 40 | "files": ["*.ts", "*.tsx"], 41 | "extends": ["plugin:@nx/typescript"], 42 | "parserOptions": { 43 | "project": "./tsconfig.*?.json" 44 | }, 45 | "rules": {} 46 | }, 47 | { 48 | "files": ["*.js", "*.jsx"], 49 | "extends": ["plugin:@nx/javascript"], 50 | "rules": {} 51 | } 52 | ] 53 | } 54 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @NetanelBasal @arturovt 2 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## PR Checklist 2 | 3 | Please check if your PR fulfills the following requirements: 4 | 5 | - [ ] The commit message follows our guidelines: https://github.com/ngneat/until-destroy/blob/master/CONTRIBUTING.md#commit 6 | - [ ] Tests for the changes have been added (for bug fixes / features) 7 | - [ ] Docs have been added / updated (for bug fixes / features) 8 | 9 | ## PR Type 10 | 11 | What kind of change does this PR introduce? 12 | 13 | 14 | 15 | ``` 16 | [ ] Bugfix 17 | [ ] Feature 18 | [ ] Code style update (formatting, local variables) 19 | [ ] Refactoring (no functional changes, no api changes) 20 | [ ] Build related changes 21 | [ ] CI related changes 22 | [ ] Documentation content changes 23 | [ ] Other... Please describe: 24 | ``` 25 | 26 | ## What is the current behavior? 27 | 28 | 29 | 30 | Issue Number: N/A 31 | 32 | ## What is the new behavior? 33 | 34 | ## Does this PR introduce a breaking change? 35 | 36 | ``` 37 | [ ] Yes 38 | [ ] No 39 | ``` 40 | 41 | 42 | 43 | ## Other information 44 | -------------------------------------------------------------------------------- /.github/workflows/until-destroy.yml: -------------------------------------------------------------------------------- 1 | name: '@ngneat/until-destroy' 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | pull_request: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | strategy: 13 | fail-fast: true 14 | 15 | steps: 16 | - uses: actions/checkout@v3 17 | 18 | - name: Get pnpm store directory 19 | id: pnpm-cache 20 | shell: bash 21 | run: | 22 | echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT 23 | 24 | - uses: actions/cache@v3 25 | id: pnpm-cache 26 | with: 27 | path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} 28 | key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} 29 | restore-keys: | 30 | ${{ runner.os }}-pnpm-store- 31 | 32 | - uses: actions/setup-node@v3 33 | with: 34 | node-version: '16' 35 | 36 | - uses: pnpm/action-setup@v2.2.4 37 | with: 38 | version: 7.13.4 39 | 40 | - name: Install dependencies 41 | run: pnpm install --frozen-lockfile 42 | 43 | - name: Run ESLint 44 | run: pnpm lint 45 | 46 | - name: Run unit tests 47 | run: pnpm test 48 | 49 | - name: Run integration tests 50 | run: pnpm test:integration 51 | 52 | - name: Build library 53 | run: pnpm build 54 | 55 | - name: Build integration app in production mode 56 | run: pnpm build:integration 57 | 58 | - name: Build integration app in production mode with RxJS@6 59 | run: pnpm nx run integration:build-rxjs-6 60 | 61 | - run: pnpm nx e2e integration-e2e 62 | - run: pnpm nx e2e-development integration-e2e 63 | - run: pnpm nx e2e-development-jit integration-e2e 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.angular/cache 2 | node_modules 3 | .vscode 4 | /dist-test 5 | .idea 6 | dist 7 | .cache 8 | migrations.json 9 | .pnpm-debug.log 10 | 11 | .nx/cache -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn commitlint --edit $1 5 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint-staged 5 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | strict-peer-dependencies=false 2 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | node 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .cache 2 | dist 3 | 4 | /.nx/cache -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # [10.0.0-beta.0](https://github.com/ngneat/until-destroy/compare/v10.0.0-beta.0...v9.2.3) 2 | 3 | ### Bug Fixes 4 | 5 | - support non-experimental decorators ([5a5bd66](https://github.com/ngneat/until-destroy/commit/5a5bd669daca16d525e63080114048ee0030b8db)) 6 | 7 | ## [9.2.3](https://github.com/ngneat/until-destroy/compare/v9.2.2...v9.2.3) 8 | 9 | ### Bug Fixes 10 | 11 | - check if `ngDevMode` is defined ([b344f46](https://github.com/ngneat/until-destroy/commit/b344f465ec62ceb4f0c08724833bdabe2bf58c3f)) 12 | 13 | ## [9.2.2](https://github.com/ngneat/until-destroy/compare/v9.2.1...v9.2.2) 14 | 15 | ### Bug Fixes 16 | 17 | - do not run checker in unit tests ([fa675cb](https://github.com/ngneat/until-destroy/commit/fa675cb1e7814c6926ba06e11edb2f9f98c6cec9)) 18 | 19 | ## [9.2.1](https://github.com/ngneat/until-destroy/compare/v9.2.0...v9.2.1) 20 | 21 | ### Bug Fixes 22 | 23 | - do not use RxJS scheduler since this may flush the queue within the root zone ([03d2604](https://github.com/ngneat/until-destroy/commit/03d2604df12cfdb85ad307f2a50db4c67a13dbed)) 24 | 25 | # [9.2.0](https://github.com/ngneat/until-destroy/compare/v9.1.1...v9.2.0) 26 | 27 | ### Features 28 | 29 | - add subject unsubscribed checker ([39cf2f4](https://github.com/ngneat/until-destroy/commit/39cf2f4576517eb6aacbbbe32f9e352a57c4f46d)) 30 | 31 | ## [9.1.1](https://github.com/ngneat/until-destroy/compare/v9.1.0...v9.1.1) 32 | 33 | ### Bug Fixes 34 | 35 | - do not import operators from `rxjs` ([90afb61](https://github.com/ngneat/until-destroy/pull/191/commits/90afb61c54c270a819b6b7f7eae4b2b8d5842e4b)) 36 | 37 | # [9.1.0](https://github.com/ngneat/until-destroy/compare/v9.0.2...v9.1.0) 38 | 39 | - add subject unsubscribed checker ([93199cf](https://github.com/ngneat/until-destroy/commit/93199cfbb7cd01c72fc8f0531c81c15ae2baef50)) 40 | 41 | ### Features 42 | 43 | ## [9.0.2](https://github.com/ngneat/until-destroy/compare/v9.0.1...v9.0.2) (2022-04-09) 44 | 45 | ### Bug Fixes 46 | 47 | - upgrade minimist to `1.2.6` to resolve the prototype pollution bug ([96dd7ae](https://github.com/ngneat/until-destroy/commit/96dd7ae627e5d95612d67225ae3366868018d458)) 48 | 49 | ## [9.0.1](https://github.com/ngneat/until-destroy/compare/v9.0.0...v9.0.1) (2022-03-24) 50 | 51 | ### Bug Fixes 52 | 53 | - respect both `checkProperties` and `arrayName` options ([d5d6495](https://github.com/ngneat/until-destroy/commit/d5d64955cdeeeec4083715c15db16eb632d8b78f)) 54 | 55 | # [9.0.0](https://github.com/ngneat/until-destroy/compare/v8.1.4...v9.0.0) (2020-11-22) 56 | 57 | ### Features 58 | 59 | - upgrade to Angular 13 ([d4bc2a0](https://github.com/ngneat/until-destroy/commit/d4bc2a0c5d19c2f3aeb40beb2388de9eb360b4e7)) 60 | 61 | ## [8.1.4](https://github.com/ngneat/until-destroy/compare/v8.1.3...v8.1.4) (2021-08-25) 62 | 63 | ### Bug Fixes 64 | 65 | - unsubscribe only from actual subscriptions ([56914f2](https://github.com/ngneat/until-destroy/commit/56914f2b5a78520b08680d1b5dba36293d61816d)) 66 | 67 | ## [8.1.3](https://github.com/ngneat/until-destroy/compare/v8.1.2...v8.1.3) (2021-08-19) 68 | 69 | ### chore 70 | 71 | - fix peer dependency mistake ([827d20b](https://github.com/ngneat/until-destroy/commit/827d20b33e962ea225199fea78d327aeb5599f5c)) 72 | 73 | ## [8.1.2](https://github.com/ngneat/until-destroy/compare/v8.1.1...v8.1.2) (2021-08-19) 74 | 75 | ### chore 76 | 77 | - support RxJS@7 ([461face](https://github.com/ngneat/until-destroy/commit/461face5bf50732aae228c98765ea475f4e96ffc)) 78 | 79 | ## [8.1.1](https://github.com/ngneat/until-destroy/compare/v8.1.0...v8.1.1) (2021-07-06) 80 | 81 | ### Bug Fixes 82 | 83 | - use the `package` builder except `ng-packagr-lite` ([8251a28](https://github.com/ngneat/until-destroy/commit/8251a2872faa842734501ab7a88d8c64841f7ecc)) 84 | 85 | # [8.1.0](https://github.com/ngneat/until-destroy/compare/v8.0.4...v8.1.0) (2021-07-05) 86 | 87 | ### Features 88 | 89 | - split migration script into a separate library `@ngneat/until-destroy-migration` ([de0397c](https://github.com/ngneat/until-destroy/commit/de0397ccd3ae3ba76e5c61848eab95d883c4c1cd)) 90 | 91 | ## [8.0.4](https://github.com/ngneat/until-destroy/compare/v8.0.3...v8.0.4) (2021-02-23) 92 | 93 | ### Performance 94 | 95 | - use `ngDevMode` to tree-shake errors ([066db5e](https://github.com/ngneat/until-destroy/commit/066db5e58253c7ed60c09b978dfd46ec3cb47797)) 96 | 97 | ## [8.0.3](https://github.com/ngneat/until-destroy/compare/v8.0.2...v8.0.3) (2020-10-17) 98 | 99 | ### chore 100 | 101 | - switch to `standard-version` ([f03793a](https://github.com/ngneat/until-destroy/commit/f03793ac550d6286e2b37123ad79fefde737bbbd)) 102 | 103 | ## [8.0.2](https://github.com/ngneat/until-destroy/compare/v8.0.1...v8.0.2) (2020-08-27) 104 | 105 | ### Features 106 | 107 | - generate changelog ([d8d4a52](https://github.com/ngneat/until-destroy/commit/d8d4a5219e7b6dee4b788fcf128ed1aa4fa5ef01)) 108 | 109 | ## [8.0.1](https://github.com/ngneat/until-destroy/compare/v8.0.0...v8.0.1) (2020-07-29) 110 | 111 | ### Bug Fixes 112 | 113 | - require a specific Angular version ([fd4bc41](https://github.com/ngneat/until-destroy/commit/fd4bc413d78452986e3e015feaeae9792c922c4e)) 114 | 115 | # [8.0.0](https://github.com/ngneat/until-destroy/compare/v7.3.2...v8.0.0) (2020-07-27) 116 | 117 | ### Bug Fixes 118 | 119 | - **migration:** add line break before UntilDestroy decorator ([#114](https://github.com/ngneat/until-destroy/issues/114)) ([4fc708a](https://github.com/ngneat/until-destroy/commit/4fc708a12e192f352ccdbbd893e6e40b42a3419a)) 120 | 121 | ### Features 122 | 123 | - make compatible with Angular 10 ([#119](https://github.com/ngneat/until-destroy/issues/119)) ([e4fdabe](https://github.com/ngneat/until-destroy/commit/e4fdabeee9aaf2e89d6f4bca6df21afe63b1db29)) 124 | 125 | ## [7.3.2](https://github.com/ngneat/until-destroy/compare/v7.3.0...v7.3.2) (2020-07-09) 126 | 127 | ### Bug Fixes 128 | 129 | - **lib:** refactor bin property ([#110](https://github.com/ngneat/until-destroy/issues/110)) ([69e356e](https://github.com/ngneat/until-destroy/commit/69e356e43112c99d9aa2a441d1617c779b240d52)) 130 | - **migration:** add base ([9371474](https://github.com/ngneat/until-destroy/commit/93714743509f438effcb5af432c7c218c4174960)) 131 | 132 | # [7.3.0](https://github.com/ngneat/until-destroy/compare/v7.2.0...v7.3.0) (2020-06-23) 133 | 134 | ### Features 135 | 136 | - **migration:** empty OnDestroy method removing ([#104](https://github.com/ngneat/until-destroy/issues/104)) ([a869280](https://github.com/ngneat/until-destroy/commit/a869280d144b1cd93e3e7b97d9e8ee733d5a3afb)) 137 | 138 | # [7.2.0](https://github.com/ngneat/until-destroy/compare/v7.1.6...v7.2.0) (2020-05-31) 139 | 140 | ### Features 141 | 142 | - support impure pipes ([#101](https://github.com/ngneat/until-destroy/issues/101)) ([83ab111](https://github.com/ngneat/until-destroy/commit/83ab1110aa598494543ff825e2cbf7f00adf4bb3)) 143 | 144 | ## [7.1.6](https://github.com/ngneat/until-destroy/compare/v7.1.5...v7.1.6) (2020-04-16) 145 | 146 | ### Bug Fixes 147 | 148 | - override definition property for asynchronously compiled com… ([#79](https://github.com/ngneat/until-destroy/issues/79)) ([8ec6cfb](https://github.com/ngneat/until-destroy/commit/8ec6cfbb17058d9b79f74d5d0baacd2f217836c3)) 149 | 150 | ## [7.1.5](https://github.com/ngneat/until-destroy/compare/v7.1.4...v7.1.5) (2020-03-30) 151 | 152 | ### Bug Fixes 153 | 154 | - create different subjects when `destroyMethodName` is provided ([#70](https://github.com/ngneat/until-destroy/issues/70)) ([0e9ffb7](https://github.com/ngneat/until-destroy/commit/0e9ffb76321da6dad9261c14c8393b5acd829405)) 155 | 156 | ## [7.1.4](https://github.com/ngneat/until-destroy/compare/v7.1.3...v7.1.4) (2020-03-30) 157 | 158 | ### Bug Fixes 159 | 160 | - re-order definition getters to allow class inheritance ([#69](https://github.com/ngneat/until-destroy/issues/69)) ([336bfb4](https://github.com/ngneat/until-destroy/commit/336bfb443e5f75e281b4232664c8408af10c17de)) 161 | 162 | ## [7.1.3](https://github.com/ngneat/until-destroy/compare/v7.1.2...v7.1.3) (2020-03-29) 163 | 164 | ## [7.1.2](https://github.com/ngneat/until-destroy/compare/v7.1.1...v7.1.2) (2020-03-29) 165 | 166 | ### Bug Fixes 167 | 168 | - re-assign original method back to be able to re-use in the f… ([#67](https://github.com/ngneat/until-destroy/issues/67)) ([909f82d](https://github.com/ngneat/until-destroy/commit/909f82d564b05c8c24b520bfba429c8af4b75fd9)) 169 | 170 | ## [7.1.1](https://github.com/ngneat/until-destroy/compare/v7.1.0...v7.1.1) (2020-02-13) 171 | 172 | ### Features 173 | 174 | - **lib:** update to v9 lastest ([99c2c19](https://github.com/ngneat/until-destroy/commit/99c2c19d38777e2ebd32646e9b96400d557a31d5)) 175 | 176 | # [7.1.0](https://github.com/ngneat/until-destroy/compare/v7.0.0...v7.1.0) (2019-11-30) 177 | 178 | ### Features 179 | 180 | - support `UntilDestroy` for providers ([#47](https://github.com/ngneat/until-destroy/issues/47)) ([075bc80](https://github.com/ngneat/until-destroy/commit/075bc80fc10d9cfa33b2b739df9fe367068d56c3)) 181 | 182 | # [7.0.0](https://github.com/ngneat/until-destroy/compare/5.3.0...v7.0.0) (2019-10-19) 183 | 184 | ### Bug Fixes 185 | 186 | - **decorator:** use component instance instead of prototype ([209ef22](https://github.com/ngneat/until-destroy/commit/209ef22c5d189a0ceea8afc95218ffc68ff9fde4)) 187 | - **lib:** remove decorator ([9867ca4](https://github.com/ngneat/until-destroy/commit/9867ca4af01ecc065b35bbbb61430b1fce4efaae)) 188 | - add "ɵ" prefix to definition properties ([#40](https://github.com/ngneat/until-destroy/issues/40)) ([3662635](https://github.com/ngneat/until-destroy/commit/3662635624edb6ef0441afe626d993d13dd706ff)) 189 | 190 | ### Features 191 | 192 | - **lib:** add migration script ([77cecfc](https://github.com/ngneat/until-destroy/commit/77cecfcc5e2d9e7c8e3452fa8dedff7166907275)) 193 | - make operator compatible with Ivy renderer ([#37](https://github.com/ngneat/until-destroy/issues/37)) ([46d56b3](https://github.com/ngneat/until-destroy/commit/46d56b36f2db1f6151bcf2b6646abd65b4f82e13)) 194 | 195 | # [5.3.0](https://github.com/ngneat/until-destroy/compare/5.0.0...5.3.0) (2019-01-10) 196 | 197 | ### Bug Fixes 198 | 199 | - **decorator:** export with proper name ([607a7f7](https://github.com/ngneat/until-destroy/commit/607a7f7a71afde986152df3079fa2870635f93f1)) 200 | - **decorator:** implementation ([423a896](https://github.com/ngneat/until-destroy/commit/423a8966a3f5aecb6636e63a41df1ba5c51a0d9c)) 201 | 202 | ### Features 203 | 204 | - **decorator:** add @AutoUnsubscribe property decorator ([08c48c6](https://github.com/ngneat/until-destroy/commit/08c48c69072c36630422a929c7416e1d1c9d1bfd)) 205 | - **decorator:** export AutoUnsubscribe as public API ([fe8295c](https://github.com/ngneat/until-destroy/commit/fe8295c659b1aaee2ad72321dbc92b9279fe36a7)) 206 | - **lib:** drop support for decorator ([47c5580](https://github.com/ngneat/until-destroy/commit/47c5580079bef3d245708d17b900a9cd5cae4a47)) 207 | - **lib:** switch build to ng-packger and override func only once ([e3a6732](https://github.com/ngneat/until-destroy/commit/e3a6732f0b70533cfa0f36e627ba9cf3bbafa42c)) 208 | - **lib:** throw an error if ngOnDestroy not present ([a383f8f](https://github.com/ngneat/until-destroy/commit/a383f8fdb641ca319d5f80ebbaea7143bc929144)) 209 | - **rx:** upgrade to rx6 ([125c3f7](https://github.com/ngneat/until-destroy/commit/125c3f744174d3f4d8431402e36da4cefb5266c5)) 210 | - **rx:** upgrade to rx6 ([726b175](https://github.com/ngneat/until-destroy/commit/726b175e09bf3799d30781eac93a8b67e1ffcebe)) 211 | 212 | # [5.0.0](https://github.com/ngneat/until-destroy/compare/4.0.0...5.0.0) (2018-09-18) 213 | 214 | ### Bug Fixes 215 | 216 | - **lib:** remove console log ([05e48f7](https://github.com/ngneat/until-destroy/commit/05e48f7f158d8c61c6c07837d9eb5a01d4981229)) 217 | - **lib:** support multiple observables ([dd2e33b](https://github.com/ngneat/until-destroy/commit/dd2e33b48c343ae4b815b49fbe6414eeba6e2bca)) 218 | - **lib:** support multiple observables ([e801ed5](https://github.com/ngneat/until-destroy/commit/e801ed5f0a114514fe792df987070947bd1c7a48)) 219 | 220 | ### Features 221 | 222 | - **core:** revert support decorator ([bbd37c4](https://github.com/ngneat/until-destroy/commit/bbd37c4601471c26dc5fa5dcec9e6d6448b2d96d)) 223 | - **lib:** drop support for decorator ([2b96eb9](https://github.com/ngneat/until-destroy/commit/2b96eb989e7725ef9243f3aad45bf88c5a18e7c1)) 224 | 225 | # [4.0.0](https://github.com/ngneat/until-destroy/compare/3.0.0...4.0.0) (2018-08-20) 226 | 227 | ### Features 228 | 229 | - **core:** remove decorator and support for older rx versions ([6827f04](https://github.com/ngneat/until-destroy/commit/6827f048ab135342b93b1f119509dde011e6b61e)) 230 | - **core:** remove decorator and support for older rx versions ([b994c36](https://github.com/ngneat/until-destroy/commit/b994c36c2e69746085a6a8f0c8c3090417c7c24c)) 231 | - **core:** remove decorator and support for older rx versions ([042cda8](https://github.com/ngneat/until-destroy/commit/042cda8ed7abc9b7fad7c60a5929b7a30cc48142)) 232 | - **upgrade:** upgrade rx6 ([1db947e](https://github.com/ngneat/until-destroy/commit/1db947ee585a07763b8243dd952e9ca2585b821a)) 233 | - **upgrade:** upgrade rx6 ([d4fffdb](https://github.com/ngneat/until-destroy/commit/d4fffdbfe71cdeb58f3863ddd78c8c3e4b5f4d1c)) 234 | 235 | # [2.2.0](https://github.com/ngneat/until-destroy/compare/2.1.0...2.2.0) (2018-03-19) 236 | 237 | ### Features 238 | 239 | - create `untilDestroyed` pipeable operator ([ffc98ea](https://github.com/ngneat/until-destroy/commit/ffc98eadd935ab72fd96f3e94e613cc231426792)) 240 | 241 | # [2.1.0](https://github.com/ngneat/until-destroy/compare/2.0.0...2.1.0) (2018-01-11) 242 | 243 | # 2.0.0 (2018-01-10) 244 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to `until-destroy` 2 | 3 | 🙏 We would ❤️ for you to contribute to `until-destroy` and help make it even better than it is today! 4 | 5 | # Developing 6 | 7 | Start by installing all dependencies: 8 | 9 | ```bash 10 | pnpm install --frozen-lockfile 11 | ``` 12 | 13 | Run the tests: 14 | 15 | ```bash 16 | pnpm test 17 | ``` 18 | 19 | Run the tests in watch mode: 20 | 21 | ```bash 22 | pnpm test:watch 23 | ``` 24 | 25 | Run the playground app: 26 | 27 | ```bash 28 | pnpm serve:integration 29 | ``` 30 | 31 | Run the playground integration tests: 32 | 33 | ```bash 34 | pnpm test:integration 35 | ``` 36 | 37 | ## Building 38 | 39 | ```bash 40 | pnpm build 41 | ``` 42 | 43 | ## Coding Rules 44 | 45 | To ensure consistency throughout the source code, keep these rules in mind as you are working: 46 | 47 | - All features or bug fixes **must be tested** by one or more specs (unit-tests). 48 | - All public API methods **must be documented**. 49 | 50 | ## Commit Message Guidelines 51 | 52 | We have very precise rules over how our git commit messages can be formatted. This leads to **more 53 | readable messages** that are easy to follow when looking through the **project history**. But also, 54 | we use the git commit messages to **generate the Akita changelog**. 55 | 56 | ### Commit Message Format 57 | 58 | Each commit message consists of a **header**, a **body** and a **footer**. The header has a special 59 | format that includes a **type**, a **scope** and a **subject**: 60 | 61 | ``` 62 | (): 63 | 64 | 65 | 66 |