Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(major): rewrite core into TypeScript (#44)
* refactor: entire project workspace initialized * feat: Josh, JoshProvider and MapProvider implemented + tests Added classes: Josh, JoshProvider, JoshError, and MapProvider. Plus Methods enum, an Awaited type, payload types. Integrated basic testing for MapProvider. * fix: remove Josh.test.ts for now * feat: change tsconfig target to ES2020 * feat: add defaultProvider functionality * feat: remove symbols * refactor: change how classes and types are exported * feat: middleware coming * feat: middleware coming pt. 2 * feat: realized the license was not here * feat: middleware implemented * fix: remove sapphire's prettier config in favor of our own * feat: readme and contributing md files * feat: add @sapphire/utilities for Constructor type * feat: switch Awaited type for @sapphire/utilities' * feat: add generic in classExtends check * feat: add returnBulkType to JoshOptions * feat: add object to returnBulkType * feat: move types below classes * feat: implment rollup bundler * feat: implement getAll() plus qol changes * ci: fix labelsync * fix: add payload exports * feat: implement convertBulkData method for bulk methods * feat: remove lodash in favor of lodash.get/set * feat: overhaul of changes * fix: forgot to export ApplyOptions * feat: make a fix for middleware methods and add stopwatch * feat: add has() method * feat: added autoEnsure middleware functionality * refactor: rename `Middlewares` to `BuiltInMiddlewares` * refactor: remove `getKeyAndPath()` method from `JoshProvider` * feat: added `ensure()` method * refactor: rename `BuiltInMiddlewares` to `BuiltInMiddleware` * refactor: change how middleware and context works * refactor: move `name` declaration after check * feat: add `EnsurePayload` as an exported member * refactor: move `version` export to a constants file * feat: add `get()` and `set()` utils * feat: add `CODEOWNERS` * feat: remove `@types/lodash.get` and `@types/lodash.set` * refactor: change to `instance` in favor of consistency * feat: add @joshdb/utilities * chore: small changes * refactor: add `@shadoware/utilities` pkg * feat: added better key/path functionality * refactor: move `version` export to `main` file * refactor: reposition tests * feat: implement `keys` method * feat: implement `values` method * refactor: use Reflect to prevent type casting * feat: implement `size` method * refactor: change `filterByCondition` params * ci: slim some code up * feat: implement `getMany` method * refactor: rename `keys` / `key(And/Or)Path` to `keyPath(s)` * refactor: remove more type casting * refactor: make condition properties required * feat: implement `setMany` method * feat: update `CoreAutoEnsure` for new `(set/get)Many` methods * fix: `ReturnBulk` allow for `T | null` type * chore: move imports/exports * feat: implement `autoKey` method * feat: implement `update` method * fix: writing data on `updateBy*` * feat: implement `randomKey()` method * feat: implement `random()` method * refactor: generics and `keyPath` * feat: add `Payload.OptionalData` * refactor: `Payload` types * feat: fix `update()` method * feat: implement `multi()` method * feat: implement `update` in `autoEnsure` * feat: implement tests for `Josh` statics * feat: implement `find()` method * chore: refactor `update()` method * feat: implement payload validators * chore: fix `autoEnsure` * chore: refactor types * chore: bump version down to `2.0.0` * feat: refactor tests * chore: update packages * feat: update packages pt. 2 * feat: implement `delete()` method * feat: implement `filter()` method * fix: add promise compatibility for `find()` method * feat: use `@realware/utilities` * feat: implement `some()` method * chore: update validators and fix payload types * feat: implement validators for `Filter` and `Some` * feat: implement `toJSON()` method for `Middleware` * feat: update `README.md` * feat: implement `inc()` and `dec()` methods * refactor: use `isFunction()` utility to avoid casting * feat: update `README.md` * chore: refactor errors and fix bug * feat: better errors and refactor file structure * feat: bump `@realware/utilties` to `v1.0.1` * ci: fix eslint bug * fix: `name` property on `MapProviderError` * feat: implement `push()` method * chore: add error for missing data in `inc()` and `dec()` * feat: add tests for `type` property on payloads * refactor: change how providers are used with `Josh` * chore: update tests * feat: implement `build` branch * chore: regenerate lock file * feat: update `Node.js` to `v16` * feat: add `workflow_dispatch` * ci: fix delviery * ci: remove `workflow_dispatch` * chore: some comments * feat: start adding comments * chore: remove jsdoc comments * docs: implemented for `structures/Josh.ts` * feat: fix typings `ReturnBulk` typings * feat: make `protected` methods `private` * docs: implemented for `decorators/ApplyOptions.ts` * docs: implemented for `errors/JoshError.ts` * docs: implemented for `errors/JoshProviderError` * docs: implemented for `payloads/Payload.ts` * docs: implemtned for `payloads/*` * feat: add strict methods to each payload * docs: implemented for `structures/JoshProvider.ts` * docs: simple spacing change for `structures/Josh.ts` * docs: implemented for `structures/Middleware.ts` * docs: implemented for `structures/MiddlewareStore.ts` * docs: implemented for `structures/defaultProvider/*` * docs: implemented for `validators/*` * docs: update implementation for `payloads/*` * chore: use `Payload.OptionalData` * docs: small change * docs: implemented for `payloads/*` * docs: update implementation for `payloads/*` * feat: add `run` method to `Middleware` * feat: implement `map()` method * chore: remove `Stopwatch` * feat: implement `remove()` method * feat: implement `every()` method * refactor: entire codebase * chore(deps): bump actions/cache from 2.1.5 to 2.1.6 Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6. - [Release notes](https://github.com/actions/cache/releases) - [Commits](actions/cache@v2.1.5...v2.1.6) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * chore: update lock file * feat: implement `math()` method * style: move `main` and `types` properties * feat(deps): update to latest * fix: idek * feat: implement guides * feat(cli): add husky for commit linting * chore(linting): add padding-line-between-statements and lines-around-comment rules * chore(eslint): remove lines-around-comment rule * chore(lint): minor linting changes and fixes * ci(husky): move husky to it's own dir * ci(github): make some github related changes * ci(husky): fix prepare script * fix(Middleware): minor bug with toJSON() method * feat(provider): make options required in constructor * fix(josh): insert empty object to default-provider * chore(deps): bump deps to @latest * fix(tests): insert empty object to default-provider * chore(build): add esm support * refactor(naming): file/folder naming convention changed to kebab-case from camelCase * refactor(mapprovider): use map methods over internal this methods * ci(labels): remove unused label * ci(labels): add provider label * fix(structure): forgot to change imports over * feat(json): add gen-esm-wrapper to prepublishOnly script * refactor(middleware): removed @sapphire/pieces in favor of own system * feat(middleware): add functionality for options/hook or instance * feat(provider): add common identifiers * feat(default-provider): use the new identifiers exported from JoshProvider * chore(deps): bump actions/cache from 2.1.6 to 2.1.7 Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 2.1.7. - [Release notes](https://github.com/actions/cache/releases) - [Commits](actions/cache@v2.1.6...v2.1.7) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * feat(provider): add constructor type * feat(provider): rename Identifiers to CommonIdentifiers * feat(default-provider): update to CommonIdentifiers * feat(tests): update to CommonIdentifiers * fix: actions * feat(build): add umd bundle * fix(scripts): slight script tweak for linting * docs(Josh): remove old middleware docs * feat(codeowners): make up-to-date * refactor(key-path): change how keys and paths are parsed and used (#11) * refactor(core): change how keys and paths are used in Josh * refactor(key-path): change how keys and paths are parsed * refactor(version): move version to Josh as a static property * feat: add export and import methods (#10) * feat(method): add export and import methods * refactor(export-import): remove functionality with providers * chore(request-changes): fix for requested changes * feat(import): use new setMany() method * fix: forgot to change a re-export * fix(isNodeEnvironment): invalid boolean * feat(tests): add tests * fix(requested-change): was checking for paths for some reason? * fix(version): use static version property * chore(eslint): force eslint to ~8.6.0 * chore(yarn): regen lockfile * chore(deps): bump all dependencies * docs: update readme * chore: prepare for merge * chore: add contributors property * chore: final change before merge * chore: change more stuff * chore: revisions * chore(indent-type): change from tab to spaces * chore: change contributor * feat(middleware): fix coreAutoEnsure * feat: first implementation for documentation json * fix(middleware): was not exported, is now * chore(vscode): add/change settings Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: WilsontheWolf <[email protected]>
- Loading branch information