Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose fp-ts modules without lib/es6 prefix #1241

Merged
merged 107 commits into from
Jul 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
4aaa0fc
flatten exported modules paths on release
StefanoMagrassi Jun 12, 2020
5434185
add smoke tests for release and remove some noise in scripts
StefanoMagrassi Jun 15, 2020
fa2658c
exclude scripts/smoke-tests folder from jest
StefanoMagrassi Jun 15, 2020
277bee6
export unfold from Array / ReadonlyArray
gcanti Jun 11, 2020
5f688c7
make Semigroup#fold data-last
gcanti Jun 11, 2020
f617acd
make Array#lookup / ReadonlyArray#lookup data-last
gcanti Jun 11, 2020
f9b2713
make Array#elem / ReadonlyArray#elem data-last
gcanti Jun 11, 2020
488bf3d
Docs: add unsafe section
gcanti Jun 11, 2020
a967404
optimize sort and reverse for empty arrays
gcanti Jun 11, 2020
16b3e25
Docs: add missing categories
gcanti Jun 11, 2020
4095b33
make Array#difference / ReadonlyArray#difference data-last
gcanti Jun 14, 2020
862f856
make Array#intersection / ReadonlyArray#intersection data-last
gcanti Jun 14, 2020
2a7a258
make Array#union / ReadonlyArray#union data-last
gcanti Jun 14, 2020
c0cca91
make Array#zip / ReadonlyArray#zip data-last
gcanti Jun 14, 2020
92d09bb
make Array#cons / ReadonlyArray#cons data-last
gcanti Jun 14, 2020
0ac66f8
fix examples of new data-last functions
gcanti Jun 14, 2020
3a1a20b
add v3 comments
gcanti Jun 16, 2020
1da5724
make Map#member / ReadonlyMap#member data-last
gcanti Jun 16, 2020
49b453f
make Map#elem / ReadonlyMap#elem data-last
gcanti Jun 16, 2020
2c151c1
make Map#lookup / ReadonlyMap#lookup data-last
gcanti Jun 16, 2020
94a6d60
make Map#lookupWithKey / ReadonlyMap#lookupWithKey data-last
gcanti Jun 16, 2020
86fd684
make Map#isSubmap / ReadonlyMap#isSubmap data-last
gcanti Jun 16, 2020
6aad884
make NonEmptyArray#zip / ReadonlyNonEmptyArray#zip data-last
gcanti Jun 16, 2020
cf9f056
make Record#isSubrecord / ReadonlyRecord#isSubrecord data-last
gcanti Jun 16, 2020
fa6c54a
make Record#lookup / ReadonlyRecord#lookup data-last
gcanti Jun 16, 2020
18c552b
make Record#elem / ReadonlyRecord#elem data-last
gcanti Jun 16, 2020
c9fbe9a
make Set#subset / ReadonlySet#isSubset data-last
gcanti Jun 16, 2020
3bb08d2
make Set#elem / ReadonlySet#elem data-last
gcanti Jun 16, 2020
c02e0b6
make Set#union / ReadonlySet#union data-last
gcanti Jun 16, 2020
9e263c0
make Set#intersection / ReadonlySet#intersection data-last
gcanti Jun 16, 2020
d75f9e3
make Set#difference / ReadonlySet#difference data-last
gcanti Jun 16, 2020
65887fe
add v3 comments
gcanti Jun 16, 2020
453feef
fix changelog
gcanti Jun 16, 2020
798d695
prefer Lazy in signatures
gcanti Jun 17, 2020
1f6f59c
Refine `Either.parseJSON` return type
OliverJAsh Jun 24, 2020
a11ec56
Apply changes
OliverJAsh Jun 24, 2020
54bd0ca
Export
OliverJAsh Jun 25, 2020
38c3676
Add `since`
OliverJAsh Jun 25, 2020
4d3342e
Update docs
OliverJAsh Jun 25, 2020
e6bcc98
Format
OliverJAsh Jun 25, 2020
8ad298b
Format
OliverJAsh Jun 25, 2020
1debeb7
Added chainW to ReaderTask module.
adameier Jun 28, 2020
bb0f599
version 2.6.7
gcanti Jun 29, 2020
a5df89b
split `readonlyArray` mega instance
gcanti Jun 17, 2020
387cd4a
split `array` mega instance
gcanti Jun 17, 2020
23d7127
split `const_` mega instance
gcanti Jun 17, 2020
b0de281
split `either` mega instance
gcanti Jun 17, 2020
867f36c
rename `eq` to `contravariantEq` for consistency
gcanti Jun 17, 2020
6594ed0
split `identity` mega instance
gcanti Jun 17, 2020
1758661
split `io` mega instance
gcanti Jun 17, 2020
4617a40
split `ioEither` mega instance
gcanti Jun 17, 2020
9ebbbbb
split `map_` / `readonlyMap` mega instance
gcanti Jun 17, 2020
b05ede0
split `nonEmptyArray` / `readonlyNonEmptyArray` mega instance
gcanti Jun 17, 2020
d76a33b
split `option` mega instance
gcanti Jun 17, 2020
309a723
rename `ord` to `contravariantOrd` for consistency
gcanti Jun 17, 2020
962325a
split `reader` mega instance
gcanti Jun 17, 2020
3436eff
split `readerEither` mega instance
gcanti Jun 17, 2020
a216eb7
split `readerTask` mega instance
gcanti Jun 18, 2020
a7e496d
split `readerTaskEither` mega instance
gcanti Jun 18, 2020
f905863
split `stateReaderTaskEither` mega instance
gcanti Jun 18, 2020
83acde9
split `task` mega instance
gcanti Jun 18, 2020
e8fd28c
split `taskEither` mega instance
gcanti Jun 18, 2020
d09d859
split `taskThese` mega instance
gcanti Jun 18, 2020
613707b
split `these` mega instance
gcanti Jun 18, 2020
149c854
rename `traced` to `functorTraced` for consistency
gcanti Jun 18, 2020
9ea70a2
split `tree` mega instance
gcanti Jun 18, 2020
9f283be
rename `writer` to `functorWriter` for consistency
gcanti Jun 18, 2020
df84cbb
split `record` / `readonlyRecord` mega instance
gcanti Jun 18, 2020
c2d86f4
split `tuple` / `readonlyTuple` mega instance
gcanti Jun 18, 2020
aa31d40
split `state` mega instance
gcanti Jun 18, 2020
518f9f9
split `store` mega instance
gcanti Jun 18, 2020
c9ad5f0
export all zero, fromIO, fromTask and throwError
gcanti Jun 18, 2020
870a377
remove run from tests
gcanti Jun 18, 2020
ff54650
Either: add validation instances
gcanti Jun 19, 2020
a2de98c
IOEither: add validation instances
gcanti Jun 19, 2020
7602547
ReaderEither: add validation instances
gcanti Jun 19, 2020
1b2642b
TaskEither: add validation instances
gcanti Jun 19, 2020
439cae2
ReaderTaskEither: add validation instances
gcanti Jun 19, 2020
28f093d
TaskThese: add getApplicative constrained instance
gcanti Jun 19, 2020
776b813
remove apply instances
gcanti Jun 19, 2020
32fa672
remove extend instances
gcanti Jun 19, 2020
f9eb077
upgrade to latest fast-check
gcanti Jun 19, 2020
ffd1afc
add tests for seq / par instances
gcanti Jun 19, 2020
d28cadf
add tests for validation instances
gcanti Jun 19, 2020
26f5274
export missing `of`s
gcanti Jun 19, 2020
86aee89
These: add getApplicative and fix bug in getMonad
gcanti Jun 20, 2020
43b4f8b
add TODO
gcanti Jun 24, 2020
4dcbb5a
add `hole` (type hole simulation)
gcanti Jun 29, 2020
51236c9
Add array `chainWithIndex` (#1256)
OliverJAsh Jun 29, 2020
12e4299
update changelog
gcanti Jun 29, 2020
ff3ad97
improve performance of sequenceT and sequenceS, fix #1255
gcanti Jun 29, 2020
5ac98c0
Fix Record documentation
DenisFrezzato Jul 1, 2020
d990c5d
Fix ReadonlyRecord documentation
DenisFrezzato Jul 1, 2020
781f6c6
Record / ReadonlyRecord: handle this in `hasOwnProperty`, fix #1249
gcanti Jul 1, 2020
336a4ea
rename all new instances following a upper-case naming convention
gcanti Jul 4, 2020
fc87090
add v3 comments
gcanti Jul 11, 2020
a48a3df
fix `FunctorWithIndex` instance name, fix `Functor` instance name
gcanti Jul 21, 2020
fedefed
relax `sort` signature
gcanti Jul 21, 2020
21a9c08
export `mapWithIndex` from Map and ReadonlyMap
gcanti Jul 21, 2020
3b347bb
upgrade to [email protected]
gcanti Jul 22, 2020
d86047d
relax sortBy signature in Array, ReadonlyArray
gcanti Jul 22, 2020
fb2c02f
Change "Whitherable" → "Witherable"
pete-murphy Jul 23, 2020
af24087
flatten exported modules paths on release
StefanoMagrassi Jun 12, 2020
7342405
add smoke tests for release and remove some noise in scripts
StefanoMagrassi Jun 15, 2020
bb11055
rebase on upstream master
StefanoMagrassi Jul 28, 2020
973a009
fix vulnerabilities with npm audit
StefanoMagrassi Jul 28, 2020
8b12d2b
Merge remote-tracking branch 'upstream/master'
StefanoMagrassi Jul 28, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
*.log
node_modules
/dist
lib
es6
dev
Expand Down
2 changes: 1 addition & 1 deletion jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,5 @@ module.exports = {
statements: 100
}
},
modulePathIgnorePatterns: ['util']
modulePathIgnorePatterns: ['util', 'smoke-tests']
}
14,242 changes: 10,101 additions & 4,141 deletions package-lock.json

