Skip to content

Rename exports & cleanup #105

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
12 changes: 5 additions & 7 deletions examples/nextjs/flatbread.config.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import { defineConfig } from 'flatbread';
import { sourceFilesystem } from '@flatbread/source-filesystem';
import { transformMarkdown } from '@flatbread/transformer-markdown';
import { transformYaml } from '@flatbread/transformer-yaml';
import { createSvImgField } from '@flatbread/resolver-svimg';
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we rename this too? resolveSvimgField?

import {
defineConfig,
transformerMarkdown,
transformerYaml,
sourceFilesystem,
} from 'flatbread';

const transformerConfig = {
markdown: {
Expand All @@ -15,7 +13,7 @@ const transformerConfig = {

export default defineConfig({
source: sourceFilesystem(),
transformer: [transformerMarkdown(transformerConfig), transformerYaml()],
transformer: [transformMarkdown(transformerConfig), transformYaml()],
content: [
{
path: 'content/markdown/posts',
Expand Down
4 changes: 4 additions & 0 deletions examples/nextjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"lint": "next lint"
},
"dependencies": {
"@flatbread/transformer-yaml": "workspace:*",
"@flatbread/transformer-markdown": "workspace:*",
"@flatbread/source-filesystem": "workspace:*",
"@flatbread/resolver-svimg": "workspace:*",
"flatbread": "workspace:*",
"next": "12.2.3",
"react": "18.2.0",
Expand Down
12 changes: 5 additions & 7 deletions examples/sveltekit/flatbread.config.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import { defineConfig } from 'flatbread';
import { sourceFilesystem } from '@flatbread/source-filesystem';
import { transformMarkdown } from '@flatbread/transformer-markdown';
import { transformYaml } from '@flatbread/transformer-yaml';
import { createSvImgField } from '@flatbread/resolver-svimg';
import {
defineConfig,
transformerMarkdown,
transformerYaml,
sourceFilesystem,
} from 'flatbread';

const transformerConfig = {
markdown: {
Expand All @@ -15,7 +13,7 @@ const transformerConfig = {

export default defineConfig({
source: sourceFilesystem(),
transformer: [transformerMarkdown(transformerConfig), transformerYaml()],
transformer: [transformMarkdown(transformerConfig), transformYaml()],
content: [
{
path: 'content/markdown/posts',
Expand Down
3 changes: 3 additions & 0 deletions examples/sveltekit/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
},
"devDependencies": {
"@flatbread/transformer-yaml": "workspace:*",
"@flatbread/transformer-markdown": "workspace:*",
"@flatbread/source-filesystem": "workspace:*",
"@flatbread/resolver-svimg": "workspace:*",
"@sveltejs/adapter-static": "next",
"@sveltejs/kit": "next",
"@typescript-eslint/eslint-plugin": "4.33.0",
Expand Down
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@
},
"devDependencies": {
"@ava/typescript": "3.0.1",
"@nrwl/workspace": "14.4.3",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

"@types/inquirer": "8.2.1",
"@types/inquirer": "9.0.0",
"@types/node": "16.11.47",
"ava": "4.3.1",
"bumpp": "8.2.1",
Expand Down
8 changes: 4 additions & 4 deletions packages/core/src/providers/test/base.test.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import test from 'ava';
import filesystem from '@flatbread/source-filesystem';
import markdownTransformer from '@flatbread/transformer-markdown';
import { sourceFilesystem } from '@flatbread/source-filesystem';
import { transformMarkdown } from '@flatbread/transformer-markdown';
import { FlatbreadProvider } from '../base';

function basicProject() {
return new FlatbreadProvider({
source: filesystem(),
transformer: markdownTransformer({
source: sourceFilesystem(),
transformer: transformMarkdown({
markdown: {
gfm: true,
externalLinks: true,
Expand Down
12 changes: 9 additions & 3 deletions packages/flatbread/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,11 @@ To use the most common setup for markdown files sourced from the filesystem, Fla
The following example takes you through the default flatbread setup.

```bash
pnpm i flatbread@latest
# barebones
pnpm i flatbread

# these are your likely suspects, but other plugins might fit your use cases
pnpm i flatbread @flatbread/transformer-markdown @flatbread/source-filesystem
```

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Plugins provided
- Sources
-
- [@flatbread/source-filesystem](https://github.com/FlatbreadLabs/flatbread/tree/main/packages/source-filesystem)
- the basic file source, for reading files
> if you'd like to add your source here create a pr!
- Transformers
-
- [@flatbread/transformer-markdown](https://github.com/FlatbreadLabs/flatbread/tree/main/packages/transformer-markdown)
- transform markdown with optional grey matter header
- [@flatbread/transformer-yaml](https://github.com/FlatbreadLabs/flatbread/tree/main/packages/transformer-yaml)
- transform yaml
> if you'd like to add your transformer here submit a pr!
- Resolvers
-
- [@flatbread/resolver-svimg](https://github.com/FlatbreadLabs/flatbread/tree/main/packages/resolver-svimg)
- optimize images in style with svimg
> if you'd like to add your own resolver here submit a pr!

Automatically create a `flatbread.config.js` file:
Expand Down Expand Up @@ -60,7 +64,9 @@ package.json
In reference to that structure, set up a `flatbread.config.js` in the root of your project:

```js
import { defineConfig, transformerMarkdown, sourceFilesystem } from 'flatbread';
import { defineConfig } from 'flatbread';
import { transformMarkdown } from '@flatbread/transformer-markdown';
import { sourceFilesystem } from '@flatbread/source-filesystem';

const transformerConfig = {
markdown: {
Expand All @@ -70,7 +76,7 @@ const transformerConfig = {
};
export default defineConfig({
source: sourceFilesystem(),
transformer: transformerMarkdown(transformerConfig),
transformer: transformMarkdown(transformerConfig),

content: [
{
Expand Down
28 changes: 10 additions & 18 deletions packages/flatbread/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,35 +31,27 @@
"*.d.ts"
],
"dependencies": {
"@apollo/utils.keyvaluecache": "^1.0.1",
"@apollo/utils.keyvaluecache": "1.0.1",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should split out @flatbread/provider-apollo in the future too

"@flatbread/config": "workspace:*",
"@flatbread/core": "workspace:*",
"@flatbread/source-filesystem": "workspace:*",
"@flatbread/transformer-markdown": "workspace:*",
"@flatbread/transformer-yaml": "workspace:*",
"apollo-server-core": "^3.9.0",
"apollo-server-express": "^3.9.0",
"cors": "^2.8.5",
"express": "^4.18.1",
"express-graphql": "^0.12.0",
"find-up": "^6.3.0",
"gradient-string": "^2.0.1",
"apollo-server-core": "3.10.0",
"apollo-server-express": "3.10.0",
"express": "4.18.1",
"express-graphql": "0.12.0",
"find-up": "6.3.0",
"gradient-string": "2.0.1",
"graphql": "16.5.0",
"kleur": "^4.1.5",
"remark-github": "^11.2.3",
"sade": "^1.8.1",
"serialize-javascript": "^6.0.0"
"kleur": "4.1.5",
"sade": "1.8.1"
},
"devDependencies": {
"@types/cors": "2.8.12",
"@types/express": "4.17.13",
"@types/gradient-string": "1.1.2",
"@types/node": "16.11.47",
"@types/sade": "1.7.4",
"@types/serialize-javascript": "5.0.2",
"tsup": "6.2.1",
"typescript": "4.7.4",
"vfile": "5.3.4"
"typescript": "4.7.4"
},
"pnpm": {
"peerDependencyRules": {
Expand Down
5 changes: 1 addition & 4 deletions packages/flatbread/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
export * from '@flatbread/core';

// Convenience exports for the most common use-cases
// Convenience re-export
export { default as defineConfig, loadConfig } from '@flatbread/config';
export { source as sourceFilesystem } from '@flatbread/source-filesystem';
export { transformer as transformerMarkdown } from '@flatbread/transformer-markdown';
export { transformer as transformerYaml } from '@flatbread/transformer-yaml';
6 changes: 3 additions & 3 deletions packages/source-filesystem/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@
"node": "^14.13.1 || >=16.0.0"
},
"dependencies": {
"lodash-es": "^4.17.21",
"to-vfile": "^7.2.3",
"unified": "^10.1.2"
"lodash-es": "4.17.21",
"to-vfile": "7.2.3",
"unified": "10.1.2"
},
"devDependencies": {
"@flatbread/core": "workspace:*",
Expand Down
6 changes: 3 additions & 3 deletions packages/source-filesystem/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,9 @@ async function getAllNodes(
* @param sourceConfig content types config
* @returns A function that returns functions which fetch lists of nodes
*/
export const source: SourcePlugin = (sourceConfig?: sourceFilesystemConfig) => {
export const sourceFilesystem: SourcePlugin = (
sourceConfig?: sourceFilesystemConfig
) => {
let config: InitializedSourceFilesystemConfig;

return {
Expand All @@ -81,5 +83,3 @@ export const source: SourcePlugin = (sourceConfig?: sourceFilesystemConfig) => {
getAllNodes(allContentTypes, config),
};
};

export default source;
12 changes: 6 additions & 6 deletions packages/transformer-markdown/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,20 @@ Pair this with a compatible source plugin in your `flatbread.config.js` file:

```js
// flatbread.config.js
import defineConfig from '@flatbread/config';
import transformer from '@flatbread/transformer-markdown';
import filesystem from '@flatbread/source-filesystem';
import { defineConfig } from 'flatbread';
import { transformMarkdown } from '@flatbread/transformer-markdown';
import { sourceFilesystem } from '@flatbread/source-filesystem';

const transformerConfig = {
const transformConfig = {
markdown: {
gfm: true,
externalLinks: true,
},
};

export default defineConfig({
source: filesystem({ extensions: ['.md', '.mdx', '.markdown'] }),
transformer: transformer(transformerConfig),
source: sourceFilesystem({ extensions: ['.md', '.mdx', '.markdown'] }),
transformer: transformMarkdown(transformConfig),
content: [
{
path: 'content/posts',
Expand Down
46 changes: 23 additions & 23 deletions packages/transformer-markdown/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,30 +32,30 @@
"node": "^14.13.1 || >=16.0.0"
},
"dependencies": {
"@sindresorhus/slugify": "^2.1.0",
"@sindresorhus/slugify": "2.1.0",
"graphql": "16.5.0",
"gray-matter": "^4.0.3",
"lodash-es": "^4.17.21",
"rehype-raw": "^6.1.1",
"rehype-sanitize": "^5.0.1",
"rehype-stringify": "^9.0.3",
"remark": "^14.0.2",
"remark-autolink-headings": "^7.0.1",
"remark-external-links": "^9.0.1",
"remark-fix-guillemets": "^1.1.1",
"remark-footnotes": "^4.0.1",
"remark-frontmatter": "^4.0.1",
"remark-gfm": "^3.0.1",
"remark-html": "^15.0.1",
"remark-parse": "^10.0.1",
"remark-parse-yaml": "^0.0.3",
"remark-rehype": "^10.1.0",
"remark-slug": "^7.0.1",
"remark-squeeze-paragraphs": "^5.0.1",
"remark-stringify": "^10.0.2",
"sanitize-html": "^2.7.0",
"to-vfile": "^7.2.3",
"unified": "^10.1.2"
"gray-matter": "4.0.3",
"lodash-es": "4.17.21",
"rehype-raw": "6.1.1",
"rehype-sanitize": "5.0.1",
"rehype-stringify": "9.0.3",
"remark": "14.0.2",
"remark-autolink-headings": "7.0.1",
"remark-external-links": "9.0.1",
"remark-fix-guillemets": "1.1.1",
"remark-footnotes": "4.0.1",
"remark-frontmatter": "4.0.1",
"remark-gfm": "3.0.1",
"remark-html": "15.0.1",
"remark-parse": "10.0.1",
"remark-parse-yaml": "0.0.3",
"remark-rehype": "10.1.0",
"remark-slug": "7.0.1",
"remark-squeeze-paragraphs": "5.0.1",
"remark-stringify": "10.0.2",
"sanitize-html": "2.7.1",
"to-vfile": "7.2.3",
"unified": "10.1.2"
},
"devDependencies": {
"@flatbread/core": "workspace:*",
Expand Down
4 changes: 1 addition & 3 deletions packages/transformer-markdown/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export const parse = (
* @param config Markdown transformer configuration.
* @returns Markdown parser, preknown GraphQL schema fragments, and an EntryNode inspector function.
*/
export const transformer: TransformerPlugin = (
export const transformMarkdown: TransformerPlugin = (
config: MarkdownTransformerConfig = {}
) => {
const extensions = (config.extensions || ['.md']).map((ext: string) =>
Expand All @@ -56,5 +56,3 @@ export const transformer: TransformerPlugin = (
extensions,
};
};

export default transformer;
10 changes: 5 additions & 5 deletions packages/transformer-yaml/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ Pair this with a compatible source plugin in your `flatbread.config.js` file:

```js
// flatbread.config.js
import defineConfig from '@flatbread/config';
import transformer from '@flatbread/transformer-markdown';
import filesystem from '@flatbread/source-filesystem';
import { defineConfig } from 'flatbread';
import { transformYaml } from '@flatbread/transformer-yaml';
import { sourceFilesystem } from '@flatbread/source-filesystem';

export default defineConfig({
source: filesystem(),
transformer: transformer(),
source: sourceFilesystem(),
transformer: transformYaml(),
content: [
{
path: 'content/posts',
Expand Down
4 changes: 2 additions & 2 deletions packages/transformer-yaml/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
"node": "^14.13.1 || >=16.0.0"
},
"dependencies": {
"@sindresorhus/slugify": "^2.1.0",
"js-yaml": "^4.1.0"
"@sindresorhus/slugify": "2.1.0",
"js-yaml": "4.1.0"
},
"devDependencies": {
"@flatbread/core": "workspace:*",
Expand Down
10 changes: 4 additions & 6 deletions packages/transformer-yaml/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import type { EntryNode, TransformerPlugin } from '@flatbread/core';
import type { VFile } from 'vfile';

/**
* Transforms a yaml file (content node) to JSON.
* Transforms a YAML file (content node) to JSON.
*
* @param {VFile} input - A VFile object representing a content node.
*/
Expand Down Expand Up @@ -33,16 +33,14 @@ export const parse = (input: VFile): EntryNode => {
};

/**
* Converts markdown files to meaningful data.
* Converts YAML files to meaningful data.
*
* @returns Markdown parser, preknown GraphQL schema fragments, and an EntryNode inspector function.
* @returns YAML parser, preknown GraphQL schema fragments, and an EntryNode inspector function.
*/
export const transformer: TransformerPlugin = () => {
export const transformYaml: TransformerPlugin = () => {
return {
parse: (input: VFile): EntryNode => parse(input),
inspect: (input: EntryNode) => String(input),
extensions: ['.yaml', '.yml'],
};
};

export default transformer;
4 changes: 2 additions & 2 deletions packages/transformer-yaml/src/tests/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import test from 'ava';
import { EntryNode } from 'flatbread';
import { VFile } from 'vfile';

import Transformer from '../index.js';
import { transformYaml } from '../index.js';

const testFile = new VFile(`
id: 2a3e
Expand All @@ -22,7 +22,7 @@ skills:
cat_pat: 1500
`);

const transformer = Transformer();
const transformer = transformYaml();

test('it can parse a basic yaml file', async (t) => {
const parse = transformer.parse as (input: VFile) => EntryNode;
Expand Down
Loading