Skip to content

Commit

Permalink
feat: module
Browse files Browse the repository at this point in the history
  • Loading branch information
betula committed Nov 30, 2023
1 parent c49dfb1 commit 6d4e730
Show file tree
Hide file tree
Showing 12 changed files with 66 additions and 42 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [12]
node: [18]
os: [ubuntu-latest]

steps:
Expand Down
6 changes: 6 additions & 0 deletions babel.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
presets: [
['@babel/preset-env', {targets: {node: 'current'}}],
'@babel/preset-typescript',
],
};
4 changes: 0 additions & 4 deletions client/index.js

This file was deleted.

9 changes: 9 additions & 0 deletions client/index.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { factory } from 'provi';

const { provide, destroy, isolate } = factory();

export {
provide,
destroy,
isolate
}
7 changes: 4 additions & 3 deletions client/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
{
"name": "provi-client",
"version": "0.0.0",
"version": "2.0.0",
"description": "Service Provider for client side",
"private": true,
"license": "MIT",
"main": "index.js",
"type": "module",
"main": "index.mjs",
"types": "index.d.ts",
"peerDependencies": {
"provi": ">=0.9.0"
"provi": "2.x.x"
},
"author": "Slava Bereza <mail@betula.co> (http://betula.co)",
"sideEffects": false
Expand Down
22 changes: 10 additions & 12 deletions index.js → index.mjs
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
const
{ unsubscriber, collect, run } = require('unsubscriber'),

async_hooks = typeof global !== 'undefined'
&& require(
[97, 115, 121, 110, 99, 95, 104, 111, 111, 107, 115]
.map(code => String.fromCharCode(code))
.join('')
),
import { unsubscriber, collect, run } from 'unsubscriber';

const
factory = () => {
let
zone_id = 0, // root zone
Expand All @@ -19,11 +12,16 @@ const

zones = new Map(),

isolate = (fn) => {
if (!async_hooks) {
isolate = async (fn) => {
const is_node = typeof global !== 'undefined'
&& typeof process !== 'undefined' && process.env;

if (!is_node) {
throw new Error('Isolate only possible on node environment')
}

const async_hooks = await import('node:async_hooks');

if (!hook) {
hook = async_hooks.createHook({
init(async_id, _type, trigger_async_id) {
Expand Down Expand Up @@ -116,6 +114,6 @@ const
}
}

module.exports = {
export {
factory
}
14 changes: 14 additions & 0 deletions jest.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module.exports = {
transform: {
"^.+\\.mjs$": "babel-jest",
"^.+\\.ts$": "babel-jest",
},
transformIgnorePatterns: [
"node_modules/(?!unsubscriber)"
],
moduleNameMapper: {
"^provi$": "<rootDir>",
"^provi/client$": "<rootDir>/client",
"^provi/server$": "<rootDir>/server",
}
}
8 changes: 0 additions & 8 deletions jest.config.js

This file was deleted.

16 changes: 9 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
{
"name": "provi",
"version": "1.5.3",
"version": "2.0.0",
"description": "Minimalistic and cute Service Provider",
"main": "index.js",
"type": "module",
"main": "index.mjs",
"types": "index.d.ts",
"scripts": {
"test": "jest"
},
"dependencies": {
"unsubscriber": ">=1.0.0"
"unsubscriber": "2.x.x"
},
"repository": {
"type": "git",
Expand All @@ -35,9 +36,10 @@
},
"homepage": "https://github.com/re-js/provi#readme",
"devDependencies": {
"@types/jest": "28.1.6",
"jest": "28.1.3",
"ts-jest": "28.0.7",
"typescript": "4.7.4"
"@babel/preset-env": "7.23.5",
"@babel/preset-typescript": "7.23.3",
"@types/jest": "29.5.10",
"jest": "29.7.0",
"typescript": "5.3.2"
}
}
4 changes: 0 additions & 4 deletions server/index.js

This file was deleted.

9 changes: 9 additions & 0 deletions server/index.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { factory } from 'provi';

const { provide, destroy, isolate } = factory();

export {
provide,
destroy,
isolate
}
7 changes: 4 additions & 3 deletions server/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
{
"name": "provi-server",
"version": "0.0.0",
"version": "2.0.0",
"description": "Service Provider for server side",
"private": true,
"license": "MIT",
"main": "index.js",
"type": "module",
"main": "index.mjs",
"types": "index.d.ts",
"peerDependencies": {
"provi": ">=0.9.0"
"provi": "2.x.x"
},
"author": "Slava Bereza <mail@betula.co> (http://betula.co)",
"sideEffects": false
Expand Down

0 comments on commit 6d4e730

Please sign in to comment.