1
Fork 0

typescript(option): chore: initial setup

Signed-off-by: prescientmoon <git@moonythm.dev>
This commit is contained in:
Matei Adriel 2019-12-19 12:37:48 +02:00 committed by prescientmoon
commit 052584b09a
Signed by: prescientmoon
SSH key fingerprint: SHA256:UUF9JT2s8Xfyv76b8ZuVL7XrmimH4o49p4b+iexbVH4
7 changed files with 148 additions and 0 deletions

3
typescript/option/.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
node_modules
dist
sandbox

View file

@ -0,0 +1,5 @@
{
"semi": false,
"tabWidth": 4,
"singleQuote": true
}

39
typescript/option/LICENSE Normal file
View file

@ -0,0 +1,39 @@
The Prosperity Public License 2.0.0
Contributor: Matei Adriel
Source Code: https://github.com/Mateiadrielrafael/ecs
This license lets you use and share this software for free,
with a trial-length time limit on commercial use. Specifically:
If you follow the rules below, you may do everything with this
software that would otherwise infringe either the contributor's
copyright in it, any patent claim the contributor can license
that covers this software as of the contributor's latest
contribution, or both.
1. You must limit use of this software in any manner primarily
intended for or directed toward commercial advantage or
private monetary compensation to a trial period of 32
consecutive calendar days. This limit does not apply to use in
developing feedback, modifications, or extensions that you
contribute back to those giving this license.
2. Ensure everyone who gets a copy of this software from you, in
source code or any other form, gets the text of this license
and the contributor and source code lines above.
3. Do not make any legal claim against anyone for infringing any
patent claim they would infringe by using this software alone,
accusing this software, with or without changes, alone or as
part of a larger application.
You are excused for unknowingly breaking rule 1 if you stop
doing anything requiring this license within 30 days of
learning you broke the rule.
**This software comes as is, without any warranty at all. As far
as the law allows, the contributor will not be liable for any
damages related to this software or this license, for any kind of
legal claim.**

View file

@ -0,0 +1,36 @@
{
"name": "@adrielus/option",
"version": "0.0.0-development",
"description": "Typescript version of fsharps Option module",
"main": "dist/bundle.cjs.js",
"module": "dist/bundle.esm.js",
"typings": "dist/index.d.ts",
"scripts": {
"prebuild": "rimraf dist",
"build": "rollup -c rollup.config.ts"
},
"files": [
"dist"
],
"keywords": [
"typescript",
"fsharp",
"option",
"maybe",
"nullable"
],
"dependencies": {},
"sideEffects": false,
"devDependencies": {
"rimraf": "^3.0.0",
"rollup": "^1.27.5",
"rollup-plugin-commonjs": "^10.1.0",
"rollup-plugin-dts": "^1.1.12",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-terser": "^5.1.2",
"rollup-plugin-typescript2": "^0.25.2",
"typescript": "^3.7.2"
},
"author": "Matei Adriel",
"license": "SEE LICENSE IN LICENSE"
}

View file

@ -0,0 +1,54 @@
import commonjs from 'rollup-plugin-commonjs'
import nodeResolve from 'rollup-plugin-node-resolve'
import dts from 'rollup-plugin-dts'
import typescript from 'rollup-plugin-typescript2'
import { terser } from 'rollup-plugin-terser'
import { resolve } from 'path'
const outputDirectory = resolve(__dirname, 'dist')
const inputFile = resolve(__dirname, 'src/index.ts')
const npmConfig = require(resolve(__dirname, `package.json`))
const external = Object.keys(npmConfig.dependencies || {})
const dev = Boolean(process.env.ROLLUP_WATCH)
export default [
{
input: inputFile,
external,
output: [
{
file: `${outputDirectory}/bundle.cjs.js`,
format: 'cjs',
sourcemap: true
},
{
file: `${outputDirectory}/bundle.esm.js`,
format: 'esm',
sourcemap: true
},
{
file: `${outputDirectory}/bundle.amd.js`,
sourcemap: true,
format: 'amd',
name: 'Loopover'
}
],
plugins: [
nodeResolve({
extensions: ['.ts']
}),
commonjs(),
typescript({
tsconfig: resolve(__dirname, 'tsconfig.json')
}),
!dev && terser()
]
},
{
input: inputFile,
output: [{ file: `${outputDirectory}/index.d.ts`, format: 'es' }],
plugins: [dts()]
}
]

View file

View file

@ -0,0 +1,11 @@
{
"compilerOptions": {
"lib": ["esnext", "dom", "es2015.iterable"],
"moduleResolution": "node",
"strictNullChecks": true,
"sourceMap": true,
"downlevelIteration": true,
"target": "es6"
},
"include": ["src", "sandbox"]
}