Skip to content

Commit

Permalink
chore: add microbundle
Browse files Browse the repository at this point in the history
  • Loading branch information
betula committed Nov 30, 2023
1 parent 5cd803a commit f9889fb
Show file tree
Hide file tree
Showing 13 changed files with 5,643 additions and 28 deletions.
9 changes: 5 additions & 4 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [12]
node: [18]
os: [ubuntu-latest]

steps:
Expand All @@ -20,9 +20,10 @@ jobs:
with:
node-version: ${{ matrix.node }}
- run: node --version
- run: npm --version
- run: npm i
- run: npm run test -- --coverage
- run: yarn --version
- run: yarn
- run: yarn build
- run: yarn test --coverage
- uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,6 @@ lerna-debug.log*

# jest
/coverage

# build
dist
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',
],
};
16 changes: 14 additions & 2 deletions hooks-bindings/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,24 @@
"description": "Hooks based bindings factory for Remini",
"private": true,
"license": "MIT",
"main": "src/index.js",
"types": "src/index.d.ts",
"main": "dist/hooks-bindings.js",
"module": "dist/hooks-bindings.module.js",
"umd:main": "dist/hooks-bindings.umd.js",
"source": "src/index.js",
"peerDependencies": {
"reactive-box": ">=0.8",
"remini": ">=0.2"
},
"author": "Slava Bereza <mail@betula.co> (http://betula.co)",
"sideEffects": false
"sideEffects": false,
"exports": {
".": {
"types": "./src/index.d.ts",
"browser": "./dist/hooks-bindings.module.js",
"umd": "./dist/hooks-bindings.umd.js",
"import": "./dist/hooks-bindings.mjs",
"require": "./dist/hooks-bindings.js"
}
}
}
5 changes: 3 additions & 2 deletions hooks-bindings/src/index.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { on, get } from 'remini';

const { expr } = require('reactive-box');
const { on, get } = require('remini');

//
// Bindings factory
//

