diff --git a/examples/api-routes/api/hello.ts b/examples/api-routes/api/hello.ts new file mode 100644 index 0000000000..3cf01ed22a --- /dev/null +++ b/examples/api-routes/api/hello.ts @@ -0,0 +1,3 @@ +import { defineEventHandler } from 'h3' + +export default defineEventHandler(() => 'Nitro is amazing!') diff --git a/playground/api/hello/:name.ts b/examples/api-routes/api/hello/:name.ts similarity index 100% rename from playground/api/hello/:name.ts rename to examples/api-routes/api/hello/:name.ts diff --git a/examples/api-routes/nitro.config.ts b/examples/api-routes/nitro.config.ts new file mode 100644 index 0000000000..a61d1d8e09 --- /dev/null +++ b/examples/api-routes/nitro.config.ts @@ -0,0 +1,4 @@ +import { defineNitroConfig } from 'nitropack' + +export default defineNitroConfig({ +}) diff --git a/examples/api-routes/package.json b/examples/api-routes/package.json new file mode 100644 index 0000000000..99f13ac46a --- /dev/null +++ b/examples/api-routes/package.json @@ -0,0 +1,11 @@ +{ + "name": "example-api-routes", + "private": true, + "scripts": { + "dev": "nitro dev", + "build": "nitro build" + }, + "devDependencies": { + "nitropack": "latest" + } +} diff --git a/examples/api-routes/public/index.html b/examples/api-routes/public/index.html new file mode 100644 index 0000000000..ad4ba117e6 --- /dev/null +++ b/examples/api-routes/public/index.html @@ -0,0 +1,2 @@ +/api/hello
+/api/hello/world
diff --git a/examples/api-routes/tsconfig.json b/examples/api-routes/tsconfig.json new file mode 100644 index 0000000000..43008af1c7 --- /dev/null +++ b/examples/api-routes/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.nitro/types/tsconfig.json" +} diff --git a/examples/cached-handler/api/test.ts b/examples/cached-handler/api/test.ts new file mode 100644 index 0000000000..95bec952a9 --- /dev/null +++ b/examples/cached-handler/api/test.ts @@ -0,0 +1,6 @@ +import { defineCachedEventHandler } from '#nitro' + +export default defineCachedEventHandler(async () => { + await new Promise(resolve => setTimeout(resolve, 1000)) + return `Response generated at ${new Date().toISOString()} (took 1 second)` +}) diff --git a/examples/cached-handler/nitro.config.ts b/examples/cached-handler/nitro.config.ts new file mode 100644 index 0000000000..a61d1d8e09 --- /dev/null +++ b/examples/cached-handler/nitro.config.ts @@ -0,0 +1,4 @@ +import { defineNitroConfig } from 'nitropack' + +export default defineNitroConfig({ +}) diff --git a/examples/cached-handler/package.json b/examples/cached-handler/package.json new file mode 100644 index 0000000000..4c7eb5aa7c --- /dev/null +++ b/examples/cached-handler/package.json @@ -0,0 +1,11 @@ +{ + "name": "example-cached-handler", + "private": true, + "scripts": { + "dev": "nitro dev", + "build": "nitro build" + }, + "devDependencies": { + "nitropack": "latest" + } +} diff --git a/examples/cached-handler/tsconfig.json b/examples/cached-handler/tsconfig.json new file mode 100644 index 0000000000..43008af1c7 --- /dev/null +++ b/examples/cached-handler/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.nitro/types/tsconfig.json" +} diff --git a/examples/hello-world/nitro.config.ts b/examples/hello-world/nitro.config.ts new file mode 100644 index 0000000000..a61d1d8e09 --- /dev/null +++ b/examples/hello-world/nitro.config.ts @@ -0,0 +1,4 @@ +import { defineNitroConfig } from 'nitropack' + +export default defineNitroConfig({ +}) diff --git a/examples/hello-world/package.json b/examples/hello-world/package.json index 374076e437..fb3c547d5d 100644 --- a/examples/hello-world/package.json +++ b/examples/hello-world/package.json @@ -1,11 +1,11 @@ { - "name": "nitro-example-hello-world", + "name": "example-hello-world", "private": true, "scripts": { "dev": "nitro dev", "build": "nitro build" }, "devDependencies": { - "nitropack-edge": "latest" + "nitropack": "latest" } } diff --git a/examples/hello-world/tsconfig.json b/examples/hello-world/tsconfig.json new file mode 100644 index 0000000000..43008af1c7 --- /dev/null +++ b/examples/hello-world/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.nitro/types/tsconfig.json" +} diff --git a/playground/middleware/test.ts b/examples/middleware/middleware/test.ts similarity index 100% rename from playground/middleware/test.ts rename to examples/middleware/middleware/test.ts diff --git a/examples/middleware/nitro.config.ts b/examples/middleware/nitro.config.ts new file mode 100644 index 0000000000..a61d1d8e09 --- /dev/null +++ b/examples/middleware/nitro.config.ts @@ -0,0 +1,4 @@ +import { defineNitroConfig } from 'nitropack' + +export default defineNitroConfig({ +}) diff --git a/examples/middleware/package.json b/examples/middleware/package.json new file mode 100644 index 0000000000..41e367d2e7 --- /dev/null +++ b/examples/middleware/package.json @@ -0,0 +1,11 @@ +{ + "name": "example-middleware", + "private": true, + "scripts": { + "dev": "nitro dev", + "build": "nitro build" + }, + "devDependencies": { + "nitropack": "latest" + } +} diff --git a/examples/middleware/tsconfig.json b/examples/middleware/tsconfig.json new file mode 100644 index 0000000000..43008af1c7 --- /dev/null +++ b/examples/middleware/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.nitro/types/tsconfig.json" +} diff --git a/examples/plugins/nitro.config.ts b/examples/plugins/nitro.config.ts new file mode 100644 index 0000000000..5b8e964d56 --- /dev/null +++ b/examples/plugins/nitro.config.ts @@ -0,0 +1,7 @@ +import { defineNitroConfig } from 'nitropack' + +export default defineNitroConfig({ + plugins: [ + '~/plugins/test' + ] +}) diff --git a/examples/plugins/package.json b/examples/plugins/package.json new file mode 100644 index 0000000000..28a06f9422 --- /dev/null +++ b/examples/plugins/package.json @@ -0,0 +1,11 @@ +{ + "name": "example-plugins", + "private": true, + "scripts": { + "dev": "nitro dev", + "build": "nitro build" + }, + "devDependencies": { + "nitropack": "latest" + } +} diff --git a/playground/plugins/test.ts b/examples/plugins/plugins/test.ts similarity index 100% rename from playground/plugins/test.ts rename to examples/plugins/plugins/test.ts diff --git a/examples/plugins/tsconfig.json b/examples/plugins/tsconfig.json new file mode 100644 index 0000000000..43008af1c7 --- /dev/null +++ b/examples/plugins/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.nitro/types/tsconfig.json" +} diff --git a/package.json b/package.json index 1ea0ecbae6..279c8941e9 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,12 @@ "description": "Next Generation Web Tooling", "license": "MIT", "type": "module", + "workspaces": [ + "./examples/**" + ], + "resolutions": { + "nitropack": "link:." + }, "exports": { ".": "./dist/index.mjs", "./cli": "./dist/cli.mjs", @@ -22,6 +28,7 @@ "scripts": { "build": "unbuild", "dev": "yarn nitro dev playground", + "example": "yarn workspace example-$0 dev", "dev:build": "yarn nitro build playground", "dev:start": "node playground/.output/server/index.mjs", "lint": "eslint --ext .ts,.mjs,.cjs .", diff --git a/playground/api/error.ts b/playground/api/error.ts deleted file mode 100644 index 3e6f0e3cee..0000000000 --- a/playground/api/error.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { defineEventHandler } from 'h3' - -export default defineEventHandler((_event) => { - throw new Error('Booo') -}) diff --git a/playground/api/swr.ts b/playground/api/swr.ts deleted file mode 100644 index 7e555ed303..0000000000 --- a/playground/api/swr.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { defineEventHandler } from 'h3' - -const waitFor = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)) - -// Cache is handled with route options in nitro.config -export default defineEventHandler(async () => { - await waitFor(1000) - return `Response generated at ${new Date().toISOString()} (took 1 second)` -}) diff --git a/playground/api/test.ts b/playground/api/test.ts deleted file mode 100644 index ea30f28a0f..0000000000 --- a/playground/api/test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { defineEventHandler } from 'h3' - -export default defineEventHandler(() => ({ api: 'Works!' })) diff --git a/playground/app.ts b/playground/app.ts index 7f7825e6b0..1cc398b615 100644 --- a/playground/app.ts +++ b/playground/app.ts @@ -1,26 +1,3 @@ import { eventHandler } from 'h3' -export default eventHandler(() => { - const links = [ - '/api/hello/you', - '/api/test', - '/api/swr', - '/api/error' - ] - return ` - - - - - Nitro Playground - - - -

Welcome to Nitro playground!

- - - -` -}) +export default eventHandler(() => '

Hello Nitro!

') diff --git a/playground/nitro.config.ts b/playground/nitro.config.ts index 75b2afc152..a581aebb35 100644 --- a/playground/nitro.config.ts +++ b/playground/nitro.config.ts @@ -1,15 +1,5 @@ import { defineNitroConfig } from '../src' export default defineNitroConfig({ - renderer: './app', - prerender: { - crawlLinks: true - }, - // baseURL: '/app', - routes: { - '/api/swr': { swr: true } - }, - plugins: [ - '~/plugins/test' - ] + renderer: '~/app' }) diff --git a/playground/public/favicon.ico b/playground/public/favicon.ico deleted file mode 100644 index e78eb42627..0000000000 Binary files a/playground/public/favicon.ico and /dev/null differ diff --git a/yarn.lock b/yarn.lock index fd9eb23c6c..ec542aecdf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3442,6 +3442,46 @@ __metadata: languageName: node linkType: hard +"example-api-routes@workspace:examples/api-routes": + version: 0.0.0-use.local + resolution: "example-api-routes@workspace:examples/api-routes" + dependencies: + nitropack: latest + languageName: unknown + linkType: soft + +"example-cached-handler@workspace:examples/cached-handler": + version: 0.0.0-use.local + resolution: "example-cached-handler@workspace:examples/cached-handler" + dependencies: + nitropack: latest + languageName: unknown + linkType: soft + +"example-hello-world@workspace:examples/hello-world": + version: 0.0.0-use.local + resolution: "example-hello-world@workspace:examples/hello-world" + dependencies: + nitropack: latest + languageName: unknown + linkType: soft + +"example-middleware@workspace:examples/middleware": + version: 0.0.0-use.local + resolution: "example-middleware@workspace:examples/middleware" + dependencies: + nitropack: latest + languageName: unknown + linkType: soft + +"example-plugins@workspace:examples/plugins": + version: 0.0.0-use.local + resolution: "example-plugins@workspace:examples/plugins" + dependencies: + nitropack: latest + languageName: unknown + linkType: soft + "execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" @@ -5602,6 +5642,12 @@ __metadata: languageName: node linkType: hard +"nitropack@link:.::locator=nitropack%40workspace%3A.": + version: 0.0.0-use.local + resolution: "nitropack@link:.::locator=nitropack%40workspace%3A." + languageName: node + linkType: soft + "nitropack@workspace:.": version: 0.0.0-use.local resolution: "nitropack@workspace:."