Skip to content

Commit 8eeb47a

Browse files
committed
chore(init): project rescript-libs
About a Collections and Essential set of Library, Utility, & Tools for ReScript Lang
0 parents  commit 8eeb47a

File tree

7 files changed

+5310
-0
lines changed

7 files changed

+5310
-0
lines changed

.github/workflows/ci.yml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: CI
2+
on:
3+
push:
4+
branches: [main, beta, release]
5+
pull_request:
6+
branches: [main, beta, release]
7+
jobs:
8+
ci:
9+
name: Test or Build
10+
runs-on: ubuntu-18.04
11+
steps:
12+
- uses: actions/checkout@v2
13+
- name: Setup node
14+
uses: actions/setup-node@v2
15+
with:
16+
node-version: 12
17+
- name: Install dependencies
18+
run: rm -rf node_modules && yarn install --frozen-lockfile
19+
- name: Build All Packages
20+
run: echo ${{ github.event_name }} && echo ${{ github.base_ref }} && echo ${{ github.ref }} && yarn run build
21+
- name: Ensure access
22+
env:
23+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
24+
run: |
25+
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
26+
npm whoami
27+
if: ${{ github.event_name == 'push' && ( endsWith(github.ref, 'beta') || endsWith(github.ref, 'main') || endsWith(github.ref, 'beta') ) }}
28+
- name: Config git user
29+
run: |
30+
git config --global user.name "${{ github.actor }}"
31+
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
32+
if: ${{ github.event_name == 'push' && ( endsWith(github.ref, 'beta') || endsWith(github.ref, 'main') || endsWith(github.ref, 'beta') ) }}
33+
- name: Release
34+
env:
35+
GITHUB_TOKEN: ${{ secrets.PACKAGES_TOKEN }}
36+
GH_TOKEN: ${{ secrets.PACKAGES_TOKEN }}
37+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
38+
if: ${{ github.event_name == 'push' && ( endsWith(github.ref, 'beta') || endsWith(github.ref, 'main') || endsWith(github.ref, 'beta') ) }}
39+
run: |
40+
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
41+
yarn release

.gitignore