Large diffs are not rendered by default.

18 changes: 11 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,16 @@
"scripts": {
"lint": "tslint -p .",
"jest-clear-cache": "jest --clearCache",
"jest": "jest --ci",
"prettier": "prettier --list-different \"./{src,test,examples}/**/*.ts\"",
"fix-prettier": "prettier --write \"./{src,test,examples}/**/*.ts\"",
"test": "npm run lint && npm run prettier && npm run dtslint && npm run jest-clear-cache && npm run jest && npm run docs",
"clean": "rimraf lib/* es6/*",
"prettier": "prettier --list-different \"./{src,test,examples,scripts}/**/*.ts\"",
"fix-prettier": "prettier --write \"./{src,test,examples,scripts}/**/*.ts\"",
"test": "npm run lint && npm run prettier && npm run dtslint && npm run jest-clear-cache && jest && npm run docs",
"clean": "rimraf ./dist",
"prebuild": "npm run clean",
"build": "tsc -p ./tsconfig.build.json && tsc -p ./tsconfig.build-es6.json",
"postbuild": "prettier --write \"./{lib,es6}/**/*.ts\"",
"prepublish": "npm run build",
"postbuild": "prettier --write \"./dist/**/*.ts\"",
"prepublishOnly": "ts-node scripts/pre-publish",
"prerelease": "npm run build",
"release": "ts-node scripts/release",
"doctoc": "doctoc README.md docs/introduction/code-conventions.md --title \"**Table of contents**\"",
"mocha": "mocha -r ts-node/register test/*.ts",
"dtslint": "dtslint dtslint",
Expand All @@ -39,6 +40,7 @@
"homepage": "https://github.com/gcanti/fp-ts",
"devDependencies": {
"@types/benchmark": "^1.0.31",
"@types/glob": "^7.1.3",
"@types/jest": "22.2.2",
"@types/node": "^12.6.8",
"@types/prettier": "1.10.0",
Expand All @@ -47,8 +49,10 @@
"doctoc": "^1.4.0",
"dtslint": "github:gcanti/dtslint",
"fast-check": "^1.25.1",
"glob": "^7.1.6",
"jest": "^24.8.0",
"mocha": "^5.2.0",
"parcel": "^1.12.4",
"prettier": "^2.0.2",
"rimraf": "2.6.2",
"ts-jest": "^24.0.2",
Expand Down
29 changes: 29 additions & 0 deletions scripts/helpers/check.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// This operation runs a kind of smoke test to check that everything is fine in `dist` folder

import { Program } from '../libs/program'
import { ChildProcess } from '../libs/child_process'
import { Logger } from '../libs/logger'
import { pipe } from '../../src/function'
import { chain } from '../../src/TaskEither'
import { SMOKE_TESTS_DIR } from './constants'

interface Capabilities extends ChildProcess, Logger {}

interface AppEff<A> extends Program<Capabilities, A> {}

const SMOKE_CJS = `npx ts-node ${SMOKE_TESTS_DIR}/cjs.ts`

const BUILD_ES6 = `npx parcel build ${SMOKE_TESTS_DIR}/es6.ts -d ${SMOKE_TESTS_DIR} --no-source-maps --no-minify --target node --no-cache`

const SMOKE_ES6 = `node ${SMOKE_TESTS_DIR}/es6.js`

export const check: AppEff<void> = (C) =>
pipe(
C.log('Running smoke tests...'),
// Run smoke test for commonjs format
chain(() => C.exec(SMOKE_CJS)),
// Build es6 script in commonjs format
chain(() => C.exec(BUILD_ES6)),
// and run the smoke test
chain(() => C.exec(SMOKE_ES6))
)
14 changes: 14 additions & 0 deletions scripts/helpers/constants.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/**
* The name of the folder where build files are placed.
*/
export const DIST = 'dist'

/**
* List of NPM specific files to be published.
*/
export const FILES: ReadonlyArray<string> = ['CHANGELOG.md', 'LICENSE', 'README.md']

/**
* Path of the folder containing smoke tests
*/
export const SMOKE_TESTS_DIR = 'scripts/smoke-tests'
71 changes: 71 additions & 0 deletions scripts/helpers/prepare-dist.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
import * as path from 'path'
import { FileSystem } from '../libs/fs'
import { Logger } from '../libs/logger'
import { Program, Eff } from '../libs/program'
import { sequenceT } from '../../src/Apply'
import { stringifyJSON, toError } from '../../src/Either'
import * as RTE from '../../src/ReaderTaskEither'
import { readonlyArray } from '../../src/ReadonlyArray'
import { chain, map, fromEither, taskEither } from '../../src/TaskEither'
import { pipe } from '../../src/pipeable'
import { FILES, DIST } from './constants'

interface Capabilities extends Logger, FileSystem {}

interface AppEff<A> extends Program<Capabilities, A> {}

const parallel = sequenceT(RTE.readerTaskEither)
const traverseTE = readonlyArray.traverse(taskEither)

const copyPkgFiles: AppEff<ReadonlyArray<void>> = (C) =>
traverseTE(FILES, (file) =>
pipe(
C.log(`Copy "${file}" to ${DIST}`),
chain(() => C.copyFile(file, path.resolve(DIST, file)))
)
)

const makeModules: AppEff<void> = (C) =>
pipe(
C.log('Creating modules directories...'),
chain(() => C.glob(`${DIST}/lib/*.js`)),
map(getModules),
chain((modules) => traverseTE(modules, makeSingleModule(C))),
chain(() => C.log('modules prepared'))
)

export const prepareDist: AppEff<void> = pipe(
parallel(copyPkgFiles, makeModules),
RTE.map(() => undefined)
)

// --- Internal
function getModules(paths: ReadonlyArray<string>): ReadonlyArray<string> {
return paths.map((filePath) => path.basename(filePath, '.js')).filter((x) => x !== 'index')
}

function makeSingleModule(C: Capabilities): (module: string) => Eff<void> {
return (m) =>
pipe(
C.log(`prepare ${m}`),
chain(() => C.mkdir(path.join(DIST, m))),
chain(() => makePkgJson(m)),
chain((data) => C.writeFile(path.join(DIST, m, 'package.json'), data))
)
}

function makePkgJson(module: string): Eff<string> {
return pipe(
stringifyJSON(
{
name: module,
main: `../lib/${module}.js`,
module: `../es6/${module}.js`,
typings: `../lib/${module}.d.ts`,
sideEffects: false
},
toError
),
fromEither
)
}
33 changes: 33 additions & 0 deletions scripts/helpers/prepare-pkg-json.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { Program } from '../libs/program'
import { FileSystem } from '../libs/fs'
import { Logger } from '../libs/logger'
import { stringifyJSON, parseJSON, toError } from '../../src/Either'
import { chain, map, fromEither } from '../../src/TaskEither'
import * as path from 'path'
import { pipe } from '../../src/pipeable'
import { DIST } from './constants'

interface Capabilities extends Logger, FileSystem {}

interface AppEff<A> extends Program<Capabilities, A> {}

const PKG = 'package.json'

export const preparePkgJson: AppEff<void> = (C) =>
pipe(
C.log(`Copying project\'s "${PKG}" in "${DIST}" folder...`),
chain(() => C.readFile(PKG)),
chain((s) => fromEither(parseJSON(s, toError))),
map((v) => {
// This is the only way to completly remove fields in object
const clone = Object.assign({}, v as any)

delete clone.scripts
delete clone.files

return clone
}),
chain((data) => fromEither(stringifyJSON(data, toError))),
chain((data) => C.writeFile(path.join(DIST, PKG), data)),
chain(() => C.log(`"${PKG}" copied`))
)
20 changes: 20 additions & 0 deletions scripts/helpers/publish-dist.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { ChildProcess } from '../libs/child_process'
import { Logger } from '../libs/logger'
import { Program } from '../libs/program'
import { chain } from '../../src/TaskEither'
import { pipe } from '../../src/pipeable'
import { DIST } from './constants'

interface Capabilities extends ChildProcess, Logger {}

interface AppEff<A> extends Program<Capabilities, A> {}

export const publish: AppEff<void> = (C) =>
pipe(
C.log(`Running publish in "${DIST}" folder...`),
chain(() =>
C.exec('npm publish', {
cwd: DIST
})
)
)
20 changes: 20 additions & 0 deletions scripts/libs/child_process.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import * as child_process from 'child_process'
import { Eff } from './program'
import { left, right } from '../../src/Either'

export interface ChildProcess {
readonly exec: (cmd: string, opts?: child_process.ExecOptions) => Eff<void>
}

export const childProcessNode: ChildProcess = {
exec: (cmd, args) => () =>
new Promise((resolve) => {
child_process.exec(cmd, args, (err) => {
if (err !== null) {
return resolve(left(err))
}

return resolve(right(undefined))
})
})
}
34 changes: 34 additions & 0 deletions scripts/libs/fs.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { taskify, map } from '../../src/TaskEither'
import { flow } from '../../src/function'
import * as fs from 'fs'
import Glob from 'glob'
import { Eff } from './program'

export interface FileSystem {
readonly readFile: (path: string) => Eff<string>
readonly writeFile: (path: string, content: string) => Eff<void>
readonly copyFile: (from: string, to: string) => Eff<void>
readonly glob: (pattern: string) => Eff<ReadonlyArray<string>>
readonly mkdir: (path: string) => Eff<void>
}

const readFileTE = taskify<fs.PathLike, string, NodeJS.ErrnoException, string>(fs.readFile)
const writeFileTE = taskify<fs.PathLike, string, NodeJS.ErrnoException, void>(fs.writeFile)
const copyFileTE = taskify<fs.PathLike, fs.PathLike, NodeJS.ErrnoException, void>(fs.copyFile)
const globTE = taskify<string, Error, ReadonlyArray<string>>(Glob)
const mkdirTE = taskify(fs.mkdir)

export const fsNode: FileSystem = {
readFile: (path) => readFileTE(path, 'utf8'),

writeFile: writeFileTE,

copyFile: copyFileTE,

glob: globTE,

mkdir: flow(
mkdirTE,
map(() => undefined)
)
}
12 changes: 12 additions & 0 deletions scripts/libs/logger.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { log } from '../../src/Console'
import { rightIO } from '../../src/TaskEither'
import { flow } from '../../src/function'
import { Eff } from './program'

export interface Logger {
readonly log: (s: string) => Eff<void>
}

export const loggerConsole: Logger = {
log: flow(log, rightIO)
}
26 changes: 26 additions & 0 deletions scripts/libs/program.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { fold } from '../../src/Either'
import { ReaderTaskEither } from '../../src/ReaderTaskEither'
import { TaskEither } from '../../src/TaskEither'

export interface Eff<A> extends TaskEither<Error, A> {}

export interface Program<C, A> extends ReaderTaskEither<C, Error, A> {}

export function run<A>(eff: Eff<A>): void {
eff()
.then(
fold(
(e) => {
throw e
},
(_) => {
process.exitCode = 0
}
)
)
.catch((e) => {
console.error(e) // tslint:disable-line no-console

process.exitCode = 1
})
}
6 changes: 6 additions & 0 deletions scripts/pre-publish.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { left } from '../src/ReaderTaskEither'
import { Program, run } from './libs/program'

const main: Program<{}, void> = left(new Error('"npm publish" can not be directly run; please use "npm run release"\n'))

run(main({}))
35 changes: 35 additions & 0 deletions scripts/release.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// Release process (after build)
// - copy package.json and remove "scripts" and "files"
// - foreach file in "/lib" create a directory
// - in each directory put a package.json file with "name", "module" and "typings"
// - finally run npm publish in dist folder

import { chain, chainW } from '../src/ReaderTaskEither'
import { pipe } from '../src/function'
import { check } from './helpers/check'
import { preparePkgJson } from './helpers/prepare-pkg-json'
import { prepareDist } from './helpers/prepare-dist'
import { publish } from './helpers/publish-dist'
import { Program, run } from './libs/program'
import { ChildProcess, childProcessNode } from './libs/child_process'
import { Logger, loggerConsole } from './libs/logger'
import { FileSystem, fsNode } from './libs/fs'

interface Capabilities extends ChildProcess, Logger, FileSystem {}

interface AppEff<A> extends Program<Capabilities, A> {}

const main: AppEff<void> = pipe(
preparePkgJson,
chain(() => prepareDist),
chainW(() => check),
chainW(() => publish)
)

run(
main({
...loggerConsole,
...fsNode,
...childProcessNode
})
)
1 change: 1 addition & 0 deletions scripts/smoke-tests/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.js
4 changes: 4 additions & 0 deletions scripts/smoke-tests/cjs.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import * as O from '../../dist/lib/Option'
import * as E from '../../dist/lib/Either'

console.log(E.fromOption(() => new Error('error'))(O.some('value'))) // tslint:disable-line no-console
4 changes: 4 additions & 0 deletions scripts/smoke-tests/es6.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import * as O from '../../dist/es6/Option'
import * as E from '../../dist/lib/Either'

console.log(E.fromOption(() => new Error('error'))(O.some('value'))) // tslint:disable-line no-console
1 change: 1 addition & 0 deletions src/Foldable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,7 @@ export function intercalate<M, F>(M: Monoid<M>, F: Foldable<F>): (sep: M, fm: HK
}
}

// TODO: remove in v3
/**
* Transforms a `Foldable` into a read-only array.
*
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.build-es6.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"extends": "./tsconfig.build.json",
"compilerOptions": {
"outDir": "./es6",
"outDir": "./dist/es6",
"module": "es6"
}
}
Loading