0.1.0-alpha.36 • Published 1 year ago
@crosscopy/core v0.1.0-alpha.36
crosscopy-core
Core npm package containing main logic and algorithms used in crosscopy
Main Components
- crypto
- For encryption and decryption
- plugin
- A plugin system
- Including plugins
encryptionPlugin
syncPlugin
notionPlugin
- database
Limitation
This package doesn't support ESM. Although a ESM version is compiled, it won 't work due to missing ESM of crypto.js.
NPM Package
Install Package
If you want to install this package, set the registry first
# choose one of the following if you don't have a .npmrc file
npm config set @crosscopy:registry https://registry.npmjs.org
npm config set @crosscopy:registry https://npm.pkg.github.com
Publish Package
# publish to npmjs registry
npm config set @crosscopy:registry https://registry.npmjs.org
npm publish --access public
# publish to github registry
npm config set @crosscopy:registry https://npm.pkg.github.com
npm publish
Sample Usage
Service
import { PrismaClient } from '@prisma/client';
import { createClient, RedisClientType } from 'redis';
import {
UserServiceImpl,
UserServicePrismaImpl,
UserServiceRedisImpl,
} from '@crosscopy/core/service';
import dotenv from 'dotenv';
dotenv.config();
const url = process.env.DATABASE_URL;
const prisma = new PrismaClient({ datasources: { db: { url } } });
const redisUrl = process.env.REDIS_URL;
const redisClient: RedisClientType = createClient({ url: redisUrl });
redisClient.connect().then(() => {
const userServiceRedis = new UserServiceRedisImpl(redisClient);
const userServicePrisma = new UserServicePrismaImpl(prisma, redisClient);
const userService = new UserServiceImpl(
userServicePrisma,
userServiceRedis,
redisClient
);
userService.findByUsername('username').then((user) => {
console.log(user);
});
});
".": {
"require": "./dist/index.cjs",
"import": "./dist/index.js",
"types": "./dist/index.d.ts"
},
"./plugin": {
"require": "./dist/plugin.cjs",
"import": "./dist/plugin.js",
"types": "./dist/plugin.d.ts"
},
"./crypto": {
"require": "./dist/crypto.cjs",
"import": "./dist/crypto.js",
"types": "./dist/crypto.d.ts"
},
"./io": {
"require": "./dist/io.cjs",
"import": "./dist/io.js",
"types": "./dist/io.d.ts"
},
"./syncer": {
"require": "./dist/syncer.cjs",
"import": "./dist/syncer.js",
"types": "./dist/syncer.d.ts"
},
"./util": {
"require": "./dist/util.cjs",
"import": "./dist/util.js",
"types": "./dist/util.d.ts"
},
"./service": {
"require": "./dist/service.cjs",
"import": "./dist/service.js",
"types": "./dist/service.d.ts"
}
0.1.0-alpha.36
1 year ago
0.0.5-alpha.16
1 year ago
0.0.5-alpha.15
1 year ago
0.1.0-alpha.9
1 year ago
0.1.0-alpha.8
1 year ago
0.1.0-alpha.5
1 year ago
0.1.0-alpha.4
1 year ago
0.1.0-alpha.7
1 year ago
0.1.0-alpha.6
1 year ago
0.1.0-alpha.1
1 year ago
0.1.0-alpha.3
1 year ago
0.1.0-alpha.2
1 year ago
0.0.5-alpha.14
1 year ago
0.0.4-alpha.5
1 year ago
0.0.4-alpha.4
2 years ago
0.0.4-alpha.3
2 years ago