├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .fossa.yml ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATES │ ├── bug_report.md │ └── feature_request.md ├── SECURITY-INSIGHTS.yml ├── dependabot.yaml └── workflows │ └── main.yaml ├── .gitignore ├── .npm-upgrade.json ├── .prettierignore ├── .prettierrc ├── CHANGELOG.md ├── LICENSE ├── NOTICE.txt ├── README.md ├── package.json ├── src ├── constants │ ├── default-schema-version.ts │ ├── index.ts │ ├── keyword.ts │ ├── language-name.ts │ ├── schema-version.ts │ └── single-indentation.ts ├── documentation │ ├── concepts.ts │ └── index.ts ├── index.ts ├── inner-utils │ ├── assert-never.ts │ └── insecure-random-string.ts ├── samples │ ├── custom-roles.json │ ├── entitlements.json │ ├── expenses.json │ ├── gdrive.json │ ├── generic.json │ ├── github.json │ ├── index.ts │ ├── iot.json │ └── slack.json ├── theme │ ├── index.ts │ ├── supported-themes │ │ └── openfga-dark.ts │ ├── theme.typings.ts │ └── utils.ts ├── tools │ ├── index.ts │ ├── monaco │ │ ├── index.ts │ │ ├── language-definition.ts │ │ ├── providers │ │ │ ├── code-actions.ts │ │ │ ├── completion.ts │ │ │ └── hover-actions.ts │ │ ├── register-dsl.ts │ │ ├── theme.ts │ │ ├── typings.ts │ │ └── validate.ts │ └── prism │ │ ├── index.ts │ │ └── language-definition.ts ├── utilities │ └── graphs │ │ ├── graph.typings.ts │ │ ├── index.ts │ │ ├── model-graph.ts │ │ └── related-users-graph.ts └── validator │ ├── default-regex.ts │ ├── index.ts │ └── ulid-regex.ts ├── tests ├── data │ ├── index.ts │ ├── model-validation.ts │ └── test-models.ts ├── dsl-validation.test.ts ├── jest.config.js └── tsconfig.spec.json └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | src/parser/grammar.ts 3 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.fossa.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.fossa.yml -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATES/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.github/ISSUE_TEMPLATES/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATES/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.github/ISSUE_TEMPLATES/feature_request.md -------------------------------------------------------------------------------- /.github/SECURITY-INSIGHTS.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.github/SECURITY-INSIGHTS.yml -------------------------------------------------------------------------------- /.github/dependabot.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.github/dependabot.yaml -------------------------------------------------------------------------------- /.github/workflows/main.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.github/workflows/main.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.gitignore -------------------------------------------------------------------------------- /.npm-upgrade.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.npm-upgrade.json -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | tests/__snapshots__/* 2 | src/parser/grammar.ts 3 | *.ne -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/.prettierrc -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/LICENSE -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/NOTICE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/package.json -------------------------------------------------------------------------------- /src/constants/default-schema-version.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/constants/default-schema-version.ts -------------------------------------------------------------------------------- /src/constants/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/constants/index.ts -------------------------------------------------------------------------------- /src/constants/keyword.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/constants/keyword.ts -------------------------------------------------------------------------------- /src/constants/language-name.ts: -------------------------------------------------------------------------------- 1 | export const LANGUAGE_NAME = "dsl.openfga"; 2 | -------------------------------------------------------------------------------- /src/constants/schema-version.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/constants/schema-version.ts -------------------------------------------------------------------------------- /src/constants/single-indentation.ts: -------------------------------------------------------------------------------- 1 | export const SINGLE_INDENTATION = " "; 2 | -------------------------------------------------------------------------------- /src/documentation/concepts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/documentation/concepts.ts -------------------------------------------------------------------------------- /src/documentation/index.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/inner-utils/assert-never.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/inner-utils/assert-never.ts -------------------------------------------------------------------------------- /src/inner-utils/insecure-random-string.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/inner-utils/insecure-random-string.ts -------------------------------------------------------------------------------- /src/samples/custom-roles.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/samples/custom-roles.json -------------------------------------------------------------------------------- /src/samples/entitlements.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/samples/entitlements.json -------------------------------------------------------------------------------- /src/samples/expenses.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/samples/expenses.json -------------------------------------------------------------------------------- /src/samples/gdrive.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/samples/gdrive.json -------------------------------------------------------------------------------- /src/samples/generic.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/samples/generic.json -------------------------------------------------------------------------------- /src/samples/github.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/samples/github.json -------------------------------------------------------------------------------- /src/samples/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/samples/index.ts -------------------------------------------------------------------------------- /src/samples/iot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/samples/iot.json -------------------------------------------------------------------------------- /src/samples/slack.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/samples/slack.json -------------------------------------------------------------------------------- /src/theme/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/theme/index.ts -------------------------------------------------------------------------------- /src/theme/supported-themes/openfga-dark.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/theme/supported-themes/openfga-dark.ts -------------------------------------------------------------------------------- /src/theme/theme.typings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/theme/theme.typings.ts -------------------------------------------------------------------------------- /src/theme/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/theme/utils.ts -------------------------------------------------------------------------------- /src/tools/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/index.ts -------------------------------------------------------------------------------- /src/tools/monaco/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/monaco/index.ts -------------------------------------------------------------------------------- /src/tools/monaco/language-definition.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/monaco/language-definition.ts -------------------------------------------------------------------------------- /src/tools/monaco/providers/code-actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/monaco/providers/code-actions.ts -------------------------------------------------------------------------------- /src/tools/monaco/providers/completion.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/monaco/providers/completion.ts -------------------------------------------------------------------------------- /src/tools/monaco/providers/hover-actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/monaco/providers/hover-actions.ts -------------------------------------------------------------------------------- /src/tools/monaco/register-dsl.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/monaco/register-dsl.ts -------------------------------------------------------------------------------- /src/tools/monaco/theme.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/monaco/theme.ts -------------------------------------------------------------------------------- /src/tools/monaco/typings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/monaco/typings.ts -------------------------------------------------------------------------------- /src/tools/monaco/validate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/monaco/validate.ts -------------------------------------------------------------------------------- /src/tools/prism/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/prism/index.ts -------------------------------------------------------------------------------- /src/tools/prism/language-definition.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/tools/prism/language-definition.ts -------------------------------------------------------------------------------- /src/utilities/graphs/graph.typings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/utilities/graphs/graph.typings.ts -------------------------------------------------------------------------------- /src/utilities/graphs/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/utilities/graphs/index.ts -------------------------------------------------------------------------------- /src/utilities/graphs/model-graph.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/utilities/graphs/model-graph.ts -------------------------------------------------------------------------------- /src/utilities/graphs/related-users-graph.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/utilities/graphs/related-users-graph.ts -------------------------------------------------------------------------------- /src/validator/default-regex.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/validator/default-regex.ts -------------------------------------------------------------------------------- /src/validator/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/validator/index.ts -------------------------------------------------------------------------------- /src/validator/ulid-regex.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/src/validator/ulid-regex.ts -------------------------------------------------------------------------------- /tests/data/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/tests/data/index.ts -------------------------------------------------------------------------------- /tests/data/model-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/tests/data/model-validation.ts -------------------------------------------------------------------------------- /tests/data/test-models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/tests/data/test-models.ts -------------------------------------------------------------------------------- /tests/dsl-validation.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/tests/dsl-validation.test.ts -------------------------------------------------------------------------------- /tests/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/tests/jest.config.js -------------------------------------------------------------------------------- /tests/tsconfig.spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/tests/tsconfig.spec.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openfga/frontend-utils/HEAD/tsconfig.json --------------------------------------------------------------------------------