Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: atlassian-labs/compiled
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: @compiled/react@0.16.10
Choose a base ref
...
head repository: atlassian-labs/compiled
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: @compiled/react@0.17.0
Choose a head ref
  • 7 commits
  • 57 files changed
  • 5 contributors

Commits on Mar 6, 2024

  1. Fix source map behaviour in Parcel and move node_modules compiled ext…

    …raction to new parcel transformer (#1631)
    
    * Move node_modules compiled extraction to new parcel transformer
    
    * Add changeset
    
    * Remove polyfill from test snapshot
    
    * Update syntax to remove sketchy null checks
    
    * Update readme
    JakeLane authored Mar 6, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    0666530 View commit details
  2. Version Packages (#1638)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
    atlas-dst-bot and github-actions[bot] authored Mar 6, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    0ae6052 View commit details
  3. Refactor strict API types (#1636)

    * chore: refactor strict types
    
    * fix: resolve type errors
    
    * chore: refactor xcss prop types to use apply schema type
    
    * fix: fix type errors
    
    * fix: style types
    
    * chore: revert
    
    * chore: document types
    
    * chore: changeset
    
    * fix: compiled styles allowing passing invalid styles
    
    * fix: too many unions
    
    * fix: type error with css func and xss prop
    
    * fix: type violation
    
    * chore: fix test
    
    * chore: add extra tests
    
    * chore: resolve code review comments
    
    * chore: update test file
    itsdouges authored Mar 6, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    5701b91 View commit details
  4. Fix inference of complex properties in cssMap (#1640)

    * Fix type inferrence on `background` and other complex types.
    
    Fixes #1639
    
    * chore: changeset
    
    * chore: update tests now that these aren't errors!
    kylorhall-atlassian authored Mar 6, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    20528e9 View commit details

Commits on Mar 10, 2024

  1. Add media query typing to XCSS prop / createStrictAPI (#1634)

    * feat: support top-level media queries
    
    * chore: changeset
    
    * feat: add media query support
    
    * chore: test loose api
    
    * fix: type union exhaustion
    
    * fix: remove required pseudo inside media query
    
    * chore: fix tests
    
    * fix: flatten only objects that are exact matches
    
    * chore: remove required props from media queries
    
    * chore: add test
    
    * chore: add tests
    
    * chore: remove unused
    
    * chore: correct comment
    
    * fix: block all loose media queries from the strict api
    
    * chore: fix test
    
    * chore: move to object
    itsdouges authored Mar 10, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    4b2e5ee View commit details
  2. Remove required pseudo from XCSS prop (#1643)

    * chore: remove required pseudos
    
    * chore: changeset
    
    * chore: fix test
    itsdouges authored Mar 10, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    39d9a02 View commit details

Commits on Mar 11, 2024

  1. Version Packages (#1641)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
    atlas-dst-bot and github-actions[bot] authored Mar 11, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    cf43d66 View commit details
Showing with 1,390 additions and 235 deletions.
  1. +2 −0 examples/parcel/.parcelrc
  2. +1 −0 examples/parcel/package.json
  3. +10 −0 fixtures/parcel-optimizer-test-app/CHANGELOG.md
  4. +2 −2 fixtures/parcel-optimizer-test-app/package.json
  5. +5 −1 fixtures/parcel-transformer-test-app/.parcelrc
  6. +10 −0 fixtures/parcel-transformer-test-app/CHANGELOG.md
  7. +2 −2 fixtures/parcel-transformer-test-app/package.json
  8. +8 −2 fixtures/parcel-transformer-test-app/src/index.jsx
  9. +9 −2 fixtures/parcel-transformer-test-compress-class-name-app/.parcelrc
  10. +10 −0 fixtures/parcel-transformer-test-compress-class-name-app/CHANGELOG.md
  11. +3 −2 fixtures/parcel-transformer-test-compress-class-name-app/package.json
  12. +5 −1 fixtures/parcel-transformer-test-custom-resolve-app/.parcelrc
  13. +10 −0 fixtures/parcel-transformer-test-custom-resolve-app/CHANGELOG.md
  14. +3 −2 fixtures/parcel-transformer-test-custom-resolve-app/package.json
  15. +10 −0 fixtures/parcel-transformer-test-custom-resolver-app/CHANGELOG.md
  16. +2 −2 fixtures/parcel-transformer-test-custom-resolver-app/package.json
  17. +9 −2 fixtures/parcel-transformer-test-extract-app/.parcelrc
  18. +10 −0 fixtures/parcel-transformer-test-extract-app/CHANGELOG.md
  19. +3 −2 fixtures/parcel-transformer-test-extract-app/package.json
  20. +1 −1 package.json
  21. +6 −0 packages/babel-plugin/CHANGELOG.md
  22. +1 −1 packages/babel-plugin/package.json
  23. +3 −2 packages/babel-plugin/src/css-map/process-selectors.ts
  24. +26 −2 packages/babel-plugin/src/utils/css-map.ts
  25. +12 −0 packages/parcel-config/CHANGELOG.md
  26. +5 −1 packages/parcel-config/config.json
  27. +3 −2 packages/parcel-config/package.json
  28. +7 −0 packages/parcel-transformer-external/CHANGELOG.md
  29. +19 −0 packages/parcel-transformer-external/README.md
  30. +34 −0 packages/parcel-transformer-external/package.json
  31. +89 −0 packages/parcel-transformer-external/src/__tests__/transformer.parceltest.ts
  32. +74 −0 packages/parcel-transformer-external/src/index.ts
  33. +10 −0 packages/parcel-transformer-external/tsconfig.json
  34. +6 −0 packages/parcel-transformer/CHANGELOG.md
  35. +4 −2 packages/parcel-transformer/package.json
  36. +72 −8 packages/parcel-transformer/src/__tests__/transformer.parceltest.ts
  37. +47 −39 packages/parcel-transformer/src/index.ts
  38. +75 −0 packages/react/CHANGELOG.md
  39. +1 −1 packages/react/package.json
  40. +6 −6 packages/react/src/create-strict-api/__tests__/__fixtures__/strict-api-recursive.ts
  41. +14 −3 packages/react/src/create-strict-api/__tests__/__fixtures__/strict-api.ts
  42. +49 −0 packages/react/src/create-strict-api/__tests__/css-func.test.tsx
  43. +26 −5 packages/react/src/create-strict-api/__tests__/generics.test.tsx
  44. +198 −32 packages/react/src/create-strict-api/__tests__/index.test.tsx
  45. +41 −34 packages/react/src/create-strict-api/index.ts
  46. +69 −0 packages/react/src/create-strict-api/types.ts
  47. +20 −2 packages/react/src/css-map/index.ts
  48. +2 −0 packages/react/src/css/index.ts
  49. +14 −10 packages/react/src/types.ts
  50. +179 −0 packages/react/src/xcss-prop/__tests__/media-query-strict.test.tsx
  51. +53 −0 packages/react/src/xcss-prop/__tests__/media-query.test.tsx
  52. +3 −34 packages/react/src/xcss-prop/__tests__/xcss-prop.test.tsx
  53. +47 −28 packages/react/src/xcss-prop/index.ts
  54. +1 −0 packages/tsconfig.json
  55. +2 −2 packages/webpack-loader/package.json
  56. +3 −0 tsconfig.paths.json
  57. +54 −0 yarn.lock
2 changes: 2 additions & 0 deletions examples/parcel/.parcelrc
Original file line number Diff line number Diff line change
@@ -6,11 +6,13 @@
"transformers": {
"*.{js,mjs,jsx,cjs,ts,tsx}": [
// Manually remove the babel transformer so we don't use the root babel config
"@compiled/parcel-transformer-external",
"@compiled/parcel-transformer",
"@parcel/transformer-js",
"@parcel/transformer-react-refresh-wrap"
],
"*.customjsx": [
"@compiled/parcel-transformer-external",
"@compiled/parcel-transformer",
"@parcel/transformer-js",
"@parcel/transformer-react-refresh-wrap",
1 change: 1 addition & 0 deletions examples/parcel/package.json
Original file line number Diff line number Diff line change
@@ -17,6 +17,7 @@
"@babel/plugin-proposal-decorators": "^7.22.15",
"@compiled/parcel-config": "*",
"@compiled/parcel-transformer": "*",
"@compiled/parcel-transformer-external": "*",
"@parcel/config-default": "^2.8.3",
"@parcel/optimizer-htmlnano": "^2.8.3",
"@parcel/packager-html": "^2.8.3",
10 changes: 10 additions & 0 deletions fixtures/parcel-optimizer-test-app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @compiled/parcel-optimizer-test-app

## 0.1.5

### Patch Changes

- Updated dependencies [4b2e5eeb]
- Updated dependencies [39d9a02c]
- Updated dependencies [20528e91]
- Updated dependencies [5701b914]
- @compiled/react@0.17.0

## 0.1.4

### Patch Changes
4 changes: 2 additions & 2 deletions fixtures/parcel-optimizer-test-app/package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "@compiled/parcel-optimizer-test-app",
"version": "0.1.4",
"version": "0.1.5",
"private": true,
"dependencies": {
"@compiled/react": "^0.16.0",
"@compiled/react": "^0.17.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
6 changes: 5 additions & 1 deletion fixtures/parcel-transformer-test-app/.parcelrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
{
"extends": "@parcel/config-default",
"transformers": {
"*.{js,jsx}": ["@compiled/parcel-transformer", "..."]
"*.{js,jsx}": [
"@compiled/parcel-transformer-external",
"@compiled/parcel-transformer",
"..."
]
}
}
10 changes: 10 additions & 0 deletions fixtures/parcel-transformer-test-app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @compiled/parcel-transformer-test-app

## 0.1.5

### Patch Changes

- Updated dependencies [4b2e5eeb]
- Updated dependencies [39d9a02c]
- Updated dependencies [20528e91]
- Updated dependencies [5701b914]
- @compiled/react@0.17.0

## 0.1.4

### Patch Changes
4 changes: 2 additions & 2 deletions fixtures/parcel-transformer-test-app/package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "@compiled/parcel-transformer-test-app",
"version": "0.1.4",
"version": "0.1.5",
"private": true,
"dependencies": {
"@compiled/react": "^0.16.0",
"@compiled/react": "^0.17.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
10 changes: 8 additions & 2 deletions fixtures/parcel-transformer-test-app/src/index.jsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
import '@compiled/react';
console.log('File START');

import { css } from '@compiled/react';

const styles = css({ backgroundColor: 'green' });

const App = () => (
<>
<div css={{ fontSize: 50, color: 'red' }}>hello from parcel</div>
<div css={[{ fontSize: 50, color: 'red' }, styles]}>hello from parcel</div>
</>
);

console.log('File END');
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
{
"extends": "@parcel/config-default",
"transformers": {
"*.{js,jsx}": ["@compiled/parcel-transformer", "..."]
"*.{js,jsx}": [
"@compiled/parcel-transformer-external",
"@compiled/parcel-transformer",
"..."
]
},
"optimizers": {
"*.html": ["@compiled/parcel-optimizer", "..."]
"*.html": [
"@compiled/parcel-optimizer",
"..."
]
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @compiled/parcel-transformer-test-compress-class-name-app

## 0.2.4

### Patch Changes

- Updated dependencies [4b2e5eeb]
- Updated dependencies [39d9a02c]
- Updated dependencies [20528e91]
- Updated dependencies [5701b914]
- @compiled/react@0.17.0

## 0.2.3

### Patch Changes
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
{
"name": "@compiled/parcel-transformer-test-compress-class-name-app",
"version": "0.2.3",
"version": "0.2.4",
"private": true,
"dependencies": {
"@compiled/react": "^0.16.0",
"@compiled/react": "^0.17.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
"@compiled/parcel-transformer": "*",
"@compiled/parcel-transformer-external": "*",
"@parcel/config-default": "^2.8.3"
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
{
"extends": "@parcel/config-default",
"transformers": {
"*.{js,jsx}": ["@compiled/parcel-transformer", "..."]
"*.{js,jsx}": [
"@compiled/parcel-transformer-external",
"@compiled/parcel-transformer",
"..."
]
}
}
10 changes: 10 additions & 0 deletions fixtures/parcel-transformer-test-custom-resolve-app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @compiled/parcel-transformer-test-custom-resolve-app

## 0.1.6

### Patch Changes

- Updated dependencies [4b2e5eeb]
- Updated dependencies [39d9a02c]
- Updated dependencies [20528e91]
- Updated dependencies [5701b914]
- @compiled/react@0.17.0

## 0.1.5

### Patch Changes
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
{
"name": "@compiled/parcel-transformer-test-custom-resolve-app",
"version": "0.1.5",
"version": "0.1.6",
"private": true,
"dependencies": {
"@compiled/react": "^0.16.0",
"@compiled/react": "^0.17.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
"@compiled/parcel-transformer": "*",
"@compiled/parcel-transformer-external": "*",
"@parcel/config-default": "^2.8.3"
}
}
10 changes: 10 additions & 0 deletions fixtures/parcel-transformer-test-custom-resolver-app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @compiled/parcel-transformer-test-custom-resolver-app

## 0.1.2

### Patch Changes

- Updated dependencies [4b2e5eeb]
- Updated dependencies [39d9a02c]
- Updated dependencies [20528e91]
- Updated dependencies [5701b914]
- @compiled/react@0.17.0

## 0.1.1

### Patch Changes
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "@compiled/parcel-transformer-test-custom-resolver-app",
"version": "0.1.1",
"version": "0.1.2",
"private": true,
"dependencies": {
"@compiled/react": "^0.16.0",
"@compiled/react": "^0.17.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
11 changes: 9 additions & 2 deletions fixtures/parcel-transformer-test-extract-app/.parcelrc
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
{
"extends": "@parcel/config-default",
"transformers": {
"*.{js,jsx}": ["@compiled/parcel-transformer", "..."]
"*.{js,jsx}": [
"@compiled/parcel-transformer-external",
"@compiled/parcel-transformer",
"..."
]
},
"optimizers": {
"*.html": ["@compiled/parcel-optimizer", "..."]
"*.html": [
"@compiled/parcel-optimizer",
"..."
]
}
}
10 changes: 10 additions & 0 deletions fixtures/parcel-transformer-test-extract-app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @compiled/parcel-transformer-test-extract-app

## 0.1.5

### Patch Changes

- Updated dependencies [4b2e5eeb]
- Updated dependencies [39d9a02c]
- Updated dependencies [20528e91]
- Updated dependencies [5701b914]
- @compiled/react@0.17.0

## 0.1.4

### Patch Changes
5 changes: 3 additions & 2 deletions fixtures/parcel-transformer-test-extract-app/package.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
{
"name": "@compiled/parcel-transformer-test-extract-app",
"version": "0.1.4",
"version": "0.1.5",
"private": true,
"dependencies": {
"@compiled/react": "^0.16.0",
"@compiled/react": "^0.17.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
"@compiled/babel-component-extracted-fixture": "*",
"@compiled/babel-component-fixture": "*",
"@compiled/parcel-transformer": "*",
"@compiled/parcel-transformer-external": "*",
"@parcel/config-default": "^2.8.3"
}
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -45,7 +45,7 @@
"test": "jest --no-cache",
"test:cover": "yarn test --collectCoverage",
"test:imports": "node test/test-imports",
"test:parcel": "jest --testMatch '**/src/**/*.parceltest.{ts,tsx}'",
"test:parcel": "jest --testMatch '**/src/**/*.parceltest.{ts,tsx}' --testEnvironment=node",
"test:vr": "yarn loki --host host.docker.internal",
"test:watch": "jest --no-cache --watch"
},
6 changes: 6 additions & 0 deletions packages/babel-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @compiled/babel-plugin

## 0.28.4

### Patch Changes

- 4b2e5eeb: The CSS map transform now allows top level at rules to be defined.

## 0.28.3

### Patch Changes
2 changes: 1 addition & 1 deletion packages/babel-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@compiled/babel-plugin",
"version": "0.28.3",
"version": "0.28.4",
"description": "A familiar and performant compile time CSS-in-JS library for React.",
"homepage": "https://compiledcssinjs.com/docs/pkg-babel-plugin",
"bugs": "https://github.com/atlassian-labs/compiled/issues/new?assignees=&labels=bug&template=bug_report.md",
5 changes: 3 additions & 2 deletions packages/babel-plugin/src/css-map/process-selectors.ts
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ import {
errorIfNotValidObjectProperty,
getKeyValue,
hasExtendedSelectorsKey as propertyHasExtendedSelectorsKey,
isAtRule,
isAtRuleObject,
objectKeyIsLiteralValue,
isPlainSelector,
} from '../utils/css-map';
@@ -150,7 +150,7 @@ export const mergeExtendedSelectorsIntoProperties = (
// variable, so we can skip it now
if (propertyHasExtendedSelectorsKey(property)) continue;

if (isAtRule(propertyKey)) {
if (isAtRuleObject(propertyKey)) {
const atRuleType = getKeyValue(propertyKey);
const atRules = collapseAtRule(property, atRuleType, meta);

@@ -162,6 +162,7 @@ export const mergeExtendedSelectorsIntoProperties = (
meta.parentPath
);
}

mergedProperties.push(atRuleValue);
addedSelectors.add(atRuleName);
}
28 changes: 26 additions & 2 deletions packages/babel-plugin/src/utils/css-map.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,30 @@
import * as t from '@babel/types';
import type { AtRules } from 'csstype';

import type { Metadata } from '../types';
import { buildCodeFrameError } from '../utils/ast';

export const EXTENDED_SELECTORS_KEY = 'selectors';

const atRules: Record<AtRules, boolean> = {
'@charset': true,
'@counter-style': true,
'@document': true,
'@font-face': true,
'@font-feature-values': true,
'@font-palette-values': true,
'@import': true,
'@keyframes': true,
'@layer': true,
'@media': true,
'@namespace': true,
'@page': true,
'@property': true,
'@scroll-timeline': true,
'@supports': true,
'@viewport': true,
};

type ObjectKeyWithLiteralValue = t.Identifier | t.StringLiteral;

export const objectKeyIsLiteralValue = (
@@ -17,8 +37,12 @@ export const getKeyValue = (key: ObjectKeyWithLiteralValue): string => {
throw new Error(`Expected an identifier or a string literal, got type ${(key as any).type}`);
};

export const isAtRule = (key: ObjectKeyWithLiteralValue): key is ObjectKeyWithLiteralValue =>
getKeyValue(key).startsWith('@');
export const isAtRuleObject = (
key: ObjectKeyWithLiteralValue
): key is ObjectKeyWithLiteralValue => {
const keyValue = getKeyValue(key);
return keyValue in atRules;
};

export const isPlainSelector = (selector: string): boolean => selector.startsWith(':');

Loading