Home / Function/ test_allow_explicit_node_modules_paths() — tailwindcss Function Reference

test_allow_explicit_node_modules_paths() — tailwindcss Function Reference

Architecture documentation for the test_allow_explicit_node_modules_paths() function in scanner.rs from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  30679ada_5092_6c1d_832b_7797b344dda9["test_allow_explicit_node_modules_paths()"]
  96c928f4_eee8_bcbc_0339_e2dce4b2d810["create_files_in()"]
  30679ada_5092_6c1d_832b_7797b344dda9 -->|calls| 96c928f4_eee8_bcbc_0339_e2dce4b2d810
  257cbf08_9e94_64b3_97f2_0416460fab35["public_source_entry_from_pattern()"]
  30679ada_5092_6c1d_832b_7797b344dda9 -->|calls| 257cbf08_9e94_64b3_97f2_0416460fab35
  1581ed51_04e1_62c1_6e26_ea43cf82d5f9["scan()"]
  30679ada_5092_6c1d_832b_7797b344dda9 -->|calls| 1581ed51_04e1_62c1_6e26_ea43cf82d5f9
  style 30679ada_5092_6c1d_832b_7797b344dda9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

crates/oxide/tests/scanner.rs lines 1416–1475

    fn test_allow_explicit_node_modules_paths() {
        // Create a temporary working directory
        let dir = tempdir().unwrap().into_path();

        // Create files
        create_files_in(
            &dir,
            &[
                // Current project
                ("src/index.html", "content-['src/index.html']"),
                // Ignore file
                (".gitignore", "node_modules"),
                // Library ignored by default
                (
                    "node_modules/my-ui-lib/index.html",
                    "content-['node_modules/my-ui-lib/index.html']",
                ),
            ],
        );

        // Default auto source detection
        let sources = vec![public_source_entry_from_pattern(
            dir.clone(),
            "@source './'",
        )];

        let mut scanner = Scanner::new(sources.clone());

        let candidates = scanner.scan();
        assert_eq!(candidates, vec!["content-['src/index.html']"]);

        // Explicitly listing all `*.html` files, should not include `node_modules` because it's
        // ignored
        let sources = vec![public_source_entry_from_pattern(
            dir.clone(),
            "@source '**/*.html'",
        )];

        let mut scanner = Scanner::new(sources.clone());
        let candidates = scanner.scan();
        assert_eq!(candidates, vec!["content-['src/index.html']"]);

        // Explicitly listing all `*.html` files
        // Explicitly list the `node_modules/my-ui-lib`
        //
        let sources = vec![
            public_source_entry_from_pattern(dir.clone(), "@source '**/*.html'"),
            public_source_entry_from_pattern(dir.clone(), "@source 'node_modules/my-ui-lib'"),
        ];

        let mut scanner = Scanner::new(sources.clone());
        let candidates = scanner.scan();
        assert_eq!(
            candidates,
            vec![
                "content-['node_modules/my-ui-lib/index.html']",
                "content-['src/index.html']"
            ]
        );
    }

Domain

Subdomains

Frequently Asked Questions

What does test_allow_explicit_node_modules_paths() do?
test_allow_explicit_node_modules_paths() is a function in the tailwindcss codebase.
What does test_allow_explicit_node_modules_paths() call?
test_allow_explicit_node_modules_paths() calls 3 function(s): create_files_in, public_source_entry_from_pattern, scan.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free