+158
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
*.exe
2+
*.obj
3+
*.out
4+
*.compile
5+
*.native
6+
*.byte
7+
*.cmo
8+
*.annot
9+
*.cmi
10+
*.cmx
11+
*.cmt
12+
*.cmti
13+
*.cma
14+
*.a
15+
*.cmxa
16+
*.obj
17+
*~
18+
*.annot
19+
*.cmj
20+
*.bak
21+
**/lib/bs
22+
**/lib/ocaml
23+
*.mlast
24+
*.mliast
25+
**/.vscode
26+
**/.merlin
27+
**/.bsb.lock
28+
/node_modules/
29+
**/node_modules/**
30+
### Node ###
31+
# Logs
32+
logs
33+
*.log
34+
npm-debug.log*
35+
yarn-debug.log*
36+
yarn-error.log*
37+
lerna-debug.log*
38+
39+
# Diagnostic reports (https://nodejs.org/api/report.html)
40+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
41+
42+
# Runtime data
43+
pids
44+
*.pid
45+
*.seed
46+
*.pid.lock
47+
48+
# Directory for instrumented libs generated by jscoverage/JSCover
49+
lib-cov
50+
51+
# Coverage directory used by tools like istanbul
52+
coverage
53+
*.lcov
54+
55+
# nyc test coverage
56+
.nyc_output
57+
58+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
59+
.grunt
60+
61+
# Bower dependency directory (https://bower.io/)
62+
bower_components
63+
64+
# node-waf configuration
65+
.lock-wscript
66+
67+
# Compiled binary addons (https://nodejs.org/api/addons.html)
68+
build/Release
69+
70+
# Dependency directories
71+
node_modules/
72+
jspm_packages/
73+
74+
# TypeScript v1 declaration files
75+
typings/
76+
77+
# TypeScript cache
78+
*.tsbuildinfo
79+
80+
# Optional npm cache directory
81+
.npm
82+
83+
# Optional eslint cache
84+
.eslintcache
85+
86+
# Optional stylelint cache
87+
.stylelintcache
88+
89+
# Microbundle cache
90+
.rpt2_cache/
91+
.rts2_cache_cjs/
92+
.rts2_cache_es/
93+
.rts2_cache_umd/
94+
95+
# Optional REPL history
96+
.node_repl_history
97+
98+
# Output of 'npm pack'
99+
*.tgz
100+
101+
# Yarn Integrity file
102+
.yarn-integrity
103+
104+
# dotenv environment variables file
105+
.env
106+
.env.test
107+
.env*.local
108+
109+
# parcel-bundler cache (https://parceljs.org/)
110+
.cache
111+
.parcel-cache
112+
113+
# Next.js build output
114+
.next
115+
116+
# Nuxt.js build / generate output
117+
.nuxt
118+
dist
119+
120+
# Storybook build outputs
121+
.out
122+
.storybook-out
123+
storybook-static
124+
125+
# rollup.js default build output
126+
dist/
127+
128+
# Gatsby files
129+
.cache/
130+
# Comment in the public line in if your project uses Gatsby and not Next.js
131+
# https://nextjs.org/blog/next-9-1#public-directory-support
132+
# public
133+
134+
# vuepress build output
135+
.vuepress/dist
136+
137+
# Serverless directories
138+
.serverless/
139+
140+
# FuseBox cache
141+
.fusebox/
142+
143+
# DynamoDB Local files
144+
.dynamodb/
145+
146+
# TernJS port file
147+
.tern-port
148+
149+
# Stores VSCode versions used for testing VSCode extensions
150+
.vscode-test
151+
152+
# Temporary folders
153+
tmp/
154+
temp/
155+
156+
### Reasonml ###
157+
/lib
158+

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2021 ri7nz
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# rescript-libs
2+
> a Collections and Essential set of Library, Utility, & Tools for [ReScript Lang](https://rescript-lang.org/)
3+
4+
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
5+
6+
## List of Library
7+
8+
* [rescipt-intersection-observer](https://github.com/ri7nz/rescript-libs/tree/main/rescript-intersection-observer)
9+
* [rescipt-dom](https://github.com/ri7nz/rescript-libs/tree/main/rescript-dom)
10+
11+
12+
## Contribution
13+
* use [conventionalcommits.org](https://www.conventionalcommits.org/) a commit standard will be better and very intuitive.
14+
* if you make a new feature or fixing. Please, make a pull request by project scope. (e.g: add feature for rescript-intersection-observer)
15+
16+
## Acknowledgements
17+
18+
rescript-libs is based work on by the Authors and Contributors. There are, however, several influences that cannot be discovered directly
19+
20+
* [yarn-workspaces](https://classic.yarnpkg.com/en/docs/workspaces/) for project workspaces.
21+
* [lerna](https://lerna.js.org/) for manage monorepo projects with `yarn` workspaces.
22+
* [rescript-lang.org](https://rescript-lang.org/) the main reason why this project is exist.
23+
* [conventionalcommits.org](https://www.conventionalcommits.org/) a commit standard will be better and very intuitive.
24+
* and Inspired by
25+
* [bloodyowl/rescript-recoil](https://github.com/bloodyowl/rescript-recoil)
26+
* [reasonml-community/bs-webapi-incubator](https://github.com/reasonml-community/bs-webapi-incubator)

lerna.json

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"packages": ["rescript-*", "!examples"],
3+
"npmClient": "yarn",
4+
"useWorkspaces": true,
5+
"version": "independent",
6+
"changelogPreset": {
7+
"name": "conventionalcommits",
8+
"issueUrlFormat": "{{host}}/{{owner}}/{{repository}}/issues/{{id}}"
9+
},
10+
"ignoreChanges": [
11+
"**/test/**",
12+
"**/*.md",
13+
"rescript-*/**/*.js",
14+
"examples/**/*"
15+
],
16+
"command": {
17+
"version": {
18+
"allowBranch": ["main", "beta", "release"],
19+
"conventionalCommits": true
20+
},
21+
"publish": {
22+
"conventionalCommits": true,
23+
"verifyAccess": false
24+
}
25+
}
26+
}

package.json

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"name": "rescript-libs",
3+
"private": true,
4+
"workspaces": {
5+
"packages": [
6+
"rescript-*",
7+
"!examples"
8+
]
9+
},
10+
"repository": {
11+
"type": "git",
12+
"url": "https://github.com/ri7nz/rescript-libs.git"
13+
},
14+
"scripts": {
15+
"commit": "git-cz",
16+
"clean": "lerna exec --concurrency 1 --stream -- 'rescript clean' && lerna clean --yes",
17+
"build": "lerna run build",
18+
"prerelease": "lerna version --create-release github --yes",
19+
"release": "lerna publish from-package --yes",
20+
"postinstall": "lerna bootstrap"
21+
},
22+
"dependencies": {
23+
"commitizen": "4.2.4",
24+
"conventional-changelog": "3.1.24",
25+
"conventional-changelog-cli": "2.1.1",
26+
"cz-conventional-changelog": "3.3.0",
27+
"lerna": "4.0.0",
28+
"rescript": "9.1.1"
29+
},
30+
"config": {
31+
"commitizen": {
32+
"path": "./node_modules/cz-conventional-changelog"
33+
}
34+
}
35+
}

0 commit comments

Comments
 (0)