Code Monkey home page Code Monkey logo

adonis-cache's Introduction

Bienvenue, incroyable ๐Ÿ‘‹๐Ÿพ

I'm a Software Engineer, Content Creator, and SAAS Owner who currently works as a Founder at Contentre. I'm passionate about sharing knowledge, documentation, web engineering, SAAS, FOSS.

I create technical content (on my Blog, and YouTube), build useful open-source projects, speak at some meetups/conferences and build technical communities.

  • ๐Ÿ’ฌ Ask me about: Documentation, Web Engineering, Technical Writing, Communities, and FOSS.
  • ๐Ÿ“ซ How to reach me: DM @kaperskyguru
  • ๐Ÿ˜Š Pronouns: He/him
  • ๐Ÿ’™ Fun fact: I don't play games. I don't like games.

Products ๐ŸŒป

Useful Links ๐ŸŒป

Download My Resume

Click here to download my resume

Visitors Count

Visitor Count

adonis-cache's People

Contributors

a28028 avatar andreasbergqvist avatar antoniosilva000000 avatar davidlandais avatar kaperskyguru avatar temasm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

adonis-cache's Issues

Contract file is not present after install

I've just installed your package. The contract file was not here. I made a copy from your template. I believe this is because you do not specify it in your instructions.js file, but I'm not sure. Regards

Cannot find module 'crypto-js/sha256'

During the installation of the package I received the following warning:

PS C:\Users\Roberto\Documents\Clientes\Abc\backend> npm i @kaperskyguru/adonis-cache
npm WARN deprecated [email protected]: This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.

After installing, I ignored the warning and continued and now I'm getting this error message:

Cannot find module 'crypto-js/sha256'
Require stack:

  • C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@kaperskyguru\adonis-cache\build\src\Engines\FileCache.js
  • C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@kaperskyguru\adonis-cache\build\src\Services\FileCacheService.js
  • C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@kaperskyguru\adonis-cache\build\src\CacheLoader.js
  • C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@kaperskyguru\adonis-cache\build\providers\CacheProvider.js
  • C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@poppinss\utils\build\src\esmRequire.js
  • C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@poppinss\utils\build\index.js
  • C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@adonisjs\require-ts\build\src\Compiler\index.js
  • C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@adonisjs\require-ts\build\index.js
  • C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@adonisjs\assembler\build\src\requireHook\index.js
  • C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@adonisjs\assembler\build\register.js
  • internal/preload

err: {
"type": "Error",
"message": "Cannot find module 'crypto-js/sha256'\nRequire stack:\n- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@Kaperskyguru\adonis-cache\build\src\Engines\FileCache.js\n- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@Kaperskyguru\adonis-cache\build\src\Services\FileCacheService.js\n- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@Kaperskyguru\adonis-cache\build\src\CacheLoader.js\n- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@Kaperskyguru\adonis-cache\build\providers\CacheProvider.js\n- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@poppinss\utils\build\src\esmRequire.js\n- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@poppinss\utils\build\index.js\n- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@adonisjs\require-ts\build\src\Compiler\index.js\n- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@adonisjs\require-ts\build\index.js\n- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@adonisjs\assembler\build\src\requireHook\index.js\n- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@adonisjs\assembler\build\register.js\n- internal/preload",
"stack":
Error: Cannot find module 'crypto-js/sha256'
Require stack:
- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@kaperskyguru\adonis-cache\build\src\Engines\FileCache.js
- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@kaperskyguru\adonis-cache\build\src\Services\FileCacheService.js
- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@kaperskyguru\adonis-cache\build\src\CacheLoader.js
- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@kaperskyguru\adonis-cache\build\providers\CacheProvider.js
- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@poppinss\utils\build\src\esmRequire.js
- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@poppinss\utils\build\index.js
- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@adonisjs\require-ts\build\src\Compiler\index.js
- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@adonisjs\require-ts\build\index.js
- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@adonisjs\assembler\build\src\requireHook\index.js
- C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@adonisjs\assembler\build\register.js
- internal/preload
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:92:18)
at Object. (C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules@kaperskyguru\adonis-cache\build\src\Engines\FileCache.js:4:16)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:14)
at Module.require (internal/modules/cjs/loader.js:974:19)
"code": "MODULE_NOT_FOUND",
"requireStack": [
"C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@Kaperskyguru\adonis-cache\build\src\Engines\FileCache.js",
"C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@Kaperskyguru\adonis-cache\build\src\Services\FileCacheService.js",
"C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@Kaperskyguru\adonis-cache\build\src\CacheLoader.js",
"C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@Kaperskyguru\adonis-cache\build\providers\CacheProvider.js",
"C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@poppinss\utils\build\src\esmRequire.js",
"C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@poppinss\utils\build\index.js",
"C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@adonisjs\require-ts\build\src\Compiler\index.js",
"C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@adonisjs\require-ts\build\index.js",
"C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@adonisjs\assembler\build\src\requireHook\index.js",
"C:\Users\Roberto\Documents\Clientes\Abc\backend\node_modules\@adonisjs\assembler\build\register.js",
"internal/preload"
],
"status": 500
}

Error loading Redis config

I was following the tutorial here:
https://www.section.io/engineering-education/how-to-implement-caching-in-adonisjs-5
and when I attempted to test, it gave the error:
Define config for "[object Object]" connection inside "config/redix" file

