Skip to content
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

Refactor Schema, updated data #13

Merged
merged 5 commits into from
Apr 26, 2024
Merged

Refactor Schema, updated data #13

merged 5 commits into from
Apr 26, 2024

Conversation

suddenlyGiovanni
Copy link
Owner

@suddenlyGiovanni suddenlyGiovanni commented Apr 25, 2024

Updates the schema, apply schema changes to resume data.
As well as all changes already reviewed #14

A schema backup has been created matching the state of the modified
resume-schema up to version v9.1 of this repo.

Signed-off-by: Giovanni Ravalico <[email protected]>
This commit refactors the resume.yml and schema.json files to improve
structure and readability. It separates roles, responsibilities, and
technology stack for each work experience, separating key details to
create a clearer overview of each position held. It also updates the
schema to ensure data's validity and reflects the changes made to the
resume structure.

Signed-off-by: Giovanni Ravalico <[email protected]>
Copy link

changeset-bot bot commented Apr 25, 2024

🦋 Changeset detected

Latest commit: 023da95

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@suddenly-giovanni/resume Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

…meSchema))` (#14)

This pull request implements major updates across multiple files in our
project, primarily aimed at computing schema.json from
`JSONSchema.make(Schema.encodedSchema(ResumeSchema))`.

Key changes include:

1. Add a Changeset: An important changeset has been added to our
codebase, which outlines significant modifications made to the
'@suddenly-giovanni/resume' package. These adjustments include deriving
the resume schema from '@effect/schema' and subsequently implementing
rigorous integration tests to validate any changes to 'resume.yml'.

2. Exports for 'resume-schema' and 'schema-primitive' Modules: We've
significantly enhanced the functionality of our project by introducing
exports for the 'resume-schema' and 'schema-primitive' modules. In
addition, we've refactored the 'resume-schema' module to export multiple
sections of a resume - providing a more comprehensive representation of
user data.

3. Removal of the 'meta' Module from 'resume-schema': In pursuit of
greater efficiency, the meta module was removed from the resume-schema
package. This module was initially responsible for managing metadata of
the resume schema but was found to be not part of the actual resume
schema.

4. Adding Unit Tests and Reporting Coverage: We've improved the
reliability of our codebase by integrating unit and integration tests
into the pull request checks workflow. Additionally, we've leveraged
Codecov to provide accurate and meaningful code coverage reports for
every pull request. This measure ensures that all code modifications can
be assessed for their impact on the overall project.



As a result of these changes, schema.json is now computed directly from
`JSONSchema.make(Schema.encodedSchema(ResumeSchema))`. This ensures the
schema is always up-to-date and accurately represents the structure
required for the resumes.

---------

Signed-off-by: Giovanni Ravalico <[email protected]>
; default to `false`
use-beta-cli = true

; If this is enabled, the primary behaviour of pnpm install becomes that of
Copy link
Contributor

Choose a reason for hiding this comment

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

[misspell] reported by reviewdog 🐶
"behaviour" is a misspelling of "behavior"

The configuration for the 'biome.json' has been updated to include
format changes and added ignore options. Also included a linter override
 for the 'src/test/test-utils.ts' file to turn off 'noExplicitAny' rule.
  Furthermore, a comment was added to 'test-globals.ts' file to ignore
  certain linting rule.

Signed-off-by: Giovanni Ravalico <[email protected]>
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

Biome

src/schema-primitive/index.ts|1 col 8| ! Do not use export all ( export * from ... ).

> 1 │ export * from './url-string/url-string.js'
    │        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  2 │ export * from './phone/phone.ts'
  3 │ export * from './non-empty-string/non-empty-string.ts'

i Use named export instead.
src/schema-primitive/index.ts|1 col 15| ! Importing package private symbols is prohibited from outside the module directory.

> 1 │ export * from './url-string/url-string.js'
    │               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  2 │ export * from './phone/phone.ts'
  3 │ export * from './non-empty-string/non-empty-string.ts'

i Please import from ./url-string instead (you may need to re-export the symbol(s) from ./url-string/url-string.js).
src/schema-primitive/index.ts|2 col 8| ! Do not use export all ( export * from ... ).

  1 │ export * from './url-string/url-string.js'
> 2 │ export * from './phone/phone.ts'
    │        ^^^^^^^^^^^^^^^^^^^^^^^^^
  3 │ export * from './non-empty-string/non-empty-string.ts'
  4 │ export * from './iso-date-string/iso-date-string.ts'

i Use named export instead.
src/schema-primitive/index.ts|2 col 15| ! Importing package private symbols is prohibited from outside the module directory.

  1 │ export * from './url-string/url-string.js'
> 2 │ export * from './phone/phone.ts'
    │               ^^^^^^^^^^^^^^^^^^
  3 │ export * from './non-empty-string/non-empty-string.ts'
  4 │ export * from './iso-date-string/iso-date-string.ts'

i Please import from ./phone instead (you may need to re-export the symbol(s) from ./phone/phone.ts).
src/schema-primitive/index.ts|3 col 8| ! Do not use export all ( export * from ... ).

  1 │ export * from './url-string/url-string.js'
  2 │ export * from './phone/phone.ts'
> 3 │ export * from './non-empty-string/non-empty-string.ts'
    │        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  4 │ export * from './iso-date-string/iso-date-string.ts'
  5 │ export * from './iso8601-date-string/iso8601-date-string.ts'

i Use named export instead.
src/schema-primitive/index.ts|3 col 15| ! Importing package private symbols is prohibited from outside the module directory.

  1 │ export * from './url-string/url-string.js'
  2 │ export * from './phone/phone.ts'
> 3 │ export * from './non-empty-string/non-empty-string.ts'
    │               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  4 │ export * from './iso-date-string/iso-date-string.ts'
  5 │ export * from './iso8601-date-string/iso8601-date-string.ts'

i Please import from ./non-empty-string instead (you may need to re-export the symbol(s) from ./non-empty-string/non-empty-string.ts).
src/schema-primitive/index.ts|4 col 8| ! Do not use export all ( export * from ... ).

  2 │ export * from './phone/phone.ts'
  3 │ export * from './non-empty-string/non-empty-string.ts'
> 4 │ export * from './iso-date-string/iso-date-string.ts'
    │        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  5 │ export * from './iso8601-date-string/iso8601-date-string.ts'
  6 │ export * from './email/email.ts'

i Use named export instead.
src/schema-primitive/index.ts|4 col 15| ! Importing package private symbols is prohibited from outside the module directory.

  2 │ export * from './phone/phone.ts'
  3 │ export * from './non-empty-string/non-empty-string.ts'
> 4 │ export * from './iso-date-string/iso-date-string.ts'
    │               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  5 │ export * from './iso8601-date-string/iso8601-date-string.ts'
  6 │ export * from './email/email.ts'

i Please import from ./iso-date-string instead (you may need to re-export the symbol(s) from ./iso-date-string/iso-date-string.ts).
src/schema-primitive/index.ts|5 col 8| ! Do not use export all ( export * from ... ).

  3 │ export * from './non-empty-string/non-empty-string.ts'
  4 │ export * from './iso-date-string/iso-date-string.ts'
> 5 │ export * from './iso8601-date-string/iso8601-date-string.ts'
    │        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  6 │ export * from './email/email.ts'
  7 │

i Use named export instead.
src/schema-primitive/index.ts|5 col 15| ! Importing package private symbols is prohibited from outside the module directory.

  3 │ export * from './non-empty-string/non-empty-string.ts'
  4 │ export * from './iso-date-string/iso-date-string.ts'
> 5 │ export * from './iso8601-date-string/iso8601-date-string.ts'
    │               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  6 │ export * from './email/email.ts'
  7 │

i Please import from ./iso8601-date-string instead (you may need to re-export the symbol(s) from ./iso8601-date-string/iso8601-date-string.ts).
src/schema-primitive/index.ts|6 col 8| ! Do not use export all ( export * from ... ).

  4 │ export * from './iso-date-string/iso-date-string.ts'
  5 │ export * from './iso8601-date-string/iso8601-date-string.ts'
> 6 │ export * from './email/email.ts'
    │        ^^^^^^^^^^^^^^^^^^^^^^^^^
  7 │

i Use named export instead.
src/schema-primitive/index.ts|6 col 15| ! Importing package private symbols is prohibited from outside the module directory.

  4 │ export * from './iso-date-string/iso-date-string.ts'
  5 │ export * from './iso8601-date-string/iso8601-date-string.ts'
> 6 │ export * from './email/email.ts'
    │               ^^^^^^^^^^^^^^^^^^
  7 │

i Please import from ./email instead (you may need to re-export the symbol(s) from ./email/email.ts).
src/test/test-utils.ts|54 col 30| ! This async function lacks an await expression.

  52 │ }
  53 │
> 54 │ export const expectFailure = async <A>(
     │                              ^^^^^^^^^^
> 55 │ 	effect: Either.Either<A, ParseResult.ParseError> | Effect.Effect<A, ParseResult.ParseError>,
      ...
> 62 │ 	}
> 63 │ }
     │ ^
  64 │
  65 │ export const expectSuccess = async <E, A>(

i Remove this async modifier, or add an await expression in the function.

  52 │ }
  53 │
> 54 │ export const expectFailure = async <A>(
     │                              ^^^^^^^^^^
> 55 │ 	effect: Either.Either<A, ParseResult.ParseError> | Effect.Effect<A, ParseResult.ParseError>,
      ...
> 62 │ 	}
> 63 │ }
     │ ^
  64 │
  65 │ export const expectSuccess = async <E, A>(

i Async functions without await expressions may not need to be declared async.
src/test/test-utils.ts|65 col 30| ! This async function lacks an await expression.

  63 │ }
  64 │
> 65 │ export const expectSuccess = async <E, A>(
     │                              ^^^^^^^^^^^^^
> 66 │ 	effect: Either.Either<A, E> | Effect.Effect<A, E>,
      ...
> 73 │ 	}
> 74 │ }
     │ ^
  75 │
  76 │ export const expectEffectFailure = async <A>(

i Remove this async modifier, or add an await expression in the function.

  63 │ }
  64 │
> 65 │ export const expectSuccess = async <E, A>(
     │                              ^^^^^^^^^^^^^
> 66 │ 	effect: Either.Either<A, E> | Effect.Effect<A, E>,
      ...
> 73 │ 	}
> 74 │ }
     │ ^
  75 │
  76 │ export const expectEffectFailure = async <A>(

i Async functions without await expressions may not need to be declared async.
src/test/test-utils.ts|50 col 14| ! Two consecutive uppercase characters are not allowed in camelCase and PascalCase because strictCase is set to true.

  48 │ ) => expectFailure(S.encode(schema)(a, options), message)
  49 │
> 50 │ export const printAST = <A, I, R>(schema: S.Schema<A, I, R>) => {
     │              ^^^^^^^^
  51 │ 	console.log('%o', schema.ast)
  52 │ }

i If you want to use consecutive uppercase characters in camelCase and PascalCase, then set the strictCase option to false.
See the rule options for more details.
src/test/test-utils.ts|51 col 2| ! Don't use console

  50 │ export const printAST = <A, I, R>(schema: S.Schema<A, I, R>) => {
> 51 │ 	console.log('%o', schema.ast)
     │ 	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  52 │ }
  53 │

i Usage of console is disallowed.
i Unsafe fix: Remove console

   49  49 │
   50  50 │   export const printAST = <A, I, R>(schema: S.Schema<A, I, R>) => {
   51     │ - → console.log('%o',·schema.ast)
   52  51 │   }
   53  52 │

src/test/test-utils.ts|51 col 2| ! Don't use console.log

  50 │ export const printAST = <A, I, R>(schema: S.Schema<A, I, R>) => {
> 51 │ 	console.log('%o', schema.ast)
     │ 	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  52 │ }
  53 │

i console.log is usually a tool for debugging and you don't want to have that in production.
i If it is not for debugging purpose then using console.info might be more appropriate.
i Unsafe fix: Remove console.log

   49  49 │
   50  50 │   export const printAST = <A, I, R>(schema: S.Schema<A, I, R>) => {
   51     │ - → console.log('%o',·schema.ast)
   52  51 │   }
   53  52 │

src/test/test-utils.ts|80 col 2| ! The assertion isn't inside a it(), test() or Deno.test() function call.

  78 │ 	message: string,
  79 │ ) => {
> 80 │ 	expect(
     │ 	^^^^^^
  81 │ 		await Effect.runPromise(Effect.either(Effect.mapError(effect, formatErrorSync))),
  82 │ 	).toStrictEqual(Either.left(message))

i This will result in unexpected behaviours from your test suite.
i Move the assertion inside a it(), test() or Deno.test() function call.
src/test/test-utils.ts|86 col 2| ! The assertion isn't inside a it(), test() or Deno.test() function call.

  85 │ export const expectEffectSuccess = async <E, A>(effect: Effect.Effect<A, E>, a: A) => {
> 86 │ 	expect(await Effect.runPromise(Effect.either(effect))).toStrictEqual(Either.right(a))
     │ 	^^^^^^
  87 │ }
  88 │

i This will result in unexpected behaviours from your test suite.
i Move the assertion inside a it(), test() or Deno.test() function call.
src/test/test-utils.ts|93 col 2| ! The assertion isn't inside a it(), test() or Deno.test() function call.

  91 │ 	message: string,
  92 │ ) => {
> 93 │ 	expect(Either.mapLeft(e, formatErrorSync)).toStrictEqual(Either.left(message))
     │ 	^^^^^^
  94 │ }
  95 │

i This will result in unexpected behaviours from your test suite.
i Move the assertion inside a it(), test() or Deno.test() function call.
src/test/test-utils.ts|97 col 2| ! The assertion isn't inside a it(), test() or Deno.test() function call.

  96 │ export const expectEitherRight = <E, A>(e: Either.Either<A, E>, a: A) => {
> 97 │ 	expect(e).toStrictEqual(Either.right(a))
     │ 	^^^^^^
  98 │ }
  99 │

i This will result in unexpected behaviours from your test suite.
i Move the assertion inside a it(), test() or Deno.test() function call.
src/test/test-utils.ts|101 col 2| ! The assertion isn't inside a it(), test() or Deno.test() function call.

  100 │ export const expectNone = <A>(o: Option.Option<A>) => {
> 101 │ 	expect(o).toStrictEqual(Option.none())
      │ 	^^^^^^
  102 │ }
  103 │

i This will result in unexpected behaviours from your test suite.
i Move the assertion inside a it(), test() or Deno.test() function call.
src/test/test-utils.ts|105 col 2| ! The assertion isn't inside a it(), test() or Deno.test() function call.

  104 │ export const expectSome = <A>(o: Option.Option<A>, a: A) => {
> 105 │ 	expect(o).toStrictEqual(Option.some(a))
      │ 	^^^^^^
  106 │ }
  107 │

i This will result in unexpected behaviours from your test suite.
i Move the assertion inside a it(), test() or Deno.test() function call.
src/test/test-globals.ts|1 col 26| ! Using Node.js modules is forbidden.

> 1 │ import * as process from 'node:process'
    │                          ^^^^^^^^^^^^^^
  2 │
  3 │ // biome-ignore lint/suspicious/noExportsInTest: this is a test harness file

i Can be useful for client-side web projects that do not have access to those modules.
i Remove the import module.
src/resume-schema/location/location.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/resume.spec.ts|7 col 29| ! Importing package private symbols is prohibited from outside the module directory.

  5 │ import { describe, expect, it } from 'vitest'
  6 │
> 7 │ import type { Basics } from './basics/basics.ts'
    │                             ^^^^^^^^^^^^^^^^^^^^
  8 │ import { type Resume as ResumeEncoded, Resume as ResumeSchema } from './resume.ts'
  9 │

i Please import from ./basics instead (you may need to re-export the symbol(s) from ./basics/basics.ts).
src/resume-schema/resume.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import { ParseError } from '@effect/schema/ParseResult'
  3 │ import * as Schema from '@effect/schema/Schema'

i The name could be renamed to jsonSchema.
src/schema-primitive/iso8601-date-string/iso8601-date-string.ts|4 col 18| ! This interface name should be in PascalCase.

  2 │ import * as S from '@effect/schema/Schema'
  3 │
> 4 │ export interface ISO8601DateString extends S.Annotable<ISO8601DateString, string> {}
    │                  ^^^^^^^^^^^^^^^^^
  5 │
  6 │ /**

i The name could be renamed to Iso8601DateString.
src/schema-primitive/iso8601-date-string/iso8601-date-string.ts|11 col 14| ! This top-level const name should be in camelCase or PascalCase or CONSTANT_CASE.

   9 │  * and then it converts it to a string in the ISO 8601 format.
  10 │  */
> 11 │ export const ISO8601DateString: ISO8601DateString = S.transformOrFail(
     │              ^^^^^^^^^^^^^^^^^
  12 │ 	S.Date,
  13 │ 	S.String.annotations({

i The name could be renamed to iso8601DateString.
src/resume-schema/education/education.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/publication/publication.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/education/education.ts|79 col 4| ! Block statements are preferred in this position.

  77 │ 	S.filter(
  78 │ 		education => {
> 79 │ 			if (!education.startDate) return true
     │ 			^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  80 │ 			// short-circuit if there is no end date
  81 │ 			if (!education.endDate) return true

i Unsafe fix: Wrap the statement with a JsBlockStatement

  79 │ → → → if·(!education.startDate)·{·return·true·}
     │                                 ++           ++

src/resume-schema/education/education.ts|81 col 4| ! Block statements are preferred in this position.

  79 │ 			if (!education.startDate) return true
  80 │ 			// short-circuit if there is no end date
> 81 │ 			if (!education.endDate) return true
     │ 			^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  82 │ 			// check if the start date is before the end date
  83 │ 			return new Date(education.startDate) < new Date(education.endDate)

i Unsafe fix: Wrap the statement with a JsBlockStatement

  81 │ → → → if·(!education.endDate)·{·return·true·}
     │                               ++           ++

src/resume-schema/volunteer/volunteer.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/work/work.ts|97 col 4| ! Block statements are preferred in this position.

  95 │ 		work => {
  96 │ 			// short-circuit if there is no end date
> 97 │ 			if (!work.endDate) return true
     │ 			^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  98 │ 			// check if the start date is before the end date
  99 │ 			return new Date(work.startDate) < new Date(work.endDate)

i Unsafe fix: Wrap the statement with a JsBlockStatement

  97 │ → → → if·(!work.endDate)·{·return·true·}
     │                          ++           ++

src/resume-schema/interest/interest.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/award/award.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/work/role.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │

i The name could be renamed to jsonSchema.
src/resume-schema/basics/basics.ts|5 col 26| ! Importing package private symbols is prohibited from outside the module directory.

  3 │ import { Email, Phone, UrlString, nonEmptyString } from '@/schema-primitive/index.ts'
  4 │
> 5 │ import { Location } from '../location/location.ts'
    │                          ^^^^^^^^^^^^^^^^^^^^^^^^^
  6 │ import { Profile } from '../profile/profile.ts'
  7 │

i Please import from ../location instead (you may need to re-export the symbol(s) from ../location/location.ts).
src/resume-schema/basics/basics.ts|6 col 25| ! Importing package private symbols is prohibited from outside the module directory.

  5 │ import { Location } from '../location/location.ts'
> 6 │ import { Profile } from '../profile/profile.ts'
    │                         ^^^^^^^^^^^^^^^^^^^^^^^
  7 │
  8 │ export const Basics = S.Struct({

i Please import from ../profile instead (you may need to re-export the symbol(s) from ../profile/profile.ts).
src/resume-schema/profile/profile.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/project/project.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/basics/basic.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/work/work.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │

i The name could be renamed to jsonSchema.
src/resume-schema/resume.ts|3 col 23| ! Importing package private symbols is prohibited from outside the module directory.

  1 │ import * as S from '@effect/schema/Schema'
  2 │
> 3 │ import { Award } from './award/award.ts'
    │                       ^^^^^^^^^^^^^^^^^^
  4 │ import { Basics } from './basics/basics.ts'
  5 │ import { Certificate } from './certificates/certificates.ts'

i Please import from ./award instead (you may need to re-export the symbol(s) from ./award/award.ts).
src/resume-schema/resume.ts|4 col 24| ! Importing package private symbols is prohibited from outside the module directory.

  3 │ import { Award } from './award/award.ts'
> 4 │ import { Basics } from './basics/basics.ts'
    │                        ^^^^^^^^^^^^^^^^^^^^
  5 │ import { Certificate } from './certificates/certificates.ts'
  6 │ import { Education } from './education/education.ts'

i Please import from ./basics instead (you may need to re-export the symbol(s) from ./basics/basics.ts).
src/resume-schema/resume.ts|5 col 29| ! Importing package private symbols is prohibited from outside the module directory.

  3 │ import { Award } from './award/award.ts'
  4 │ import { Basics } from './basics/basics.ts'
> 5 │ import { Certificate } from './certificates/certificates.ts'
    │                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  6 │ import { Education } from './education/education.ts'
  7 │ import { Interest } from './interest/interest.ts'

i Please import from ./certificates instead (you may need to re-export the symbol(s) from ./certificates/certificates.ts).
src/resume-schema/resume.ts|6 col 27| ! Importing package private symbols is prohibited from outside the module directory.

  4 │ import { Basics } from './basics/basics.ts'
  5 │ import { Certificate } from './certificates/certificates.ts'
> 6 │ import { Education } from './education/education.ts'
    │                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  7 │ import { Interest } from './interest/interest.ts'
  8 │ import { Language } from './language/language.ts'

i Please import from ./education instead (you may need to re-export the symbol(s) from ./education/education.ts).
src/resume-schema/resume.ts|7 col 26| ! Importing package private symbols is prohibited from outside the module directory.

  5 │ import { Certificate } from './certificates/certificates.ts'
  6 │ import { Education } from './education/education.ts'
> 7 │ import { Interest } from './interest/interest.ts'
    │                          ^^^^^^^^^^^^^^^^^^^^^^^^
  8 │ import { Language } from './language/language.ts'
  9 │ import { Project } from './project/project.ts'

i Please import from ./interest instead (you may need to re-export the symbol(s) from ./interest/interest.ts).
src/resume-schema/resume.ts|8 col 26| ! Importing package private symbols is prohibited from outside the module directory.

   6 │ import { Education } from './education/education.ts'
   7 │ import { Interest } from './interest/interest.ts'
 > 8 │ import { Language } from './language/language.ts'
     │                          ^^^^^^^^^^^^^^^^^^^^^^^^
   9 │ import { Project } from './project/project.ts'
  10 │ import { Publication } from './publication/publication.ts'

i Please import from ./language instead (you may need to re-export the symbol(s) from ./language/language.ts).
src/resume-schema/resume.ts|9 col 25| ! Importing package private symbols is prohibited from outside the module directory.

   7 │ import { Interest } from './interest/interest.ts'
   8 │ import { Language } from './language/language.ts'
 > 9 │ import { Project } from './project/project.ts'
     │                         ^^^^^^^^^^^^^^^^^^^^^^
  10 │ import { Publication } from './publication/publication.ts'
  11 │ import { Reference } from './reference/reference.ts'

i Please import from ./project instead (you may need to re-export the symbol(s) from ./project/project.ts).
src/resume-schema/resume.ts|10 col 29| ! Importing package private symbols is prohibited from outside the module directory.

   8 │ import { Language } from './language/language.ts'
   9 │ import { Project } from './project/project.ts'
> 10 │ import { Publication } from './publication/publication.ts'
     │                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  11 │ import { Reference } from './reference/reference.ts'
  12 │ import { Skill } from './skill/skill.ts'

i Please import from ./publication instead (you may need to re-export the symbol(s) from ./publication/publication.ts).
src/resume-schema/resume.ts|11 col 27| ! Importing package private symbols is prohibited from outside the module directory.

   9 │ import { Project } from './project/project.ts'
  10 │ import { Publication } from './publication/publication.ts'
> 11 │ import { Reference } from './reference/reference.ts'
     │                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  12 │ import { Skill } from './skill/skill.ts'
  13 │ import { Volunteer } from './volunteer/volunteer.ts'

i Please import from ./reference instead (you may need to re-export the symbol(s) from ./reference/reference.ts).
src/resume-schema/resume.ts|12 col 23| ! Importing package private symbols is prohibited from outside the module directory.

  10 │ import { Publication } from './publication/publication.ts'
  11 │ import { Reference } from './reference/reference.ts'
> 12 │ import { Skill } from './skill/skill.ts'
     │                       ^^^^^^^^^^^^^^^^^^
  13 │ import { Volunteer } from './volunteer/volunteer.ts'
  14 │ import { Work } from './work/work.ts'

i Please import from ./skill instead (you may need to re-export the symbol(s) from ./skill/skill.ts).
src/resume-schema/resume.ts|13 col 27| ! Importing package private symbols is prohibited from outside the module directory.

  11 │ import { Reference } from './reference/reference.ts'
  12 │ import { Skill } from './skill/skill.ts'
> 13 │ import { Volunteer } from './volunteer/volunteer.ts'
     │                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  14 │ import { Work } from './work/work.ts'
  15 │

i Please import from ./volunteer instead (you may need to re-export the symbol(s) from ./volunteer/volunteer.ts).
src/resume-schema/resume.ts|14 col 22| ! Importing package private symbols is prohibited from outside the module directory.

  12 │ import { Skill } from './skill/skill.ts'
  13 │ import { Volunteer } from './volunteer/volunteer.ts'
> 14 │ import { Work } from './work/work.ts'
     │                      ^^^^^^^^^^^^^^^^
  15 │
  16 │ export const Resume = S.Struct({

i Please import from ./work instead (you may need to re-export the symbol(s) from ./work/work.ts).
src/resume-schema/skill/skill.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.

@@ -0,0 +1,2 @@
export * from './resume-schema/index.ts'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! Avoid barrel files, they slow down performance, and cause large module graphs with modules that go unused.

> 1 │ export * from './resume-schema/index.ts'
    │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  2 │ export * from './schema-primitive/index.ts'
  3 │

i Check this thorough explanation to better understand the context.

@@ -0,0 +1,2 @@
export * from './resume-schema/index.ts'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! Do not use export all ( export * from ... ).

> 1 │ export * from './resume-schema/index.ts'
    │        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  2 │ export * from './schema-primitive/index.ts'
  3 │

i Use named export instead.

@@ -0,0 +1,2 @@
export * from './resume-schema/index.ts'
export * from './schema-primitive/index.ts'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! Do not use export all ( export * from ... ).

  1 │ export * from './resume-schema/index.ts'
> 2 │ export * from './schema-primitive/index.ts'
    │        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  3 │

i Use named export instead.

@@ -0,0 +1,13 @@
import * as S from '@effect/schema/Schema'

export const ISODateString = S.compose(S.Trim, S.NonEmpty)
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This top-level const name should be in camelCase or PascalCase or CONSTANT_CASE.

  1 │ import * as S from '@effect/schema/Schema'
  2 │
> 3 │ export const ISODateString = S.compose(S.Trim, S.NonEmpty)
    │              ^^^^^^^^^^^^^
  4 │ 	.pipe(
  5 │ 		S.pattern(

i The name could be renamed to isoDateString.

@@ -0,0 +1,15 @@
export * from './award/award.ts'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! Avoid barrel files, they slow down performance, and cause large module graphs with modules that go unused.

> 1 │ export * from './award/award.ts'
    │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  2 │ export * from './basics/basics.ts'
  3 │ export * from './certificates/certificates.ts'

i Check this thorough explanation to better understand the context.

@@ -0,0 +1,41 @@
import * as JSONSchema from '@effect/schema/JSONSchema'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.

@@ -0,0 +1,18 @@
import * as fs from 'node:fs/promises'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! Using Node.js modules is forbidden.

> 1 │ import * as fs from 'node:fs/promises'
    │                     ^^^^^^^^^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import * as yaml from '@std/yaml'

i Can be useful for client-side web projects that do not have access to those modules.
i Remove the import module.

@@ -0,0 +1,39 @@
import * as JSONSchema from '@effect/schema/JSONSchema'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.

@@ -0,0 +1,45 @@
import * as JSONSchema from '@effect/schema/JSONSchema'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.

@@ -0,0 +1,6 @@
export * from './url-string/url-string.js'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! Avoid barrel files, they slow down performance, and cause large module graphs with modules that go unused.

> 1 │ export * from './url-string/url-string.js'
    │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  2 │ export * from './phone/phone.ts'
  3 │ export * from './non-empty-string/non-empty-string.ts'

i Check this thorough explanation to better understand the context.

This commit adds `regexManagers:biomeVersions` to the renovate
configuration under `.github/renovate.json5`. It enables the regex
management of biome version for better package control.

Signed-off-by: Giovanni Ravalico <[email protected]>
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

Biome

src/resume-schema/interest/interest.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/basics/basics.ts|5 col 26| ! Importing package private symbols is prohibited from outside the module directory.

  3 │ import { Email, Phone, UrlString, nonEmptyString } from '@/schema-primitive/index.ts'
  4 │
> 5 │ import { Location } from '../location/location.ts'
    │                          ^^^^^^^^^^^^^^^^^^^^^^^^^
  6 │ import { Profile } from '../profile/profile.ts'
  7 │

i Please import from ../location instead (you may need to re-export the symbol(s) from ../location/location.ts).
src/resume-schema/basics/basics.ts|6 col 25| ! Importing package private symbols is prohibited from outside the module directory.

  5 │ import { Location } from '../location/location.ts'
> 6 │ import { Profile } from '../profile/profile.ts'
    │                         ^^^^^^^^^^^^^^^^^^^^^^^
  7 │
  8 │ export const Basics = S.Struct({

i Please import from ../profile instead (you may need to re-export the symbol(s) from ../profile/profile.ts).
src/resume-schema/education/education.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/schema-primitive/iso8601-date-string/iso8601-date-string.ts|4 col 18| ! This interface name should be in PascalCase.

  2 │ import * as S from '@effect/schema/Schema'
  3 │
> 4 │ export interface ISO8601DateString extends S.Annotable<ISO8601DateString, string> {}
    │                  ^^^^^^^^^^^^^^^^^
  5 │
  6 │ /**

i The name could be renamed to Iso8601DateString.
src/schema-primitive/iso8601-date-string/iso8601-date-string.ts|11 col 14| ! This top-level const name should be in camelCase or PascalCase or CONSTANT_CASE.

   9 │  * and then it converts it to a string in the ISO 8601 format.
  10 │  */
> 11 │ export const ISO8601DateString: ISO8601DateString = S.transformOrFail(
     │              ^^^^^^^^^^^^^^^^^
  12 │ 	S.Date,
  13 │ 	S.String.annotations({

i The name could be renamed to iso8601DateString.
src/resume-schema/education/education.ts|79 col 4| ! Block statements are preferred in this position.

  77 │ 	S.filter(
  78 │ 		education => {
> 79 │ 			if (!education.startDate) return true
     │ 			^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  80 │ 			// short-circuit if there is no end date
  81 │ 			if (!education.endDate) return true

i Unsafe fix: Wrap the statement with a JsBlockStatement

  79 │ → → → if·(!education.startDate)·{·return·true·}
     │                                 ++           ++

src/resume-schema/education/education.ts|81 col 4| ! Block statements are preferred in this position.

  79 │ 			if (!education.startDate) return true
  80 │ 			// short-circuit if there is no end date
> 81 │ 			if (!education.endDate) return true
     │ 			^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  82 │ 			// check if the start date is before the end date
  83 │ 			return new Date(education.startDate) < new Date(education.endDate)

i Unsafe fix: Wrap the statement with a JsBlockStatement

  81 │ → → → if·(!education.endDate)·{·return·true·}
     │                               ++           ++

src/resume-schema/basics/basic.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/work/work.ts|97 col 4| ! Block statements are preferred in this position.

  95 │ 		work => {
  96 │ 			// short-circuit if there is no end date
> 97 │ 			if (!work.endDate) return true
     │ 			^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  98 │ 			// check if the start date is before the end date
  99 │ 			return new Date(work.startDate) < new Date(work.endDate)

i Unsafe fix: Wrap the statement with a JsBlockStatement

  97 │ → → → if·(!work.endDate)·{·return·true·}
     │                          ++           ++

src/resume-schema/profile/profile.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/work/role.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │

i The name could be renamed to jsonSchema.
src/resume-schema/resume.ts|3 col 23| ! Importing package private symbols is prohibited from outside the module directory.

  1 │ import * as S from '@effect/schema/Schema'
  2 │
> 3 │ import { Award } from './award/award.ts'
    │                       ^^^^^^^^^^^^^^^^^^
  4 │ import { Basics } from './basics/basics.ts'
  5 │ import { Certificate } from './certificates/certificates.ts'

i Please import from ./award instead (you may need to re-export the symbol(s) from ./award/award.ts).
src/resume-schema/resume.ts|4 col 24| ! Importing package private symbols is prohibited from outside the module directory.

  3 │ import { Award } from './award/award.ts'
> 4 │ import { Basics } from './basics/basics.ts'
    │                        ^^^^^^^^^^^^^^^^^^^^
  5 │ import { Certificate } from './certificates/certificates.ts'
  6 │ import { Education } from './education/education.ts'

i Please import from ./basics instead (you may need to re-export the symbol(s) from ./basics/basics.ts).
src/resume-schema/resume.ts|5 col 29| ! Importing package private symbols is prohibited from outside the module directory.

  3 │ import { Award } from './award/award.ts'
  4 │ import { Basics } from './basics/basics.ts'
> 5 │ import { Certificate } from './certificates/certificates.ts'
    │                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  6 │ import { Education } from './education/education.ts'
  7 │ import { Interest } from './interest/interest.ts'

i Please import from ./certificates instead (you may need to re-export the symbol(s) from ./certificates/certificates.ts).
src/resume-schema/resume.ts|6 col 27| ! Importing package private symbols is prohibited from outside the module directory.

  4 │ import { Basics } from './basics/basics.ts'
  5 │ import { Certificate } from './certificates/certificates.ts'
> 6 │ import { Education } from './education/education.ts'
    │                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  7 │ import { Interest } from './interest/interest.ts'
  8 │ import { Language } from './language/language.ts'

i Please import from ./education instead (you may need to re-export the symbol(s) from ./education/education.ts).
src/resume-schema/resume.ts|7 col 26| ! Importing package private symbols is prohibited from outside the module directory.

  5 │ import { Certificate } from './certificates/certificates.ts'
  6 │ import { Education } from './education/education.ts'
> 7 │ import { Interest } from './interest/interest.ts'
    │                          ^^^^^^^^^^^^^^^^^^^^^^^^
  8 │ import { Language } from './language/language.ts'
  9 │ import { Project } from './project/project.ts'

i Please import from ./interest instead (you may need to re-export the symbol(s) from ./interest/interest.ts).
src/resume-schema/resume.ts|8 col 26| ! Importing package private symbols is prohibited from outside the module directory.

   6 │ import { Education } from './education/education.ts'
   7 │ import { Interest } from './interest/interest.ts'
 > 8 │ import { Language } from './language/language.ts'
     │                          ^^^^^^^^^^^^^^^^^^^^^^^^
   9 │ import { Project } from './project/project.ts'
  10 │ import { Publication } from './publication/publication.ts'

i Please import from ./language instead (you may need to re-export the symbol(s) from ./language/language.ts).
src/resume-schema/resume.ts|9 col 25| ! Importing package private symbols is prohibited from outside the module directory.

   7 │ import { Interest } from './interest/interest.ts'
   8 │ import { Language } from './language/language.ts'
 > 9 │ import { Project } from './project/project.ts'
     │                         ^^^^^^^^^^^^^^^^^^^^^^
  10 │ import { Publication } from './publication/publication.ts'
  11 │ import { Reference } from './reference/reference.ts'

i Please import from ./project instead (you may need to re-export the symbol(s) from ./project/project.ts).
src/resume-schema/resume.ts|10 col 29| ! Importing package private symbols is prohibited from outside the module directory.

   8 │ import { Language } from './language/language.ts'
   9 │ import { Project } from './project/project.ts'
> 10 │ import { Publication } from './publication/publication.ts'
     │                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  11 │ import { Reference } from './reference/reference.ts'
  12 │ import { Skill } from './skill/skill.ts'

i Please import from ./publication instead (you may need to re-export the symbol(s) from ./publication/publication.ts).
src/resume-schema/resume.ts|11 col 27| ! Importing package private symbols is prohibited from outside the module directory.

   9 │ import { Project } from './project/project.ts'
  10 │ import { Publication } from './publication/publication.ts'
> 11 │ import { Reference } from './reference/reference.ts'
     │                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  12 │ import { Skill } from './skill/skill.ts'
  13 │ import { Volunteer } from './volunteer/volunteer.ts'

i Please import from ./reference instead (you may need to re-export the symbol(s) from ./reference/reference.ts).
src/resume-schema/resume.ts|12 col 23| ! Importing package private symbols is prohibited from outside the module directory.

  10 │ import { Publication } from './publication/publication.ts'
  11 │ import { Reference } from './reference/reference.ts'
> 12 │ import { Skill } from './skill/skill.ts'
     │                       ^^^^^^^^^^^^^^^^^^
  13 │ import { Volunteer } from './volunteer/volunteer.ts'
  14 │ import { Work } from './work/work.ts'

i Please import from ./skill instead (you may need to re-export the symbol(s) from ./skill/skill.ts).
src/resume-schema/resume.ts|13 col 27| ! Importing package private symbols is prohibited from outside the module directory.

  11 │ import { Reference } from './reference/reference.ts'
  12 │ import { Skill } from './skill/skill.ts'
> 13 │ import { Volunteer } from './volunteer/volunteer.ts'
     │                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  14 │ import { Work } from './work/work.ts'
  15 │

i Please import from ./volunteer instead (you may need to re-export the symbol(s) from ./volunteer/volunteer.ts).
src/resume-schema/resume.ts|14 col 22| ! Importing package private symbols is prohibited from outside the module directory.

  12 │ import { Skill } from './skill/skill.ts'
  13 │ import { Volunteer } from './volunteer/volunteer.ts'
> 14 │ import { Work } from './work/work.ts'
     │                      ^^^^^^^^^^^^^^^^
  15 │
  16 │ export const Resume = S.Struct({

i Please import from ./work instead (you may need to re-export the symbol(s) from ./work/work.ts).
src/resume-schema/project/project.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/skill/skill.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.
src/resume-schema/work/work.spec.ts|1 col 13| ! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │

i The name could be renamed to jsonSchema.

import * as Either from 'effect/Either'
import { describe, expect, it } from 'vitest'

import type { Basics } from './basics/basics.ts'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! Importing package private symbols is prohibited from outside the module directory.

  5 │ import { describe, expect, it } from 'vitest'
  6 │
> 7 │ import type { Basics } from './basics/basics.ts'
    │                             ^^^^^^^^^^^^^^^^^^^^
  8 │ import { type Resume as ResumeEncoded, Resume as ResumeSchema } from './resume.ts'
  9 │

i Please import from ./basics instead (you may need to re-export the symbol(s) from ./basics/basics.ts).

@@ -0,0 +1,124 @@
import * as JSONSchema from '@effect/schema/JSONSchema'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import { ParseError } from '@effect/schema/ParseResult'
  3 │ import * as Schema from '@effect/schema/Schema'

i The name could be renamed to jsonSchema.

@@ -0,0 +1,60 @@
import * as JSONSchema from '@effect/schema/JSONSchema'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.

console.log('%o', schema.ast)
}

export const expectFailure = async <A>(
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This async function lacks an await expression.

  52 │ }
  53 │
> 54 │ export const expectFailure = async <A>(
     │                              ^^^^^^^^^^
> 55 │ 	effect: Either.Either<A, ParseResult.ParseError> | Effect.Effect<A, ParseResult.ParseError>,
      ...
> 62 │ 	}
> 63 │ }
     │ ^
  64 │
  65 │ export const expectSuccess = async <E, A>(

i Remove this async modifier, or add an await expression in the function.

  52 │ }
  53 │
> 54 │ export const expectFailure = async <A>(
     │                              ^^^^^^^^^^
> 55 │ 	effect: Either.Either<A, ParseResult.ParseError> | Effect.Effect<A, ParseResult.ParseError>,
      ...
> 62 │ 	}
> 63 │ }
     │ ^
  64 │
  65 │ export const expectSuccess = async <E, A>(

i Async functions without await expressions may not need to be declared async.

}
}

export const expectSuccess = async <E, A>(
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This async function lacks an await expression.

  63 │ }
  64 │
> 65 │ export const expectSuccess = async <E, A>(
     │                              ^^^^^^^^^^^^^
> 66 │ 	effect: Either.Either<A, E> | Effect.Effect<A, E>,
      ...
> 73 │ 	}
> 74 │ }
     │ ^
  75 │
  76 │ export const expectEffectFailure = async <A>(

i Remove this async modifier, or add an await expression in the function.

  63 │ }
  64 │
> 65 │ export const expectSuccess = async <E, A>(
     │                              ^^^^^^^^^^^^^
> 66 │ 	effect: Either.Either<A, E> | Effect.Effect<A, E>,
      ...
> 73 │ 	}
> 74 │ }
     │ ^
  75 │
  76 │ export const expectEffectFailure = async <A>(

i Async functions without await expressions may not need to be declared async.

export * from './non-empty-string/non-empty-string.ts'
export * from './iso-date-string/iso-date-string.ts'
export * from './iso8601-date-string/iso8601-date-string.ts'
export * from './email/email.ts'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! Do not use export all ( export * from ... ).

  4 │ export * from './iso-date-string/iso-date-string.ts'
  5 │ export * from './iso8601-date-string/iso8601-date-string.ts'
> 6 │ export * from './email/email.ts'
    │        ^^^^^^^^^^^^^^^^^^^^^^^^^
  7 │

i Use named export instead.

export * from './non-empty-string/non-empty-string.ts'
export * from './iso-date-string/iso-date-string.ts'
export * from './iso8601-date-string/iso8601-date-string.ts'
export * from './email/email.ts'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! Importing package private symbols is prohibited from outside the module directory.

  4 │ export * from './iso-date-string/iso-date-string.ts'
  5 │ export * from './iso8601-date-string/iso8601-date-string.ts'
> 6 │ export * from './email/email.ts'
    │               ^^^^^^^^^^^^^^^^^^
  7 │

i Please import from ./email instead (you may need to re-export the symbol(s) from ./email/email.ts).

@@ -0,0 +1,69 @@
import * as JSONSchema from '@effect/schema/JSONSchema'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.

@@ -0,0 +1,88 @@
import * as JSONSchema from '@effect/schema/JSONSchema'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.

@@ -0,0 +1,51 @@
import * as JSONSchema from '@effect/schema/JSONSchema'
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [Biome] reported by reviewdog 🐶
! This import namespace name should be in camelCase or PascalCase.

> 1 │ import * as JSONSchema from '@effect/schema/JSONSchema'
    │             ^^^^^^^^^^
  2 │ import * as S from '@effect/schema/Schema'
  3 │ import { describe, expect, test } from 'vitest'

i The name could be renamed to jsonSchema.

@suddenlyGiovanni suddenlyGiovanni changed the title Schema / new schema Refactor Schema, updated data Apr 26, 2024
@suddenlyGiovanni suddenlyGiovanni marked this pull request as ready for review April 26, 2024 00:21
@suddenlyGiovanni suddenlyGiovanni merged commit a387e64 into main Apr 26, 2024
7 checks passed
@suddenlyGiovanni suddenlyGiovanni deleted the schema/new-schema branch April 26, 2024 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant