yarn run v1.22.19
$ next build
- info Loaded env from /Users/olivierjm/sparked-next/.env
- info Creating an optimized production build
- info Compiled successfully
./src/app/library/media/[id]/page.tsx
18:6 Warning: React Hook useEffect has missing dependencies: 'fetchMediaContentById' and 'params.id'. Either include them or remove the dependency array. react-hooks/exhaustive-deps
41:15 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./src/components/courses/courseListView.tsx
34:6 Warning: React Hook useEffect has a missing dependency: 'fetchCourses'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
34:7 Warning: The 0 literal is not a valid dependency because it never changes. You can safely remove it. react-hooks/exhaustive-deps
./src/components/layouts/library/index.tsx
60:6 Warning: React Hook useEffect has missing dependencies: 'fetchPrograms' and 'fetchSchools'. Either include them or remove the dependency array. react-hooks/exhaustive-deps
./src/components/media-content/FileUploadSection.tsx
45:11 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
67:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./src/components/media-content/media-content-list-view.tsx
39:6 Warning: React Hook useEffect has a missing dependency: 'fetchMediaContent'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
./src/components/programs/programListView.tsx
34:6 Warning: React Hook useEffect has a missing dependency: 'fetchPrograms'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
./src/components/school/schoolsListView.tsx
40:6 Warning: React Hook useEffect has a missing dependency: 'fetchSchools'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
./src/components/topic/topics-list-view.tsx
34:6 Warning: React Hook useEffect has a missing dependency: 'fetchTopics'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
./src/components/units/unitListView.tsx
34:6 Warning: React Hook useEffect has a missing dependency: 'fetchUnits'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
./src/components/users/UsersListView.tsx
36:6 Warning: React Hook useEffect has a missing dependency: 'fetchUnits'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
./src/components/welcomePage/HeroSection.tsx
21:13 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
- info Linting and checking validity of types
- info Collecting page data ..(node:66825) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023.
Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check the migration guide at https://a.co/7PzMCcy
(Use `node --trace-warnings ...` to show where the warning was created)
- info Collecting page data
[= ] - info Generating static pages (0/30)i18next: languageChanged en
i18next: initialized {
debug: true,
initImmediate: true,
ns: [ 'translation' ],
defaultNS: [ 'translation' ],
fallbackLng: [ 'dev' ],
fallbackNS: false,
supportedLngs: false,
nonExplicitSupportedLngs: false,
load: 'all',
preload: false,
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: false,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: false,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: true,
format: [Function: bound format],
prefix: '{{',
suffix: '}}',
formatSeparator: ',',
unescapePrefix: '-',
nestingPrefix: '$t(',
nestingSuffix: ')',
nestingOptionsSeparator: ',',
maxReplaces: 1000,
skipOnVariables: true
},
lng: 'en',
resources: { en: { translation: [Object] } },
ignoreJSONStructure: true
}
i18next: languageChanged en
i18next: languageChanged en
i18next: initialized {
debug: true,
initImmediate: true,
ns: [ 'translation' ],
defaultNS: [ 'translation' ],
fallbackLng: [ 'dev' ],
fallbackNS: false,
supportedLngs: false,
nonExplicitSupportedLngs: false,
load: 'all',
preload: false,
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: false,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: false,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: true,
format: [Function: bound format],
prefix: '{{',
suffix: '}}',
formatSeparator: ',',
unescapePrefix: '-',
nestingPrefix: '$t(',
nestingSuffix: ')',
nestingOptionsSeparator: ',',
maxReplaces: 1000,
skipOnVariables: true
},
lng: 'en',
resources: { en: { translation: [Object] } },
ignoreJSONStructure: true
}
i18next: initialized {
debug: true,
initImmediate: true,
ns: [ 'translation' ],
defaultNS: [ 'translation' ],
fallbackLng: [ 'dev' ],
fallbackNS: false,
supportedLngs: false,
nonExplicitSupportedLngs: false,
load: 'all',
preload: false,
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: false,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: false,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: true,
format: [Function: bound format],
prefix: '{{',
suffix: '}}',
formatSeparator: ',',
unescapePrefix: '-',
nestingPrefix: '$t(',
nestingSuffix: ')',
nestingOptionsSeparator: ',',
maxReplaces: 1000,
skipOnVariables: true
},
lng: 'en',
resources: { en: { translation: [Object] } },
ignoreJSONStructure: true
}
i18next: languageChanged en
i18next: initialized {
debug: true,
initImmediate: true,
ns: [ 'translation' ],
defaultNS: [ 'translation' ],
fallbackLng: [ 'dev' ],
fallbackNS: false,
supportedLngs: false,
nonExplicitSupportedLngs: false,
load: 'all',
preload: false,
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: false,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: false,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: true,
format: [Function: bound format],
prefix: '{{',
suffix: '}}',
formatSeparator: ',',
unescapePrefix: '-',
nestingPrefix: '$t(',
nestingSuffix: ')',
nestingOptionsSeparator: ',',
maxReplaces: 1000,
skipOnVariables: true
},
lng: 'en',
resources: { en: { translation: [Object] } },
ignoreJSONStructure: true
}
i18next: languageChanged en
i18next: initialized {
debug: true,
initImmediate: true,
ns: [ 'translation' ],
defaultNS: [ 'translation' ],
fallbackLng: [ 'dev' ],
fallbackNS: false,
supportedLngs: false,
nonExplicitSupportedLngs: false,
load: 'all',
preload: false,
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: false,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: false,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: true,
format: [Function: bound format],
prefix: '{{',
suffix: '}}',
formatSeparator: ',',
unescapePrefix: '-',
nestingPrefix: '$t(',
nestingSuffix: ')',
nestingOptionsSeparator: ',',
maxReplaces: 1000,
skipOnVariables: true
},
lng: 'en',
resources: { en: { translation: [Object] } },
ignoreJSONStructure: true
}
i18next: languageChanged en
i18next: initialized {
debug: true,
initImmediate: true,
ns: [ 'translation' ],
defaultNS: [ 'translation' ],
fallbackLng: [ 'dev' ],
fallbackNS: false,
supportedLngs: false,
nonExplicitSupportedLngs: false,
load: 'all',
preload: false,
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: false,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: false,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: true,
format: [Function: bound format],
prefix: '{{',
suffix: '}}',
formatSeparator: ',',
unescapePrefix: '-',
nestingPrefix: '$t(',
nestingSuffix: ')',
nestingOptionsSeparator: ',',
maxReplaces: 1000,
skipOnVariables: true
},
lng: 'en',
resources: { en: { translation: [Object] } },
ignoreJSONStructure: true
}
[Arguments] {
'0': { disabled: false, name: 'name', label: undefined, required: true },
'1': {}
}
[Arguments] {
'0': { disabled: false, name: 'name', label: undefined, required: true },
'1': {}
}
[Arguments] {
'0': {
disabled: false,
name: 'description',
label: undefined,
required: true
},
'1': {}
}
[Arguments] {
'0': {
disabled: false,
name: 'description',
label: undefined,
required: true
},
'1': {}
}
- warn Entire page /admin/courses/edit deopted into client-side rendering. https://nextjs.org/docs/messages/deopted-into-client-rendering /admin/courses/edit
i18next: languageChanged en
i18next: initialized {
debug: true,
initImmediate: true,
ns: [ 'translation' ],
defaultNS: [ 'translation' ],
fallbackLng: [ 'dev' ],
fallbackNS: false,
supportedLngs: false,
nonExplicitSupportedLngs: false,
load: 'all',
preload: false,
simplifyPluralSuffix: true,
keySeparator: '.',
nsSeparator: ':',
pluralSeparator: '_',
contextSeparator: '_',
partialBundledLanguages: false,
saveMissing: true,
updateMissing: false,
saveMissingTo: 'fallback',
saveMissingPlurals: true,
missingKeyHandler: false,
missingInterpolationHandler: false,
postProcess: false,
postProcessPassResolved: false,
returnNull: false,
returnEmptyString: true,
returnObjects: false,
joinArrays: false,
returnedObjectHandler: false,
parseMissingKeyHandler: false,
appendNamespaceToMissingKey: false,
appendNamespaceToCIMode: false,
overloadTranslationOptionHandler: [Function: handle],
interpolation: {
escapeValue: true,
format: [Function: bound format],
prefix: '{{',
suffix: '}}',
formatSeparator: ',',
unescapePrefix: '-',
nestingPrefix: '$t(',
nestingSuffix: ')',
nestingOptionsSeparator: ',',
maxReplaces: 1000,
skipOnVariables: true
},
lng: 'en',
resources: { en: { translation: [Object] } },
ignoreJSONStructure: true
}
- warn Entire page /admin/media-content/edit deopted into client-side rendering. https://nextjs.org/docs/messages/deopted-into-client-rendering /admin/media-content/edit
[Arguments] {
'0': { disabled: false, name: 'name', label: undefined, required: true },
'1': {}
}
i18next::translator: missingKey en translation confirm_action confirm_action
[== ] - info Generating static pages (5/30)i18next::translator: missingKey en translation search_courses search_courses
[Arguments] {
'0': { disabled: false, name: 'name', label: 'Name', required: true },
'1': {}
}
[Arguments] {
'0': {
disabled: false,
name: 'description',
label: 'Description',
required: true
},
'1': {}
}
i18next::translator: missingKey en translation Program Program
- warn Entire page /admin/schools/edit deopted into client-side rendering. https://nextjs.org/docs/messages/deopted-into-client-rendering /admin/schools/edit
[Arguments] {
'0': { disabled: false, name: 'name', label: 'Name', required: true },
'1': {}
}
- warn Entire page /admin/topics/edit deopted into client-side rendering. https://nextjs.org/docs/messages/deopted-into-client-rendering /admin/topics/edit
[Arguments] {
'0': {
disabled: false,
name: 'description',
label: 'Description',
required: true
},
'1': {}
}
[Arguments] {
'0': { disabled: false, name: 'name', label: 'Name', required: true },
'1': {}
}
[Arguments] {
'0': {
disabled: false,
name: 'description',
label: 'Description',
required: true
},
'1': {}
}
i18next::translator: missingKey en translation Program Program
i18next::translator: missingKey en translation Program Program
- warn Entire page /admin/units/edit deopted into client-side rendering. https://nextjs.org/docs/messages/deopted-into-client-rendering /admin/units/edit
- warn Entire page /admin/users/edit deopted into client-side rendering. https://nextjs.org/docs/messages/deopted-into-client-rendering /admin/users/edit
i18next::translator: missingKey en translation Program Program
i18next::translator: missingKey en translation search_units search_units
i18next::translator: missingKey en translation search_programs search_programs
i18next::translator: missingKey en translation search_media_content search_media_content
i18next::translator: missingKey en translation search_units search_units
- warn Entire page /admin/programs/edit deopted into client-side rendering. https://nextjs.org/docs/messages/deopted-into-client-rendering /admin/programs/edit
i18next::translator: missingKey en translation search_schools search_schools
- info Generating static pages (30/30)
- info Finalizing page optimization
Route (app) Size First Load JS
┌ ○ / 53.2 kB 659 kB
├ ○ /admin 529 B 748 kB
├ ○ /admin/courses 4.84 kB 766 kB
├ ○ /admin/courses/create 2.99 kB 762 kB
├ ○ /admin/courses/edit 3.05 kB 762 kB
├ ○ /admin/media-content 6.25 kB 768 kB
├ ○ /admin/media-content/create 1.13 kB 764 kB
├ ○ /admin/media-content/edit 1.21 kB 765 kB
├ ○ /admin/programs 3.54 kB 764 kB
├ ○ /admin/programs/create 1.64 kB 761 kB
├ ○ /admin/programs/edit 1.72 kB 761 kB
├ ○ /admin/schools 28.2 kB 806 kB
├ ○ /admin/schools/create 2.7 kB 760 kB
├ ○ /admin/schools/edit 2.76 kB 760 kB
├ ○ /admin/topics 6.11 kB 767 kB
├ ○ /admin/topics/create 2.63 kB 765 kB
├ ○ /admin/topics/edit 2.68 kB 765 kB
├ ○ /admin/units 5.52 kB 766 kB
├ ○ /admin/units/create 1.07 kB 763 kB
├ ○ /admin/units/edit 1.16 kB 763 kB
├ ○ /admin/users 2.37 kB 750 kB
├ ○ /admin/users/create 33.4 kB 805 kB
├ ○ /admin/users/edit 1.16 kB 763 kB
├ λ /api/auth/[...nextauth] 0 B 0 B
├ λ /api/authentication/[slug] 0 B 0 B
├ λ /api/course/[slug] 0 B 0 B
├ λ /api/file-upload/[slug] 0 B 0 B
├ λ /api/media-content/[slug] 0 B 0 B
├ λ /api/program/[slug] 0 B 0 B
├ λ /api/school/[slug] 0 B 0 B
├ λ /api/topic/[slug] 0 B 0 B
├ λ /api/unit/[slug] 0 B 0 B
├ ○ /auth/login 3.14 kB 707 kB
├ ○ /auth/signup 3.13 kB 707 kB
├ ○ /favicon.ico 0 B 0 B
├ ○ /library 3.38 kB 622 kB
├ λ /library/media/[id] 108 kB 836 kB
└ ○ /portal 966 B 603 kB
+ First Load JS shared by all 553 kB
├ chunks/2234-4730a22451ed1ea6.js 15.1 kB
├ chunks/596-725fa13c10229e7a.js 26.2 kB
├ chunks/82240af4-f0018250e32e564a.js 28.9 kB
├ chunks/8bbc9ccd-701eb7bf73a8e345.js 430 kB
├ chunks/fd9d1056-890a99abdda3e0c9.js 50.5 kB
├ chunks/main-app-352c5f1f25c2c513.js 225 B
└ chunks/webpack-b2cfb766613d1faa.js 1.82 kB
Route (pages) Size First Load JS
─ ○ /404 185 B 76.9 kB
+ First Load JS shared by all 76.7 kB
├ chunks/framework-4498e84bb0ba1830.js 45.1 kB
├ chunks/main-604b61fbb55745da.js 29.6 kB
├ chunks/pages/_app-8af45f6c5c3cbc8e.js 201 B
└ chunks/webpack-b2cfb766613d1faa.js 1.82 kB
λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
○ (Static) automatically rendered as static HTML (uses no initial props)
✨ Done in 117.23s.