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

Use the embedded protocol from the Sass language repo #1966

Merged
merged 3 commits into from
May 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/util/initialize/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ runs:
- uses: bufbuild/buf-setup-action@v1.13.1
with: {github_token: "${{ inputs.github-token }}"}

- name: Check out embedded Sass protocol
- name: Check out the language repo
uses: sass/clone-linked-repo@v1
with: {repo: sass/embedded-protocol, path: build/embedded-protocol}
with: {repo: sass/sass, path: build/language}

- name: Generate Dart from protobuf
run: dart run grinder protobuf
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,15 +162,14 @@ jobs:
uses: sass/clone-linked-repo@v1
with: {repo: sass/embedded-host-node}

- name: Check out the JS API definition
- name: Check out the language repo
uses: sass/clone-linked-repo@v1
with: {repo: sass/sass, path: language}
with: {repo: sass/sass, path: build/language}

- name: Initialize embedded host
run: |
npm install
npm run init -- --protocol-path=../build/embedded-protocol \
--compiler-path=.. --api-path=../language
npm run init -- --compiler-path=.. --language-path=../build/language
npm run compile
mv {`pwd`/,dist/}lib/src/vendor/dart-sass
working-directory: embedded-host-node
Expand All @@ -185,7 +184,7 @@ jobs:
fi

- name: Run tests
run: npm run js-api-spec -- --sassPackage ../embedded-host-node --sassSassRepo ../language
run: npm run js-api-spec -- --sassPackage ../embedded-host-node --sassSassRepo ../build/language
working-directory: sass-spec

dart_tests:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ Dart Sass includes an implementation of the compiler side of the [Embedded Sass
protocol]. It's designed to be embedded in a host language, which then exposes
an API for users to invoke Sass and define custom functions and importers.

[Embedded Sass protocol]: https://github.com/sass/sass-embedded-protocol/blob/master/README.md#readme
[Embedded Sass protocol]: https://github.com/sass/sass/blob/main/spec/embedded-protocol.md

### Usage

Expand Down
2 changes: 1 addition & 1 deletion buf.work.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
version: v1
directories: [build/embedded-protocol]
directories: [build/language/spec]
10 changes: 6 additions & 4 deletions tool/grind.dart
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,16 @@ void main(List<String> args) {
"${pkg.githubReleaseNotes.defaultValue}";

pkg.environmentConstants.fn = () {
if (!Directory('build/embedded-protocol').existsSync()) {
if (!Directory('build/language').existsSync()) {
fail('Run `dart run grinder protobuf` before building Dart Sass '
'executables.');
}

return {
...pkg.environmentConstants.defaultValue,
"protocol-version":
File('build/embedded-protocol/VERSION').readAsStringSync().trim(),
"protocol-version": File('build/language/spec/EMBEDDED_PROTOCOL_VERSION')
.readAsStringSync()
.trim(),
"compiler-version": pkg.pubspec.version!.toString(),
};
};
Expand Down Expand Up @@ -202,7 +203,8 @@ dart run protoc_plugin "\$@"
}

if (Platform.environment['UPDATE_SASS_PROTOCOL'] != 'false') {
cloneOrCheckout("https://github.com/sass/embedded-protocol.git", "main");
cloneOrCheckout("https://github.com/sass/sass.git", "main",
name: 'language');
}

await runAsync("buf",
Expand Down