I traced it through to figure out if I could find the issue, and it seems that the adonis-cache package pulls the entire config object from Adonis, so
{ local: { host: Env.get('REDIS_HOST'), port: Env.get('REDIS_PORT'), password: Env.get('REDIS_PASSWORD', ''), db: 0, keyPrefix: '', } }
and passes that into the @adonis/redis package to load the config. This causes the Adonis Redis package to try to load a config with a name of that object, instead of just the name from the object or the already fetched config object.

I'm not sure if I set something up wrong and it's incorrectly trying to use the whole object when I should have set it somewhere to use the name, but if it is an issue then the solution should just be to extract the name from the config and just pass that through.
Just wanted to leave an issue to get some feedback on if I'm doing something wrong or if it's a bug

Cannot find module

Controllers/Http/Folder/Main.ts
import Cache from '@ioc:Kaperskyguru/Adonis-Cache'

Cannot find module '@IOC:Kaperskyguru/Adonis-Cache' or its corresponding type declarations. ts(2307)

What's wrong and why am i getting this error?

'remember' method is not working correctly

test1 route

public async all() {
        return await Cache.remember('saved', 60, async function () {
            return await Saved.all()
        })
    }

test2 route

public async all() {
        return await Cache.remember('users', 60, async function () {
            return await Users.all()
        })
    }

Problem: Whichever route I request first, the results from that route are also recorded in all other 'remember' methods.

Example scenario 1

  • step 1: request test1 route > result saved
  • step 2: request test2 route > result saved

Example scenario 2

  • step 1: request test2 route > result users
  • step 2: request test1 route > result users

This library is useless in its current state.

Cannot find module 'crypto-js/sha256'

Your file engine FileCache require crypto-js/sha256 but you don't specify it in your package.json.
In dependencies, only "crypto" is specified. Also, you should prefer "import" over "require" for consistency.
May be you should use Hash from Adonis/core. Bcrypt is already installed or Aragon. If it can fit to your needs.

file driver cache hashing does not work

If I use "file" cache driver the cache gets named [object Promise].cache and by awaiting the key hashing I get different key each time, so using get or has etc. will result in error, since the file named after the hashed key cannot exist.

Error: Error: Specify a name and data to cache

  "type": "Error",
  "message": "Error: Specify a name and data to cache",
  "stack":
      Error: Error: Specify a name and data to cache
          at ForumsController.show (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/app/Controllers/Http/ForumsController.ts:43:27)
          at processTicksAndRejections (internal/process/task_queues.js:93:5)
          at Object.PreCompiler.runRouteHandler [as fn] (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/http-server/build/src/Server/PreCompiler/index.js:47:31)
          at AuthMiddleware.handle (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/app/Middleware/Auth.ts:69:5)
          at Server.handleRequest (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/http-server/build/src/Server/index.js:109:13)
}

Error: Specify a name and data to cache
at Cache.set (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@kaperskyguru/adonis-cache/build/src/Consumers/Cache.js:21:15)
at Cache.remember (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@kaperskyguru/adonis-cache/build/src/Consumers/Cache.js:44:24)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at ForumsController.show (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/app/Controllers/Http/ForumsController.ts:28:21)
at Object.PreCompiler.runRouteHandler [as fn] (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/http-server/build/src/Server/PreCompiler/index.js:47:31)
at AuthMiddleware.handle (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/app/Middleware/Auth.ts:69:5)
at Server.handleRequest (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/http-server/build/src/Server/index.js:109:13)

Cannot find module 'crypto-js/sha256'

[1626708182829] ERROR (adonisjs-forum-api/14622 on APPLEs-MBP): Cannot find module 'crypto-js/sha256'
Require stack:

  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@kaperskyguru/adonis-cache/build/src/Engines/FileCache.js
  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@kaperskyguru/adonis-cache/build/src/Services/FileCacheService.js
  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@kaperskyguru/adonis-cache/build/src/CacheLoader.js
  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@kaperskyguru/adonis-cache/build/providers/CacheProvider.js
  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@poppinss/utils/build/src/esmRequire.js
  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@poppinss/utils/build/index.js
  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/fold/build/src/Ioc/index.js
  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/fold/build/index.js
  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/application/build/index.js
  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/build/standalone.js
  • /Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/server.ts

Error: Error: Specify a name and data to cache

  "type": "Error",
  "message": "Error: Specify a name and data to cache",
  "stack":
      Error: Error: Specify a name and data to cache
          at ForumsController.show (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/app/Controllers/Http/ForumsController.ts:43:27)
          at processTicksAndRejections (internal/process/task_queues.js:93:5)
          at Object.PreCompiler.runRouteHandler [as fn] (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/http-server/build/src/Server/PreCompiler/index.js:47:31)
          at AuthMiddleware.handle (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/app/Middleware/Auth.ts:69:5)
          at Server.handleRequest (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/http-server/build/src/Server/index.js:109:13)
}

Error: Specify a name and data to cache
at Cache.set (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@kaperskyguru/adonis-cache/build/src/Consumers/Cache.js:21:15)
at Cache.remember (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@kaperskyguru/adonis-cache/build/src/Consumers/Cache.js:44:24)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at ForumsController.show (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/app/Controllers/Http/ForumsController.ts:28:21)
at Object.PreCompiler.runRouteHandler [as fn] (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/http-server/build/src/Server/PreCompiler/index.js:47:31)
at AuthMiddleware.handle (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/app/Middleware/Auth.ts:69:5)
at Server.handleRequest (/Users/solomon/Documents/workspace/JSProjects/adonisjs-forum-api/node_modules/@adonisjs/core/node_modules/@adonisjs/http-server/build/src/Server/index.js:109:13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.