Skip to content

Commit cce02d1

Browse files
fixup
1 parent b5d39a8 commit cce02d1

File tree

13 files changed

+24
-24
lines changed

13 files changed

+24
-24
lines changed

docs/SUMMARY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,9 @@
114114
* [Blob](technical-details/reference/blob.md)
115115
* [Content Types](technical-details/reference/content-types.md)
116116
* [Components](technical-details/reference/components/README.md)
117-
* [Built-In](technical-details/reference/components/built-in.md)
117+
* [Applications](technical-details/reference/components/applications.md)
118+
* [Built-In Extensions](technical-details/reference/components/built-in-extensions.md)
118119
* [Configuration](technical-details/reference/components/configuration.md)
119-
* [Managing Applications](technical-details/reference/components/managing-applications.md)
120120
* [Extensions](technical-details/reference/components/extensions.md)
121121
* [(Experimental) Plugins](technical-details/reference/components/plugins.md)
122122
* [Data Types](technical-details/reference/data-types.md)

docs/deployments/configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1108,7 +1108,7 @@ The name of the component. This will be used to name the folder where the compon
11081108

11091109
`package` - _Type_: string
11101110

1111-
A reference to your [component](../developers/components/managing.md#adding-components-to-root) package. This could be a remote git repo, a local folder/file or an NPM package. Harper will add this package to a package.json file and call `npm install` on it, so any reference that works with that paradigm will work here.
1111+
A reference to your [component](../technical-details/reference/components/applications.md#adding-components-to-root) package. This could be a remote git repo, a local folder/file or an NPM package. Harper will add this package to a package.json file and call `npm install` on it, so any reference that works with that paradigm will work here.
11121112

11131113
Read more about npm install [here](https://docs.npmjs.com/cli/v8/commands/npm-install)
11141114

docs/getting-started/harper-concepts.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ As you begin your journey with Harper, there are a few concepts and definitions
55
## Components
66
Harper components are a core Harper concept defined as flexible JavaScript based extensions of the highly extensible core Harper platform. They are executed by Harper directly and have complete access to the Harper [Global APIs](../technical-details/reference/globals.md) (such as Resource, databases, and tables).
77

8-
A key aspect to components are their extensibility; components can be built on other components. For example, a [Harper Application](../developers/applications/README.md) is a component that uses many other components. The [application template](https://github.com/HarperDB/application-template) demonstrates many of Harper's built-in components such as [rest](../developers/components/built-in#rest) (for automatic REST endpoint generation), [graphqlSchema](../developers/components/built-in#graphqlschema) (for table schema definitions), and many more.
8+
A key aspect to components are their extensibility; components can be built on other components. For example, a [Harper Application](../developers/applications/README.md) is a component that uses many other components. The [application template](https://github.com/HarperDB/application-template) demonstrates many of Harper's built-in components such as [rest](../technical-details/reference/components/built-in-extensions.md#rest) (for automatic REST endpoint generation), [graphqlSchema](../technical-details/reference/components/built-in-extensions.md#graphqlschema) (for table schema definitions), and many more.
99

1010
## Applications
11-
Applications are a subset of components that cannot be used directly and must depend on other extensions. Examples include defining schemas (using [graphqlSchema](../developers/components/built-in#graphqlschema) built-in extension), defining custom resources (using [jsResource](../developers/components/built-in#jsresource) built-in extension), hosting static files (using [static](../developers/components/built-in#static) built-in extension), enabling REST querying of resources (using [rest](../developers/components/built-in#rest) built-in extension), and running [Next.js](https://github.com/HarperDB/nextjs), [Astro](https://github.com/HarperDB/astro), or [Apollo](https://github.com/HarperDB/apollo) applications through their respective extensions.
11+
Applications are a subset of components that cannot be used directly and must depend on other extensions. Examples include defining schemas (using [graphqlSchema](../technical-details/reference/components/built-in-extensions.md#graphqlschema) built-in extension), defining custom resources (using [jsResource](../technical-details/reference/components/built-in-extensions.md#jsresource) built-in extension), hosting static files (using [static](../technical-details/reference/components/built-in-extensions.md#static) built-in extension), enabling REST querying of resources (using [rest](../technical-details/reference/components/built-in-extensions.md#rest) built-in extension), and running [Next.js](https://github.com/HarperDB/nextjs), [Astro](https://github.com/HarperDB/astro), or [Apollo](https://github.com/HarperDB/apollo) applications through their respective extensions.
1212

1313
## Resources
1414
Resources in Harper encompass databases, tables, and schemas that store and structure data within the system. The concept is central to Harper's data management capabilities, with custom resources being enabled by the built-in jsResource extension. Resources represent the data layer of the Harper ecosystem and provide the foundation for data operations across applications built with the platform.

docs/getting-started/what-is-harper.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ When you are ready for something a little more advanced, start [customizing your
3030

3131
Finally, when it’s time to deploy, explore [replication](../developers/replication/) between nodes.
3232

33-
If you would like to jump into the most advanced capabilities, learn about [components](../developers/components/).
33+
If you would like to jump into the most advanced capabilities, learn about [components](../technical-details/reference/components/).
3434

3535
{% hint style="warning" %}
3636
Need help? Please don’t hesitate to [reach out](https://www.harpersystems.dev/contact).

docs/technical-details/reference/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ This section contains technical details and reference materials for Harper.
77
* [Blob](technical-details/reference/blob.md)
88
* [Content Types](technical-details/reference/content-types.md)
99
* [Components](technical-details/reference/components/README.md)
10-
* [Built-In](technical-details/reference/components/built-in.md)
10+
* [Applications](technical-details/reference/components/applications.md)
11+
* [Built-In Extensions](technical-details/reference/components/built-in-extensions.md)
1112
* [Configuration](technical-details/reference/components/configuration.md)
12-
* [Managing Applications](technical-details/reference/components/managing-applications.md)
1313
* [Extensions](technical-details/reference/components/extensions.md)
1414
* [(Experimental) Plugins](technical-details/reference/components/plugins.md)
1515
* [Data Types](technical-details/reference/data-types.md)

docs/technical-details/reference/components/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
1313
All together, the support for implementing a feature is the extension, and the actual implementation of the feature is the application.
1414

15-
For more information on the differences between applications and extensions, refer to the beginning of the [Applications](../../../developers/components) guide documentation section.
15+
For more information on the differences between applications and extensions, refer to the beginning of the [Applications](../../../developers/applications/) guide documentation section.
1616

1717
This technical reference section has detailed information on various component systems:
1818

19-
- [Built-In Extenstion](./built-in.md)
19+
- [Built-In Extensions](./built-in-extensions.md)
2020
- [Configuration](./configuration.md)
21-
- [Managing Applications](./managing.md)
21+
- [Managing Applications](./applications.md)
2222
- [Extensions](./extensions.md)
2323
- [(Experimental) Plugins](./plugins.md)
2424

docs/technical-details/reference/components/managing-applications.md renamed to docs/technical-details/reference/components/applications.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Managing Applications
1+
# Applications
22

33
> The contents of this page predominantly relate to **application** components. Extensions are not necessarily _deployable_. The ambiguity of the term "components" is being worked on and will be improved in future releases. As we work to clarify the terminology, please keep in mind that the component operations are synonymous with application management. In general, "components" is the general term for both applications and extensions, but in context of the operations API it refers to applications only.
44
@@ -111,7 +111,7 @@ Furthermore, the `package` field can be set to any valid [npm dependency value](
111111
112112
> When using git tags, we highly recommend that you use the semver directive to ensure consistent and reliable installation by npm. In addition to tags, you can also reference branches or commit numbers.
113113
114-
These `package` values are all supported because behind-the-scenes, Harper is generating a `package.json` file for the components. Then, it uses a form of `npm install` to resolve them as dependencies. This is why symlinks are generated when specifying a file path locally. The following [Advanced](managing.md#advanced) section explores this pattern in more detail.
114+
These `package` values are all supported because behind-the-scenes, Harper is generating a `package.json` file for the components. Then, it uses a form of `npm install` to resolve them as dependencies. This is why symlinks are generated when specifying a file path locally. The following [Advanced](#advanced) section explores this pattern in more detail.
115115
116116
Finally, don't forget to include `restart=true`, or run `harperdb restart target=<remote>`.
117117

docs/technical-details/reference/components/built-in.md renamed to docs/technical-details/reference/components/built-in-extensions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Harper provides extended features using built-in extensions. They do **not** need to be installed with a package manager, and simply must be specified in a config to run. These are used throughout many Harper docs, guides, and examples. Unlike custom extensions which have their own semantic versions, built-in extensions follow Harper's semantic version.
44

5-
For more information read the [Components, Applications, and Extensions](../../../developers/components) documentation section.
5+
For more information read the [Components, Applications, and Extensions](../../../developers/applications/) documentation section.
66

77
- [Built-In Extensions](#built-in-extensions)
88
- [fastifyRoutes](#fastifyroutes)

docs/technical-details/reference/components/configuration.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Component Configuration
22

3-
> For information on the distinction between applications and extensions, refer to beginning of the [Applications](../../../developers/applications) documentation section.
3+
> For information on the distinction between the types of components (applications and extensions), refer to beginning of the [Applications](../../../developers/applications) documentation section.
44
55
Harper components are configured with a `config.yaml` file located in the root of the component module directory. This file is how an components configures other components it depends on. Each entry in the file starts with a component name, and then configuration values are indented below it.
66

@@ -10,9 +10,9 @@ name:
1010
option-2: value
1111
```
1212
13-
It is the entry's `name` that is used for component resolution. It can be one of the [built-in extensions](./built-in.md), or it must match a package dependency of the component as specified by `package.json`. The [Custom Component Configuration](#custom-component-configuration) section provides more details and examples.
13+
It is the entry's `name` that is used for component resolution. It can be one of the [built-in extensions](./built-in-extensions.md), or it must match a package dependency of the component as specified by `package.json`. The [Custom Component Configuration](#custom-component-configuration) section provides more details and examples.
1414

15-
For some built-in extensions they can be configured with as little as a top-level boolean; for example, the [rest](./built-in.md#rest) extension can be enabled with just:
15+
For some built-in extensions they can be configured with as little as a top-level boolean; for example, the [rest](./built-in-extensions.md#rest) extension can be enabled with just:
1616

1717
```yaml
1818
rest: true
@@ -80,6 +80,6 @@ static:
8080
files: 'web/**'
8181
```
8282

83-
Refer to the [built-in components](./built-in.md) documentation for more information on these fields.
83+
Refer to the [built-in components](./built-in-extensions.md) documentation for more information on these fields.
8484

8585
If a `config.yaml` is defined, it will **not** be merged with the default config.

docs/technical-details/reference/components/extensions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ If the plugin is being written in something other than JavaScript (such as TypeS
1414

1515
## Resource Extension
1616

17-
A Resource Extension is for processing a certain type of file or directory. For example, the built-in [jsResource](./built-in.md#jsresource) extension handles executing JavaScript files.
17+
A Resource Extension is for processing a certain type of file or directory. For example, the built-in [jsResource](./built-in-extensions.md#jsresource) extension handles executing JavaScript files.
1818

1919
Resource Extensions are comprised of four distinct function exports, [`handleFile()`](#handlefilecontents-urlpath-absolutepath-resources-void--promisevoid), [`handleDirectory()`](#handledirectoryurlpath-absolutepath-resources-boolean--void--promiseboolean--void), [`setupFile()`](#setupfilecontents-urlpath-absolutepath-resources-void--promisevoid), and [`setupDirectory()`](#setupdirectoryurlpath-absolutepath-resources-boolean--void--promiseboolean--void). The `handleFile()` and `handleDirectory()` methods are executed on **all worker threads**, and are _executed again during restarts_. The `setupFile()` and `setupDirectory()` methods are only executed **once** on the **main thread** during the initial system start sequence.
2020

@@ -38,7 +38,7 @@ Any [Resource Extension](#resource-extension) can be configured with the `files`
3838
- Note: `..` is an invalid pattern and will result in an error
3939
- Otherwise, the value here will be base url path. Leading and trailing `/` characters will be handled automatically (`/static/`, `/static`, and `static/` are all equivalent to `static`)
4040

41-
For example, to configure the [static](./built-in.md#static) component to serve all HTML files from the `web` source directory on the `static` URL endpoint:
41+
For example, to configure the [static](./built-in-extensions.md#static) component to serve all HTML files from the `web` source directory on the `static` URL endpoint:
4242

4343
```yaml
4444
static:
@@ -50,7 +50,7 @@ If there are files such as `web/index.html` and `web/blog.html`, they would be a
5050

5151
Furthermore, if the component is located in the `test-component` directory, and the `urlPath` was set to `'./static/'` instead, then the files would be served from `localhost/test-component/static/*` instead.
5252

53-
The `urlPath` is optional, for example to configure the [graphqlSchema](./built-in.md#graphqlschema) component to load all schemas within the `src/schema` directory, only specifying a `files` glob pattern is required:
53+
The `urlPath` is optional, for example to configure the [graphqlSchema](./built-in-extensions.md#graphqlschema) component to load all schemas within the `src/schema` directory, only specifying a `files` glob pattern is required:
5454

5555
```yaml
5656
graphqlSchema:

0 commit comments

Comments
 (0)