module.exports = (useReducer, useEffect, useRef, useMemo, memo) => {
export function bindings(useReducer, useEffect, useRef, useMemo, memo) {

let context_is_observe;
let observe_no_memo_flag;
Expand Down
10 changes: 9 additions & 1 deletion jest.config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"preset": "ts-jest",
"transform": {
"^.+\\.js$": "babel-jest",
"^.+\\.mjs$": "babel-jest",
"^.+\\.ts$": "babel-jest",
"^.+\\.tsx$": "babel-jest"
},
"testEnvironment": "jest-environment-jsdom",
"modulePathIgnorePatterns": [
"<rootDir>/src/"
Expand All @@ -20,6 +25,9 @@
"^preact/hooks$": "<rootDir>/node_modules/preact/hooks/dist/hooks.umd.js",
"^preact/test-utils$": "<rootDir>/node_modules/preact/test-utils/dist/testUtils.umd.js"
},
"transformIgnorePatterns": [
"node_modules/(?!unsubscriber)"
],
"coveragePathIgnorePatterns": [
"node_modules",
"tests"
Expand Down
59 changes: 52 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,35 +10,50 @@
},
"homepage": "https://github.com/re-js/remini#readme",
"license": "MIT",
"main": "src/index.js",
"types": "src/index.d.ts",
"main": "dist/provi.js",
"module": "dist/provi.module.js",
"umd:main": "dist/provi.umd.js",
"source": "src/index.js",
"files": [
"src",
"hooks-bindings",
"preact",
"react"
"dist",
"hooks-bindings/dist",
"hooks-bindings/src",
"hooks-bindings/package.json",
"preact/dist",
"preact/src",
"preact/package.json",
"react/dist",
"react/src",
"react/package.json"
],
"scripts": {
"test": "jest",
"clear-cache": "jest --clearCache"
"clear-cache": "jest --clearCache",
"build": "yarn clean && microbundle build --raw --target web --generateTypes false && microbundle build --raw --target web --cwd hooks-bindings --generateTypes false && microbundle build --raw --target node --cwd preact --generateTypes false && microbundle build --raw --target node --cwd react --generateTypes false",
"dev": "microbundle watch --raw --format cjs",
"clean": "rm -rf hooks-bindings/dist preact/dist react/dist dist"
},
"dependencies": {
"reactive-box": ">=0.8.0",
"unsubscriber": ">=1.0.0",
"unsubscriber": "2.x.x",
"evemin": ">=1.0.0"
},
"devDependencies": {
"@babel/preset-env": "7.23.5",
"@babel/preset-typescript": "7.23.3",
"@testing-library/preact": "3.2.2",
"@testing-library/react": "13.2.0",
"@types/jest": "27.5.0",
"@types/react": "18.0.9",
"htm": "3.1.1",
"jest": "28.1.1",
"jest-environment-jsdom": "28.1.1",
"microbundle": "0.15.1",
"preact": "10.8.1",
"react": "18.1.0",
"react-dom": "18.1.0",
"ts-jest": "28.0.7",
"typescript": "4.7.4"
},
"peerDependencies": {
Expand Down Expand Up @@ -80,5 +95,35 @@
"sideEffects": false,
"publishConfig": {
"access": "public"
},
"exports": {
".": {
"types": "./src/index.d.ts",
"browser": "./dist/remini.module.js",
"umd": "./dist/remini.umd.js",
"import": "./dist/remini.mjs",
"require": "./dist/remini.js"
},
"./hooks-bindings": {
"types": "./hooks-bindings/src/index.d.ts",
"browser": "./hooks-bindings/dist/hooks-bindings.module.js",
"umd": "./hooks-bindings/dist/hooks-bindings.umd.js",
"import": "./hooks-bindings/dist/hooks-bindings.mjs",
"require": "./hooks-bindings/dist/hooks-bindings.js"
},
"./preact": {
"types": "./preact/src/index.d.ts",
"browser": "./preact/dist/preact.module.js",
"umd": "./preact/dist/preact.umd.js",
"import": "./preact/dist/preact.mjs",
"require": "./preact/dist/preact.js"
},
"./react": {
"types": "./react/src/index.d.ts",
"browser": "./react/dist/react.module.js",
"umd": "./react/dist/react.umd.js",
"import": "./react/dist/react.mjs",
"require": "./react/dist/react.js"
}
}
}
16 changes: 14 additions & 2 deletions preact/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,24 @@
"description": "Preact bindings for Remini",
"private": true,
"license": "MIT",
"main": "src/index.js",
"types": "src/index.d.ts",
"main": "dist/preact.js",
"module": "dist/preact.module.js",
"umd:main": "dist/preact.umd.js",
"source": "src/index.js",
"peerDependencies": {
"preact": ">=10.2",
"remini": ">=0.2"
},
"author": "Slava Bereza <mail@betula.co> (http://betula.co)",
"sideEffects": false
"sideEffects": false,
"exports": {
".": {
"types": "./src/index.d.ts",
"browser": "./dist/preact.module.js",
"umd": "./dist/preact.umd.js",
"import": "./dist/preact.mjs",
"require": "./dist/preact.js"
}
}
}
16 changes: 13 additions & 3 deletions preact/src/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
const { useReducer, useEffect, useRef, useMemo } = require('preact/hooks');
const bindings = require('remini/hooks-bindings');
import { useReducer, useEffect, useRef, useMemo } from 'preact/hooks';
import { bindings } from 'remini/hooks-bindings';

//
// Exports
//

module.exports = bindings(
const {
component,
useBox,
useBoxes,
} = bindings(
useReducer,
useEffect,
useRef,
useMemo
);

export {
component,
useBox,
useBoxes,
}
16 changes: 14 additions & 2 deletions react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,24 @@
"description": "React bindings for Remini",
"private": true,
"license": "MIT",
"main": "src/index.js",
"types": "src/index.d.ts",
"main": "dist/react.js",
"module": "dist/react.module.js",
"umd:main": "dist/react.umd.js",
"source": "src/index.js",
"peerDependencies": {
"react": ">=16.8",
"remini": ">=0.2"
},
"author": "Slava Bereza <mail@betula.co> (http://betula.co)",
"sideEffects": false
"sideEffects": false,
"exports": {
".": {
"types": "./src/index.d.ts",
"browser": "./dist/react.module.js",
"umd": "./dist/react.umd.js",
"import": "./dist/react.mjs",
"require": "./dist/react.js"
}
}
}
16 changes: 13 additions & 3 deletions react/src/index.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
const { useReducer, useEffect, useRef, useMemo, memo } = require('react');
const bindings = require('remini/hooks-bindings');
import { useReducer, useEffect, useRef, useMemo, memo } from 'react';
import { bindings } from 'remini/hooks-bindings';

//
// Exports
//

module.exports = bindings(
const {
component,
useBox,
useBoxes,
} = bindings(
useReducer,
useEffect,
useRef,
useMemo,
memo
);

export {
component,
useBox,
useBoxes,
}
5 changes: 3 additions & 2 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { un, unsubscriber, run, collect } from 'unsubscriber'

const
{ sel, expr, box, untrack: _re_untrack, batch: _re_batch } = require('reactive-box'),
{ un, unsubscriber, run, collect } = require('unsubscriber'),
{ event, listen } = require('evemin'),


Expand Down Expand Up @@ -146,7 +147,7 @@ class BoxClass extends BoxFaceWritableClass {
// Exports
//

module.exports = {
export {
box,
getter, get, setter, set, update,
wrap,
Expand Down

0 comments on commit f9889fb

Please sign in to comment.