Skip to content

Commit 5890f73

Browse files
authored
feat: adding the origin configuration to the manifest (#296)
1 parent 6c4cb1a commit 5890f73

File tree

16 files changed

+452
-145
lines changed

16 files changed

+452
-145
lines changed

.prettierignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ jsdoc/*
33
yarn.lock
44
CHANGELOG.md
55
docker-compose.yml
6-
CODEOWNERS
6+
CODEOWNERS
7+
README.md

lib/presets/custom/angular/deliver/prebuild.js

+7
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,19 @@ import fs from 'fs-extra';
55
const packageManager = await getPackageManager();
66

77
const manifest = {
8+
origin: [
9+
{
10+
name: 'origin_storage_default',
11+
type: 'object_storage',
12+
},
13+
],
814
rules: {
915
request: [
1016
{
1117
name: 'Main_Rule',
1218
match: '^\\/',
1319
setOrigin: {
20+
name: 'origin_storage_default',
1421
type: 'object_storage',
1522
},
1623
},

lib/presets/custom/astro/deliver/prebuild.js

+7
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,19 @@ import {
99
const packageManager = await getPackageManager();
1010

1111
const manifest = {
12+
origin: [
13+
{
14+
name: 'origin_storage_default',
15+
type: 'object_storage',
16+
},
17+
],
1218
rules: {
1319
request: [
1420
{
1521
name: 'Main_Rule',
1622
match: '^\\/',
1723
setOrigin: {
24+
name: 'origin_storage_default',
1825
type: 'object_storage',
1926
},
2027
},

lib/presets/custom/eleventy/deliver/prebuild.js

+7
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,19 @@ import { rm } from 'fs/promises';
22
import { exec, copyDirectory, generateManifest } from '#utils';
33

44
const manifest = {
5+
origin: [
6+
{
7+
name: 'origin_storage_default',
8+
type: 'object_storage',
9+
},
10+
],
511
rules: {
612
request: [
713
{
814
name: 'Main_Rule',
915
match: '^\\/',
1016
setOrigin: {
17+
name: 'origin_storage_default',
1118
type: 'object_storage',
1219
},
1320
},

lib/presets/custom/gatsby/deliver/prebuild.js

+7
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,19 @@ import {
99
const packageManager = await getPackageManager();
1010

1111
const manifest = {
12+
origin: [
13+
{
14+
name: 'origin_storage_default',
15+
type: 'object_storage',
16+
},
17+
],
1218
rules: {
1319
request: [
1420
{
1521
name: 'Main_Rule',
1622
match: '^\\/',
1723
setOrigin: {
24+
name: 'origin_storage_default',
1825
type: 'object_storage',
1926
},
2027
},

lib/presets/custom/hexo/deliver/prebuild.js

+7
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,19 @@ import {
99
const packageManager = await getPackageManager();
1010

1111
const manifest = {
12+
origin: [
13+
{
14+
name: 'origin_storage_default',
15+
type: 'object_storage',
16+
},
17+
],
1218
rules: {
1319
request: [
1420
{
1521
name: 'Main_Rule',
1622
match: '^\\/',
1723
setOrigin: {
24+
name: 'origin_storage_default',
1825
type: 'object_storage',
1926
},
2027
},

lib/presets/custom/hugo/deliver/prebuild.js

+7
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,19 @@ import {
99
const packageManager = await getPackageManager();
1010

1111
const manifest = {
12+
origin: [
13+
{
14+
name: 'origin_storage_default',
15+
type: 'object_storage',
16+
},
17+
],
1218
rules: {
1319
request: [
1420
{
1521
name: 'Main_Rule',
1622
match: '^\\/',
1723
setOrigin: {
24+
name: 'origin_storage_default',
1825
type: 'object_storage',
1926
},
2027
},

lib/presets/custom/next/compute/prebuild.js

+8
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,19 @@ const { deleteTelemetryFiles, createVercelProjectConfig, runVercelBuild } =
1212
VercelUtils;
1313

1414
const edgeManifest = {
15+
origin: [
16+
{
17+
name: 'origin_storage_default',
18+
type: 'object_storage',
19+
},
20+
],
1521
rules: {
1622
request: [
1723
{
1824
name: 'Assets_Rule_1',
1925
match: '/^/_next/static/;', // starts with '/_next/static/'
2026
setOrigin: {
27+
name: 'origin_storage_default',
2128
type: 'object_storage',
2229
},
2330
deliver: true,
@@ -26,6 +33,7 @@ const edgeManifest = {
2633
name: 'Assets_Rule_2',
2734
match: '.(css|js|ttf|woff|woff2|pdf|svg|jpg|jpeg|gif|bmp|png|ico|mp4)$',
2835
setOrigin: {
36+
name: 'origin_storage_default',
2937
type: 'object_storage',
3038
},
3139
deliver: true,

lib/presets/custom/next/deliver/prebuild.js

+7
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,19 @@ import { getNextConfig, readManifestFile } from '../utils.next.js';
1515
const packageManager = await getPackageManager();
1616

1717
const cdnManifest = {
18+
origin: [
19+
{
20+
name: 'origin_storage_default',
21+
type: 'object_storage',
22+
},
23+
],
1824
rules: {
1925
request: [
2026
{
2127
name: 'Main_Rule',
2228
match: '^\\/',
2329
setOrigin: {
30+
name: 'origin_storage_default',
2431
type: 'object_storage',
2532
},
2633
},

lib/presets/custom/react/deliver/prebuild.js

+7
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,19 @@ import { exec, getPackageManager, generateManifest } from '#utils';
33
const packageManager = await getPackageManager();
44

55
const manifest = {
6+
origin: [
7+
{
8+
name: 'origin_storage_default',
9+
type: 'object_storage',
10+
},
11+
],
612
rules: {
713
request: [
814
{
915
name: 'Main_Rule',
1016
match: '^\\/',
1117
setOrigin: {
18+
name: 'origin_storage_default',
1219
type: 'object_storage',
1320
},
1421
},

lib/presets/custom/vue/deliver/prebuild.js

+7
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,19 @@ const edgeStorageDir = '.edge/storage';
1111
const defaultViteOutDir = 'dist';
1212

1313
const manifest = {
14+
origin: [
15+
{
16+
name: 'origin_storage_default',
17+
type: 'object_storage',
18+
},
19+
],
1420
rules: {
1521
request: [
1622
{
1723
name: 'Main_Rule',
1824
match: '^\\/',
1925
setOrigin: {
26+
name: 'origin_storage_default',
2027
type: 'object_storage',
2128
},
2229
},

lib/presets/default/html/deliver/prebuild.js

+7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
import { generateManifest } from '#utils';
22

33
const manifest = {
4+
origin: [
5+
{
6+
name: 'origin_storage_default',
7+
type: 'object_storage',
8+
},
9+
],
410
rules: {
511
request: [
612
{
713
name: 'Main_Rule',
814
match: '^\\/',
915
setOrigin: {
16+
name: 'origin_storage_default',
1017
type: 'object_storage',
1118
},
1219
},

lib/utils/generateManifest/fixtures/azion.config.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
export default {
2+
origin: [
3+
{
4+
name: 'myneworigin',
5+
type: 'object_storage',
6+
bucket: 'blue-courage',
7+
prefix: '0101010101001',
8+
},
9+
],
210
cache: [
311
{
412
name: 'mycache',
@@ -34,7 +42,7 @@ export default {
3442
name: 'name2',
3543
match: '/^/_statics/;', // start with /_statics
3644
setOrigin: {
37-
name: 'name',
45+
name: 'myneworigin',
3846
type: 'object_storage',
3947
},
4048
deliver: true,

lib/utils/generateManifest/fixtures/schema.js

+48-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,52 @@
11
const azionConfigSchema = {
22
type: 'object',
33
properties: {
4+
origin: {
5+
type: 'array',
6+
items: {
7+
type: 'object',
8+
properties: {
9+
name: {
10+
type: 'string',
11+
errorMessage: "The 'name' field must be a string.",
12+
},
13+
type: {
14+
type: 'string',
15+
errorMessage: "The 'type' field must be a string.",
16+
},
17+
bucket: {
18+
type: ['string', 'null'],
19+
errorMessage: "The 'bucket' field must be a string or null.",
20+
},
21+
prefix: {
22+
type: ['string', 'null'],
23+
errorMessage: "The 'prefix' field must be a string or null.",
24+
},
25+
addresses: {
26+
type: 'array',
27+
items: {
28+
type: 'string',
29+
errorMessage: "The 'address' field must be a string.",
30+
},
31+
},
32+
hostHeader: {
33+
type: 'string',
34+
errorMessage: "The 'hostHeader' field must be a string.",
35+
},
36+
},
37+
required: ['name', 'type'],
38+
additionalProperties: false,
39+
errorMessage: {
40+
additionalProperties:
41+
'No additional properties are allowed in origin item objects.',
42+
required:
43+
"The 'name and type' field is required in each origin item.",
44+
},
45+
},
46+
errorMessage: {
47+
additionalProperties: "The 'origin' field must be an array of objects.",
48+
},
49+
},
450
cache: {
551
type: 'array',
652
items: {
@@ -132,24 +178,14 @@ const azionConfigSchema = {
132178
type: 'string',
133179
errorMessage: "The 'type' field must be a string.",
134180
},
135-
bucket: {
136-
type: ['string', 'null'],
137-
errorMessage:
138-
"The 'bucket' field must be a string or null.",
139-
},
140-
prefix: {
141-
type: ['string', 'null'],
142-
errorMessage:
143-
"The 'prefix' field must be a string or null.",
144-
},
145181
},
146-
required: ['type'],
182+
required: ['name', 'type'],
147183
additionalProperties: false,
148184
errorMessage: {
149185
additionalProperties:
150186
"No additional properties are allowed in the 'setOrigin' object.",
151187
required:
152-
"The 'type' field is required in the 'setOrigin' object.",
188+
"The 'name or type' field is required in the 'setOrigin' object.",
153189
},
154190
},
155191
rewrite: {

0 commit comments

Comments
 (0)